Font Size: a A A

Research On The Key Technology Of Executable Metamodel

Posted on:2007-08-06Degree:DoctorType:Dissertation
Country:ChinaCandidate:Q G LanFull Text:PDF
GTID:1118360182997120Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
Nowadays software engineers must be faced with complexity, diversity and changeduring software development. MDA proposed by OMG aims at these difficult problems.Complexity can be contend with abstracting the real world problem and then constructingcorresponding problem domain models, since these models were expressed in a modelinglanguage which is independent of implementation details, diversity can be handled bytransforming these platform independent models into platform specific model using modeltransformation tools. Change, such as the change of system requirement and implementationtechnology, will be manged or reduced by modifying model and (or) configuring relevantmodel transform tools. Different model language are needed according to different domains,and constructing a one-size-fits-all model is impossible. The executable metamodel can beused to specify models of different requirements and define them in a unified way. All of themodel languages in existence are poor in semantics, and thus all relevant applications, such asmodel transformation, cannot be specified precisely with them. The executable metamodel is asemantically rich model language, so other models extended from it also obtain the precise andperformable semantics. The executable application model can be validated, tested, emulatedbefore it is realized. The executable ability of model is elementary for model transformationapplication and other relevant application.The research on the key technology of executable metamodel, based on OMG's MOF,introduce the language engineering method to study the key technology for execution,furthermore, based on the result, study the relative technology to specify metamodel'smodeling facility which specifies other executable model. Executable metamodel adoptmodeling language design pattern to design. This pattern includes two relationships to twomutual exclusive parts. One is modeling abstract syntax and surface syntax respectively, Theother is modeling abstract syntax model and semantic domain model repecitively from relativeconcepte of model and instance. Then, with the mapping of concepts between abstract syntaxand semantic domain, the semantics of model language are devised. The method, adoptingmodel language to devise model and specifying model language semantics, which is based thefact, that the explaining and being explained relationship in model level and instance levelrepectively, can be used to specify any abstract level model semantics.Compared with the concrete expression of notion (surface syntax), abstract syntaxemphasizes the abstract expression of notion, does not concern what is presented to the usersor the meaning of the components. Abstract syntax of executable metamodel mainly specifiesthe concepts of executable metamodel and well-formed relationship between the concepts.EMOF (Essential MOF model) only provides the abstract syntax model element of specifyingstatic concept of language. In this article, EMOF is extended by adding new types of concept,expression, primitive behavior, compound behavior, link behavior, message and exceptionextension, and thus constructs the most refined executable core (meta-kernel model language)is constructed. From the extension of this meta-kernel model language, many other usefullanguages can be constructed, such as the meta-constraint language which is used to restrictthe favorable relationship of abstract syntax model, meta-grammar language that can specifyany model language grammars, and the meta-diagram language, used to specify other modellanguage diagrammatic syntax.Surface syntax specifies the symbol of modeling language. The common-used surfacesyntax of a modeling language includes textual surface syntax and diagrammatic surfacesyntax. Executable metamodel provides both the textual surface syntax and the diagrammaticsurface syntax, and with the text description of diagrammatic syntax, unifies the textualsurface syntax and diagrammatic surface syntax. The extended BNF grammar is used inexecutable metamodel to specify its text syntax rules. This extended BNF is named asmeta-grammar language. With the synthesis of concept instances of abstract syntax model, itcan build the mapping relationship between surface syntax and abstract syntax, which enablesthe concept of abstract syntax modeling to be conveniently used in surface syntax and increasethe efficiency of adopting model language surface syntax for different domain experts. For thepurpose of improve the efficiency of build the language grammar, in the article, a quasi-quotemechanism is studied which is used to retrieve their abstract syntax corresponding the existingtextual syntax. With the quasi-quote mechanism, the abstract syntax of text syntax elementwhich has been built by the system can be reused to construct new syntax element. No matterconstructing the abstract syntax straightly or with the help of quasi-quote mechanism, theoriginal text syntax is not retained that lead to the result that the text syntax is lost, and thedetails of the original syntax is often used when the reverse transformation from abstractsyntax to text syntax is done, especially when debugging a model. Syntax sugar supports this.New syntax element can be constructed by transform to existing element with the syntax sugar.The desugar operation performs to create an instance of a new syntax category when thematamodel is computing or compiling on the instance. By leaving the desugaring step to thelast possible moment, the structure of the original syntax construct is retained as long aspossible. The diagrammatic syntax of executable modeling language is achieved fromextending the diagram exchang metamodel for UML (DIU), which shows the abstractexpression of UML diagrammatic syntax. The diagrammatic syntax' construction is dynamicand incrementally process, so is the interpretion from diagrammatic syntax to abstract syntax.This process is different from textual syntax interpretation process. The diagrammatic syntaxcannot be interpretted in batch. The dynamic and incrementally interpretation of diagrammaticsyntax may be solved using observer pattern in practice, but it lead to high coupling betweendiagrammatic syntax and abstract syntax. In this article the problem is solved the problem inmapping way.The semantics of executable metamodel is specified by establishing the mapping betweenthe concept of abstract syntax model and the abstract semantics domain, which is similar to thedenotational semantics. The root element of abstract syntax in executable metamodel inheritsthe ability of abstract the concept "object" in abstract semantics domain by reflection, whichmakes the executable metamodel obtain the self-described ability. The virtual machine ofexecutable metamodel expresses the concept of abstract semantic domain in meta-kernelmodel language in the form of the instruction of virtual machine, the executable semantics ofexecutable metamodel in the form of abstract state-machine. Executable metamodel can beused to construct other modeling language. In this article, the metamodeling approach of otheroften-used formal semantics such as denotational semantics, translational semantics,operational semantics and extensional semantics is also introduced. With these methods, wecan build other modeling language from extending the executable metamodel. The chosen ofdifferent kinds of semantics metamodeling approachs depends on the type of modelinglanguage defined. Denotational semantics is suitable for a declarative and non-executabledescription. If a language has concepts that need to be evaluated, executed or instantiated thenthey should be modelled using an operational, translational or extensional approach. Atranslational approach can be used if a concept is a form of syntax sugar of more primitiveconcepts apparently;an extensional approach can be used if the concept need reserving andexisting concept may be reused;an operational approach can be used to build an interpreter ifthere is no means to reuse existing concept easily.Through the research on modeling language design pattern, abstract syntax, surfacesyntax, and semantics of the executable metamodel, we develop a metamodel language systemthat is used to validate the executable model language. The system bootstraps itself by the bootfile written by the executable model language and initializes performable environment of itsvirtual machine. This performable environment gives meta-kernel language, meta-constraintlanguage, meta-grammar language and meta-diagram language based on Java swing. It hasbeen proved in practice that the executable metamodel enable modeler to construct modellanguages for different domain in a highly efficient way and these model languages can beexecuted in a virtual way, used for validation and used for simulating an concrete application.Moreover, the model transformation language, which can be used transform platformindependent model into platform specific model, can be constructed based on the executablemetamodel.In conclusion, the achievement of this dissertation enrichs the executable metamodeltheory and makes the applied research on the executable metamodel theory progress. It is ofgreat theory significance and practice value. It provides effective methods and means for theresearch on the executable metamodel and its integration development environment.
Keywords/Search Tags:Technology
PDF Full Text Request
Related items