Font Size: a A A

Research And Implementation Of Component Composition In MDA

Posted on:2009-11-17Degree:MasterType:Thesis
Country:ChinaCandidate:X C LiFull Text:PDF
GTID:2178360242480849Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
As the increasing complexity of software, the abstraction of problem isbecoming more and more difficult. In a complex problem domain, themodel constructed by an abstraction from reality and the description of theabstraction will be helpful to design the architecture of software andestablish the direction of development. Developers need to model a complexsystem in order to understand it. Component characterized by itsindependency, encapsulation, reusability and commonality, is a coretechnology to achieve software reusability. When the encapsulatedcomponent is unable to meet its demands, a new component should bedeveloped according to the standard of software development so as to meetthe demands. Component composition is not only a process to redesigncomponents, but also a process to evolve the target software.MDA(Model Driven Architecture) solves all kinds of problems aboutmodeling in the traditional development and makes modeling to be the onlykey work. MOF(Meta Object Facility) provides a semantic standards ofmetadata in MDA. QVT(Query/View/Transformation) standard achieve tothe goal of transformation from PSM(Platform Specific Model) toPIM(Platform Independent Model) in MDA. The advantage of component isreusability, which is reused not only in code level but also in design level. Inorder to take the advantages of both, MDA can be used in the whole coursesof design, composition and running. In MDA, component is encapsulatedduring the course of defining model. The composition and distribution ofcomponents are both realized in the modeling phase. The transformation ormapping of a component is implemented in the model transforming phase.This approach not only separates logic and application layers with bottomlayers so as to map them into any open or private platform through MDA, but also enhances the reusability of software development greatly.Component can be encapsulated as object classes, class trees, somefunctional modules, software framework, software architecture, documents,design pattern, and so on. In order to achieve the goal of high cohesion andlow coupling, an encapsulated component model is researched andpresented. In the encapsulating phase, component encapsulates computationand local data. At the same time, connector encapsulates data and control.Component can be composited with others to construct a newcomponent which owns more functions. What's more, the compositedcomponent can continue compositing until the demand is met. As a result,plenty of components which can be recustomized and reused are constructed.There are so many types of component composition and less unifiedclassification standards that it makes the development of componentcomposition technology greatly hindered. To settle out this problem, it isnecessary to draw on the idea from hardware composition that providesunified interfaces and structures, which means that component compositionand evolution should be done according to functional and non-functionaldemands. The functional matching problem should be resolved whencompositing components, so developers can connect the interfaces of everycomponent by using connectors in the light of software's special objectivesto form a product after testing. Taking advantage of component compositionin MDA, modeling workers can set up a component library to meet all kindsof functional demands and improve the reusability of core module in theprocess of software development.In some domains, especially in the domain of communication net,every component communicates with others based on messages. Every kindof component composition based on messages, such as sequential operation,selectional operation, innovational composition, cooperating composition,can be abstracted to be a form of algebraic expression. Then the algebraic expression of condition operation is introduced by the characteristics ofattributes and behaviors of composited component. According to thesededuced formulas about composition operation, component evolution can berealized. Finally, the functional or structural optimization of compositedcomponent can be achieved by these formulas. On one hand, the structure ofcomposited component will be changed after the evolution. On the otherhand, changing the structure can achieve the aim of software evolution.CNSP(Communication Net Software Platform) researches a newtechnology to build up an communication net software based on MDA andimplements a development platform to support the technology. CNSP isdeveloped by the technology of component and composition so as to:1. Improve the reusability of software.2. Speed up the development work, adapt to the quickly constructedsystem of applications and the change of demands immediately.3. Make for the accumulation of domain knowledge and model reuse.Based on classification, transformation and reuse about model, CNSPintroduces a two-level development architecture. The modeling work isdivided into two stages, namely, metamodeling and modeling. Aftermodeling, the constructed model should measure up MOF semantic andshould be stored as blocks in the database. As a kind of independent modelunit, MOF component will be easily integrated into MDA system because ofits accordance with MDA. JGraph component is a type of GUI componentsand can be well applied to the modeling interface. System defines a numberof connectors to encapsulate the control and data information. In themetamodeling and modeling phases, the software realizes the transformationfrom MOF model to JGraph model by taking advantage of QVT standard inMDA. The specific model in the domain can be constructed by themetamodeling and modeling operations so as to provide a lot of abstractprototypes for software development and component encapsulation. Metamodel components and model components are based on messageswhen compositing components. Therefore, sequential operation, selectionaloperation, innovational composition and cooperating composition areavailable. The difference is that additive composition is allowed in modelingphase because of components'hiberarchy assembly. Conditional and serialcomposition can be realized between metamodel components and modelcomponents in order to constrain input and output and drilldown the model.The evolution of some composition operations can satisfy the changingdemands from customers. Adding, deleting and modifying a component canbe contributed to expansion, cutting and changing of the operationexpression. Component evolution from these expressions makes softwareevolution possible. After unit, integration and system testing, thecomposited component can be distributed and put into component library soas to be managed by a standard.MDA and component composition technology are both used and someproblems about component composition are researched in CNSP. Amodel ofencapsulated component is presented firstly. Then component compositionis abstracted to be an algebraic expression. At last, an evolution arithmetic isdescribed to component composition in order to evolve components, evensoftware. Component composition in MDA has already embodied itsadvantage through the application and implementation of CNSP.As component composition and MDA are widely used by softwaredevelopers, component composition in MDA will get more popular bymodeling and its software developers. Component composition will becomea vital role to the development process based on MDA.
Keywords/Search Tags:Implementation
PDF Full Text Request
Related items