Font Size: a A A

Research And Implementation Of GMT An Aspect Oriented Domain Modeling Tool

Posted on:2006-11-25Degree:MasterType:Thesis
Country:ChinaCandidate:S C PangFull Text:PDF
GTID:2168360155453100Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
1, BackgroundNew programming languages and progress methods springs out today. Various languages, platforms, methodologies provides unstinted chance of choices, it brings forward new challenges at the same time. How to adapt software to the new languages and methodologies springs out latest and how to transplant old version software to the new language and platform at low price is the target we pursue. MDA, Model Driven Architecture, an software architecture applied by Object Management Group (OMG) provide solution.MDA is an software development architecture defined by OMG. The key of MDA is that model play an important role in the development of software. Platform independent model(PIM) and platform specific model(PSM) are defined in MDA. PIM is a view of the function of software and is not concerned about details of implementation. PSM is a view of implementation and is a description of the software by a specific development language and platform language. The transformation from PIM to PSM and from PSM the code can automatically archive by customizable transform tool. Since only PIM is handworked, efficiency of development will be enhanced remarkably. Since PSM and code can be produced automatically, the software can be transplanted to other platform easily which reduce impact of the coming up of new language and platform.For producing PSM from PIM, PIM must be complete, consistent and univocal. Constructing PIM by normal UML does not works because the advantage of normal UML is to model the structure of the system and the disadvantage is to model the action feature of the system. Although a series of Diagram are provided in UML, it still unable to support producing PSM automatically since the diagrams is not formal and not complete. ExecutableUML(eUML) is defined as the composition of normal UML and UML action semantics called AS. This method describing complete action by state machine, is useful only in some specific domain and is cockamamie to define all action by state machine .To define PIM by the composition of UML and object constraint language(OCL) is the best way of all. On the one hand we can make use of the advantage of UML to define the structure of system, on the other hand we can define query operations completely by OCL expression. OCL can express business rules.To develop a modeling tool to define PIM using the composition of UML and OCL is naturally our target. We absorb the thought of domain engineering and aspect orient programming (AOP). Domain engineering enlarge our viewport from single software product to product family. AOP enable us to modularize the crosscutting concerns such as logging, security, transaction and synchronization. We hope that part of the model which is in more abstract layer can be applied to the whole product family to enhance reuse. We hope the model constructed in our tool embody the thought of AOP such that we can catch crosscutting concerns in the early phrase of the life cycle of the software. 2> Modeling theories(1) MOF and two stages modelingMeta object facility(MOF) a special language of OMG is used to define other language. Meta model of UML is defined by MOF. Models in M2 layer which is more abstract can be applied to the whole produce family or domain. Models in Ml layer which is more concrete can only be applied to a single system. Both of them compose a complete model. The structure of meta data enlighten us to adopt two stages of modeling. Meta model is firstly constructed by meta-meta model, then model is constructed by meta model.(2) UML profileUML profile is an standard extension mechanism of UML. UML profileallow metaclasses from existing metamodels to be extended to adapt them for different purposes. This includes the ability to tailor the UML metamodel for different platforms(such as J2EE or .NET) or domains(such as real-time or business process modeling). We can also add language constructs and constraints into meta model to support specific feature such as AOP. 3 > The keys of implementation(1) implementation of two stages modelingWe construct meta model and model separately in two stages modeling. We store meta-meta language and meta language in .XML file and meta model and model in database. Meta model is described by meta-meta language and model is described by meta language. Meta model is interpreted into meta language which is in the same layer as meta model.Relation of interpreting is a kind of instantiation which is implemented by the similar structure of model and language which describe the model. Model will also fulfill the constraint in language.(2) extension of UMLTo add AOP feature to the meta model, the standard extension mechanism of UML is used. Sterotype Aspect is an extension of meta class of UML .Many meta class, as member of Aspect, can be contained in an Aspect and several Aspects, as views of internal structure of sterotype Model, can be contained in an Model. At the same time we can see that there is an association between sterotype Aspect and sterotype Model which indicate that the internal structure of Model can be accessed, such as read, write, through this Aspect. This way of modeling of control of access is valuable for some problem such as modeling of security, management of resources, synchronization.4> conclusionUML four layers meta data structure based tow stages modeling hasobvious advantage. We first customize the meta model(domain language) which can be used for domain modeling. The meta model is so abstract that can be applied to the whole domain which is the most large grain of model reuse. Meta model and model construct an complete description of a single system.AOP feature is being added to modeling tool, AOP feature is introduced into the early stage of progress of software development, which make it feasible of aspect oriented analysis and aspect oriented design. Advantage of aspect orient technique then can be utilized in the early stage of software development.There are two main shortage of the modeling tool .First of all, the modeling tool dose not abide by strictly the four layers meta data structure of UML specification. Going to semantic, meta language of GMT abide by meta data structure of UML specification since GMT has the same glossary such as class, inheritance, association, aggregation as UML but some word of meta language of GMT and some of semantic is not strictly consistent with which of UML. The reason of this is not only that we are not sure how to abide by UML specification completely but also that we make some improvement of the semantic of UML specification. Abidance, being incomplete, will bring troubles, ability of interoperating ion of model with other modeling tool will be partly lost, in the future. Secondly, the support in the tool of feature of AOP is simplified. The common features of different kinds of AOP is abstracted into our tool. On one side, the AOP feature of GMT is adapted to all kinds of AOP, on the side, GMT dose not provide complete support of any kind of AOP.After PIM is constructed by modeling language, PIM is transformed automatically into PSM and PSM transformed automatically into code by transformation tool. This will be a much more challenge job which including constructing a series of tools such as model checker, PSM warehouse, codegenerator, code parser, code editor, model transformation tool, editor of definition of transformation. The target is far from reaching.
Keywords/Search Tags:Implementation
PDF Full Text Request
Related items