Paper Menu >>
Journal Menu >>
Journal of Software Engineering and Applications, 2011, 1, 18-22 doi:10.4236/jsea.2011.41003 Published Online January 2011 (http://www.scirp.org/journal/jsea) Copyright © 2011 SciRes. JSEA Incorporating AOSD to Enhance Model Driven Architecture Yashwant Singh1, Manu Sood2, Tarun Gupta1, Atish Thakur1 1Department of Computer Science Engineering and Information Technology, Jaypee University of Information Technology, Wak- naghat, India; 2Department of Computer Science, Himachal Pradesh University, Shimla, India Email: {yashu_want, soodm_67}@yahoo.com, tarungupta_ce@yahoo.co.in, atish0922 0 8 cs e @ g m a i l . c om Received December 14th, 2010; revised December 21st, 2010; accepted January 12th, 2011. ABSTRACT Various software development approaches in the present scenario are best suited for a specific application. The soft- ware development strategies include both merits and demerits when talked in terms of generalization. The Model Dri- ven Architecture (MDA) describes software development based on models on various levels of abstraction. The model driven software development process consists of sequence of model transformations between various models. This pa- per presents incorporation of the merits of Aspect Oriented Software Development (AOSD) like modularization, reusa- bility and reduced complexity into Model Driven Architecture (MDA) software development strategy. The proposed Model Driven Software Development approach which combines the merits of MDA and AOSD meets the ever changing and challenging demand of the enterprise software development. Keywords: Model Driven Architecture, Aspect Oriented Software Development, Computational Indepe nde nt Mod el, Platform Independent Model, Platform Specific Model 1. Introduction Various day-to-day advancements are made in the field of Software development approaches. It results in erup- tion of various software development approaches to spe- cific enterprise systems. The use of new technologies and modern trends are not being considered sufficiently due to the software development paradigm shift. One such solution of the problem could be a regular study program review and integration of new modules into the current software development processes. The challenges faced by enterprise software develop- ment are the effective design of software system to sup- port ever-changing business capabilities in a timely ma- nner and bridging the vision of an application to its rea- lization. One such so lution to the problem is provided by Model Driven Architecture approach of software devel- opment under Model Driven Software Development (MDSD). MDA approach of software development under MDSD helps producing three models [1]: 1) Computation Inde- pendent Model (CIM), which specifies the models for domain and requirements of the system, 2) Platform In- dependent Model (PIM), which specifies the models for abstract concepts of the system and excludes platform specific details and 3) Platform Specific Model (PSM), which specifies and models how the functionality in a PIM is brought to reality on a specific computing plat- form, with high abstraction. MDA also supports the transformations [2] from CIM to PIM and from PIM to PSM. Transformatio n of PIM to PSM includes specifying the rules to transform a PIM into [3]. 1) An application layer model to be implemented using object oriented languages, 2) A database layer mo- del to be implemented using RDBMS, and 3) An interac- tion between application layer and database layer is also implemented by object oriented languages like JAVA; all as a part of PSM. This paper is an attempt to incorporate the merits of (AOSD) [4] into Model Driven Architecture approach of software development. The Aspect-Oriented Software Development decomposes a software system into mod- ules in such a way that modules responsible for a com- mon concern are tightly coupled and modules responsible for different concerns are loosely coupled. Aspect-Ori- ented Software Development is a post object-oriented te- chnology that helps achieve better separation of concern by providing mechanisms to localize concerns like secu- rity, synchronization, and logging in software develop- ment process. Fur thermore new MDA models CIM, PIM Incorporating AOSD to Enhance Model Driven Architecture Copyright © 2011 SciRes. JSEA 19 and PSM with added advantages of Aspect Oriented Software development has been proposed. The remainder of this paper is organized as follows: Section 2 gives the illustration of Model Driven Archi- tecture with its various models. Section 3 presents Aspect Oriented Software Development (AOSD) and its impor- tance in development of enterprise system. The proposed MDA approach of software development with added ad- vantages of AOSD illustrated in Section 4. The compar- ison between traditional and proposed model has been shown in Section 5 and Section 6 presents conclusion. 2. Motivation the Model Driven Architecture MDA is a flagship initiative of the Object Management Group (OMG) [2,5] presenting a new vision on how en- terprise systems should be developed and managed. Launched in 2001, MDA is now making a great impact in the areas related to the enterprise software develop- ment. It is an approach that addresses the increasing complexity in enterprise-system design by combining various technologies for an effective software develop- ment. The MDA approach is a model-centric paradigm which automates the generation of system implementa- tion artifacts from the model directly [6]. The approach works on the following layers of model: Comput at ion Independent Model (CIM) Platform Independent Model (PIM) Platform Specific Model (PSM) The Figure 1 shows the various models, transformations and mappings of MDA. 2.1. Computation Independent Model A CIM is also often referred to as a business or domain model. It describes the actual requirement of the system and hides all technology specific details related to speci- fication. It presents a system independent specification by abstracting the technology specifications and provides a bridge between the domain experts and information CIM Transformation PIM Transformation PSM MDA Figure 1. Model Driven Architecture. technologists which are responsible for the development process. The OMG MDA guide refers to the Computa- tional Independen t Model as the highest level of abstrac- tion. In terms of the MDA [7] refers CIM as real world model. 2.2. Platform Independent Model The PIM does not include any platform specific details; it obtains the domain’s key features. The main objective of the PIM is to create the precise concept of the system using the vocabulary of the domain as far as possible. A software developer can represent this concept through models in different modeling languages. PIM demands a general representation to capture the semantics of many different domains, which should also be precise enough to support transformation into target cod e [8]. A PIM exhibits a sufficient degree of independence so as to enable its mapping to one or more platforms [9]. This is commonly achieved by defining a set of services in a way that abstracts out technical details. Other models then specify a realization of these services in a platform specific manner. 2.3. Platform Specific Model A PSM combines the specifications in the PIM with the details required to stipulate how a system uses a particu- lar type of platform. If the PSM does not include all of the details necessary to produce an implementation of that platform it is considered abstract which means that it relies on other explicit or implicit models which do con- tain the necessary details. The key features of PSM are as follows [8,10]: Specifies how the functionality in a PIM is brought to reality on a specific computing platform. Derived from the PIM by adding some plat form-specific details to the standard components. Multiple PSMs can be associated with a single PIM. Designed to specify the target platform system. 3. Aspect Oriented Software Development The Software development of complex software applica- tions is a challenging task. Computer hardware and soft- ware have evolved together over the years. In the early days, due to hardware limitations, the problems solved by computers were simple, easier and also the software ap- plications written to solve them were not complex. Mod- ern software development or software engineering is more than just coding; it is an iterative process made up of sev- eral stages with methodologies to guide each stage and also have tools to support each and every methodology [4]. Aspect-oriented technology is not different from oth- ers it just followed the aspect oriented languages and extended the idea to the entire software development Incorporating AOSD to Enhance Model Driven Architecture Copyright © 2011 SciRes. JSEA 20 Figure 2. Proposed Architecture (Combining AOSD principles with MDA). process and forming the field of Aspect-Oriented Soft- ware Development (AOSD) [6]. It provides unique and advanced program structuring and modularization tech- niques. The implementation of software applications using AOSD techniques provides a better software implemen- tation structure which has an impact on many important software qualities such as improved interoperability, po r- tability, longevity, enhanced reusability and reduced com- plexity. It is desirable to decompose a system into differ- rent modules in such a way that modules responsible for a common concern are strongly coupled and modules re- sponsible for different concerns are weakly coupled. AOSD helps to achieve better Separation of Concerns (SOC) by providing methods to localize cross-cutting con-cerns like security, synchronization, and logging in software artifacts throughout the software development process. Using AOSD the different concerns in real ap- plications are modularized, developed separately and then woven together to create software applications. 4. Proposed Approach The architecture illustrated in Figure 2 include the in- corporation of Aspect-Oriented Software Development (AOSD)[4] concepts in the Model Driven Architecture approach of software development [2,11]. The proposed architecture makes it more suited to the challenging and changing demands of the present enterprise software de- velopment. Analysis and implementation of both func- tional and non-functional requirement plays equally im- portant role in the development process. The highly reusable MDA is clubbed with the separation of concerns (non-functional requirement) and analyzing them sepa- rately with the core requirement. AOSD helps meet the challenges of MDA such as comprehensive modeling standards and mapping technologies with its modulariza- tion and weaving concepts. The Architecture uses the base as the MDA with its three broad layers and com- bines the modularization, concern separation concepts of AOSD. The new three layers of the modified MDA are: Modified CIM Modified PIM Modified PSM 4.1. Modified CIM The Computational Independent Model Layer is divided into different module layers by combining aspect orien- ted programming concepts as depicted in Figure 3 and different module layers are as follows: 4.1.1. Module L aye r It includes the identification of various modules present in the enterprise software system. The application that needs to be designed is broken into sub-systems or mod- ules so as to reduce the complexity of the system and model each sub-system uniquely. The breaking up of the main application into sub-systems facilitates the efficient design and analysis of each part. 4.1.2. Identifying Core Functionality and Concerns The module layer is further divided into Core Functio- nality Layer (CF) and Concerns. Core Functionality (CF): Each module is analyzed for the core functionality and a CF is prepared. Concerns: The concern layer consists of the com- mon non-functional requirement in the modules. The functional and non-functional requirements are separated so that they can be modeled more specifically. The output of these 2 layers is passed to the next MDA layer, i.e., Platform Independent Model (PIM). Incorporating AOSD to Enhance Model Driven Architecture Copyright © 2011 SciRes. JSEA 21 Figure 3. Modified CIM LAYER Figure 4. Modified PIM. 4.2. Modified PIM This model include the specifications of how the things need to be done, hiding the details about the technology that will be employed to implement, the modified PIM as in Figure 4 contains the separate specification details related to Core Functionality (CF) and the Con cerns. The PIM is divided into Platform Independent Functional Module (PIFM) and The Platform Independent Concern Module (PICM). 4.2.1. PIFM The Platform Independent Functional Module (PIFM) includes the implementation details of the core functio- nalities of the specific modules that are modeled in the Computational Independent Model. It helps to develop an outline that is technology independent and thus pro- vide a high degree of reusability. 4.2.2. PIC M The Platform Independent Concern Module (PICM) in- cludes the details of how the different concerns would be implemented. As the concerns are needed with various modules so the technology independent code provides great level of reusab ility. 4.3. Modified PSM The PSM Layer is broken into two layers namely core functionality and concern layer and weaving layer as shown in Figure 5: 4.3.1. Implementing Core Functionali ty and Co nc ern s The Layer provides the technology specific implementa- tion of the core functionality and the different concerns identified. PSFM: Platform Specific Functional Module (PSFM) provides the implementation of core functionality of the modules which is technology specific or platform dependent. The PIFM provided by the PIM layer is implemented usi ng the desired t echnology . PSCM: Platform Specific Concern Module (PSCM) provides the implementation of various concerns of the system by a technology specific code. It imple- ments the PICM provided by the PIM layer for each concern. 4.3.2. Wea ving Layer The last layer includes the merging of core co ncerns with the different concerns needed by the particular module. It contains the set of rules that defines the integration of functional and non-functional requirements of the system providing a one complete system ready to be deployed. In this layer different modules are woven together to create a software application of enterprise systems. 5. Traditional Model vs. Proposed Model The comparison to the traditional model with the pro- Figure 5. Modified PSM. Incorporating AOSD to Enhance Model Driven Architecture Copyright © 2011 SciRes. JSEA 22 posed can be viewed as follows: 5.1. Traditional & Modified CIM The Traditional CIM provid es a system independent spe- cification by abstracting the technology specification. The specifications are monitored as a combined view of functional and non-functional requirement with no spe- cific module discrimination. The proposed CIM first identifies the major sub mod- ules of the system so that they can be analyzed and de- signed more specifically and individually. After the mo- dule separation the functional and non-functional re- quirements are separated and modeled. The separation benefits the issue of reusability and ease of modeling. The consideration of core-functionality and concerns separately is the main implementatio n focus of the AOSD model, which is incorporated in the MDA approach. 5.2. Traditional & Modified PIM The traditional PIM provide the platform independent details with presenting domain’s key feature. The mod- ified PIM does no t include any sign ificant tran sformation except the modeling of core functionality (PIFM) and concerns (PICM) separately without specifying the plat- form specific details. The separated modeling benefits in considering g the design of non-functional requirements as well as functional requirement with more concerned focus that leads to efficient design of the system and in- creases reusability in the model. 5.3. Traditional & Modified PSM Traditional PSM include the transformation of PIM to PSM including the platform and technology specific de- tails. The proposed PSM include the transformation as same with the traditional but require two transformations i.e., from PIFM to PSFM and PICM to PSCM. The weaving model presented as an advantage over the traditional model as the layer specifies the rules to group the core functionality with the concerns. The grou- ping process is dynamic which increases the flexibility and scalability of the module. 6. Conclusions Enterprise Information System is the main artifact of the enterprise information construction. The study of how to improve the quality, longevity, cost of production and success rate of enterprise Information System is absolu- tely necessary and significant. The MDA software deve- lopment approach in the recent years has been able to improve all these above listed factors by separating the concern through ab straction s at var iou s levels. This p aper has shown that the notion of various highly reusable models in MDA by combining the merits such as better separation of concerns, modularization and weaving con- cepts of Aspect-Oriented Software development (AOSD). Modified MDA has been proposed which is best suited to the ever changing demand of the enterprise system de- velopment. The architecture helps in modeling each and every requirement of the system efficiently. REFERENCES [1] D. S. Frankel, “The Model Driven Architecture: Applying MDA to Enterprise Computing,” OMG Press, Massachu- setts, 2003. [2] “Object Management Group (OMG), Model Driven Ar- chitecture (MDA),” 16 September 2008. http://www.omg. Com/mda [3] Y. Singh and M. Sood, “Model Driven Architecture: A Perspective,” IEEE International Advance Computing Conference (IACC’08), Thapar University Patiala, India, March 2008, pp, 1644-1652. [4] Tzilla Elrad et al., “Special Issue on Aspect-Oriented Programming,” Communications of the ACM, Vol. 44, No. 10, October 2001. doi:10.1145/383845.383853 [5] S. S. Alhir, “Understanding the Model Driven Architec- ture (MDA),” 2003. http://www.methodsandtools.com/ archive/archive.php?id=5 [6] Aspect-Oriented Software Development Steering Com- mittee, “Aspect-Oriented Software Development,” Avai- lable http://aosd.net/ [7] G. Genova, M. C. Valiente and J. Numbiola, “A Semiotic Approach to UML Models,” Proceeding of the 1st Work- shop on Philosophical Foundation of Information Sys- tems Engineering (PHISE’05), 2005. [8] G. A. Lewis and L. Wrage, “Model Problems in Tech- nologies for Interoperability: Model Driven Architec- ture,” Software Engineering Institute, Carnegie Mellon University Pittsburgh, Technical Note CMU/SEI-2005- TN-022, May 2005. [9] R. Heckle and M. Lohman, “Towards Model Driven Testing,” Electronic Notes in Theoretical Computer Science, Vol. 82, No. 6, September 2003, pp. 33-43. doi:10.1016/S1571-0661(04)81023-5 [10] A. Demir, “Comparison of UML 2.0 and DSLs in the context of MDD,” Diploma Thesis, Technische Universi- ty, Muchen, 2005. [11] T. O. Meservy and K. D. Fenstermacher, “Transforming Software Development: An MDA Road Map,” IEEE Computer, Vol. 38, No. 9, 2005, pp. 52-58. |