Font Size: a A A

Research And Realization Of A Model Execution Approach Based On MOF

Posted on:2009-01-16Degree:MasterType:Thesis
Country:ChinaCandidate:T C GengFull Text:PDF
GTID:2178360242480847Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
With the increase of software function requirements, the complexity, diversity and volatility of software, which usually come from the ever-changing external factors, have become developer's nightmare simultaneously. The key to solve these problems is how to identify the nature from the changing factors, such as the emergence of new technology, the growing number of user's needs and the increasing interaction between systems. Therefore, the concept of model that is the higher abstract level is established. In order to obtain various system models, software designers devote themselves to modeling activities. However, when these abstract system models are handed out to the developers, they just put them aside after serious discussion. Consequently,model becomes the criterion during the process of development, but to generate executable codes is the ultimate aim of software development, which is the most core of the model application at the same time. Anyway, it makes an urgent need to seek solutions for generating executable codes through models, as well as making model executable.Model Driven Architecture (MDA), proposed by OMG to solve these problems, aims to improve the status of model in software development. In this way, developers can concentrate on the design and reuse of model rather than codes. MDA divides software system into two models: Platform Independent Model (PIM) and Platform Specific Model (PSM). They act as a whole via several transform rules, through which the problems from requirements changing can be solved. There are a series of technique criteria defined in MDA. Especially, Meta Object Facility (MOF) is the basic standard to other model language.The central theme of the MOF approach to metadata management is extensibility, which aims to provide a framework that supports any kind of metadata, and allows new kinds to be added as required. In order to achieve this, the MOF layer the metadata and define several basic modeling components, which forms an open layered architecture. Thus through inheritance and instantiation mechanism, it can construct more abundant modeling components that support both design and development in various areas. The layered metadata structure of the MOF provides a solid foundation for the theory of two-stage modeling. From the viewpoint of MOF layer, the two-stage modeling, which is metamodeling and modeling, guarantees both generality and domanial accuracy. Especially, metamodeling constructs metamodels between M2 and M1 layer, as well as modeling constructs models between M1 and M0.By means of modifying the existing UML metamodel or model, Executable UML defines precise semantics so as to support model execution mechanism. There are three manners to realize that, one of which is to design an executable modeling language that formalizes a metamodel and then establishes an executable model that has behavior character.Therefore, this paper designs an executable modeling language, namely xKL and uses it to describe the process of two-stage modeling. The xKL language is based on MOF. Originally, MOF was proposed by OMG to define other modeling languages, so as to guarantee the unification of modeling languages in the highest level. MOF provides a complete set of components, including Class, Association, Aggregation, Reference, DataType, Package, Constraint and Consistency. They can be used to establish not only the abstract syntax of general modeling language, but also the MOF model itself, which is the self-describing nature of the MOF model. Although the self-describing nature proves the ability of modeling language definition, the MOF model language is not executable because it does not define the specific executable semantics. Especially, the ability of MOF to define modeling language only remains on the level of structure definition. Hereby, this paper uses the MOF modeling components to only establish the structure of the xKL abstract syntax, namely structure metamodel.OCL is the acronym for the Object Constraint Language. It is a normative language that defines the formal constraints in the context of UML model, such as constructing constraint expressions, monitoring condition, pre-conditions and post-conditions of operations, assertions and other UML expressions. OCL has characteristics of programming language on abstract syntax. For instance, it has branch structure of conditions, cyclic structure, variable declaration, characteristics call, type expressions, and collection manipulating expressions etc. As a result, it has the ability of constraint modeling as well as the basis of executable abstract syntax. For that reason the abstract syntax of OCL in this paper is used to establish the behavior part of the xKL abstract syntax, namely behavior metamodel.OCL concrete syntax is similar to the one in object-oriented programming language: most expressions can be read from left to right; the left of an expression is usually the information receiver; providing variables and operations which can be used to make up expressions in various ways; accessing the object attributes; traversing, manipulating and calling the object connected by association. These features are grammar bases of executable language and modeling language. As a result, the concrete syntax of xKL introduces the OCL style grammar so as to inherit the features above. XKL realized the semantics in java through semantic translation that is to translate the semantics of new definition language into the one of target language.Through the research on the model execution approach, this paper designs an executable modeling language, including both its syntax and semantics. To xKL-based modeling tool, it can construct executable models whose operations can be executed and constraints can be validated during the two-stage modeling, which not only improves the correctness and accuracy of models, but also improves the efficiency of software development and which is of great benefit to the software design. In conclusion, this study enriches the model execution theory as well as drives the applied research on the model execution, and it is of some practical value.
Keywords/Search Tags:Realization
PDF Full Text Request
Related items