Summary: | Model driven architecture (MDA) is a new development methodology which raises abstraction and re-using levels. MDA is aimed at developing applications in established domains without writing new codes. To this end, models are first-class artifacts where the specification of the system is modeled using platform independent model (PIM). The implementation is modeled as code-based API using platform specific model (PSM). MDA is about mapping PIM to PSM, whereby specifications will translate into calls to the code-based API which execute it. The ultimate goal of MDA is to automate this process. This process is not specified in detail in standard Object Management Group (OMG) document. Due to lack of previous work tackling the development problem from specification to implementation, this research proposes End to End Development Engineering (E2EDE) method using MDA methodology. E2EDE is a novel approach to software engineering, where the notion of variability is utilized from Software Product Line and used to model design decisions in PSM. PIM is equipped with Non-Functional Requirements (NFRs) to inform design decisions; thereby guiding the mapping process. A Unified Modeling Language (UML) profile is developed for modelling NFRs in PIM and Meta-Object Facility (MOF) profile for modeling variability in PSM. To address mapping variability and its modeling, an MOF metamodel is developed. In addition, a strategic PSM is developed for messaging systems to be configured into different applications such as a helpdesk system. Two different case studies with different scales are used to evaluate E2EDE. Finally, Profile UML package and model manipulation approach is taken to implement aspects of E2EDE. Being applied in different cases, the E2EDE has shown productivity by allowing reuse of different artifacts: PIM and PSM mapping metamodels and also encouraging mapping automation.
|