3.3 Usability of the Mobia Modeler Prototypes
4.1.3 Comparison of the MDSD Approaches and the Mobia Framework Ap-
Figure 4.9 shows a summary of the different MDSD approaches including MDSD itself. The figure shows the differences and similarities according to how the models are used, the types of transformations, the produced artifacts and other details that each approach might have.
The Use ofModels. All of the approaches usemodels one way or another. A prerequisite for the models is that they should be formally defined (i.e. assigned syntax and semantics with the use of DSLs) in order for automatic transformation to be attainable.
The approaches differ according to how the formal models are used. For instance, all other approaches except for Software Factories use formal models to describe either the framework or the final software application that needs to be created. For Software Facto- ries, DSM and MIC, models are utilized in order to describe the tools and environment that will be used for development.
In the case of theMobia Framework, models are also used as primary artifacts to creat- ing domain-specific mobile applications. Details about the models (concrete and abstract syntax) of the Mobia Framework is discussed further in chapter 5.
Figure 4.9: MDSD’s relationship with respect to the variants discussed.
The Use of Technology Standards. The different approaches differ with regards to which technologies are used to create the models. Some approaches such asMDAandMIC
recommend the use and standardization of specific technologies (e.g. UML, MOF), while others have their own representations of the models. According to Stahl & Völter [SVC06] ,
the use of these so-called industry standards can sometimes pose as a disadvantage because sometimes they are often unusable in the reason of lack of practical experiences in using such technologies, and also because they are overly complicated since the proposed standard must satisfy all the vendors who are part of the group that define them.
During the development of the Mobia Framework, technology standards were not used for the purpose of exploring new technologies that can be utilized to create the different parts of the framework.
The Basis for the Models. Approaches such as MDSD and AC-MDSD recommend the use of a reference implementation as the basis for the models. Other approaches base the model on the software family it belongs to.
For the Mobia Framework, the models were based on the combination of the problem domain being explored which is mHealth, the mobile constructs looked into (section 3.1.4) and the different systems offering similar goals for allowing development for mobile appli- cations (section 3.1.2). The reference implementations were used as the basis for the code templates for model-to-code transformation.
The Transformations. All MDSD-related approaches are characterized by automatic transformation whether it is model-to-model or model-to-code. They differ however in terms of thevisibility of the intermediate transformations and produced artifacts (e.g. mod- els, source code).
The MDA and MIC encourage the use of multiple transformations resulting to visibly modifiable artifacts. In MIC, the purpose of having this multiple transformation is in order to utilize the models in the different phases of the system lifecycle such as analysis, verifi- cation, integration and maintenance. This multiple transformation is important especially when interoperability between different platforms is a concern. However, this"may lead to potential consistency problems and is not as efficient as compared to one-step approaches (i.e. model to code)" [SVC06]. In cases where it is not possible to have this one-step approach, intermediate steps and results should be hidden [SVC06].
Since the target users of the tools provided by theMobia Framework are non-technical users, transformations are made hidden from the end-user as possible. From the end- user’s point of view, the transformation is a one step process which includes importing the model to the processor and having the final deployable application as end-product. Transformations in the Mobia Framework will be discussed further in section 4.2.4. The Produced Artifacts. In terms of the resulting products from the different MDSD approaches, most of them produce partial frameworks which can be completed by manually adding the non-generated artifacts, or by assembling the produced parts in order to create the complete application. However, 100% code generation is also possible but may be less
flexible [SVC06]. Approaches like MIC, DSM and SF also focus on producing tools and environments from the models which is very helpful for developers and domain experts.
As already mentioned, since the target users of theMobia Framework are non-technical users, the produced artifacts include a fully deployable application. However, in order to make the tools also usable to professional developers, the complete source code which can be imported to IDEs that supports the development of the target platform (e.g. Eclipse IDE with plugins for Android Development) is also made available so that additional enhancements can be made to the application when needed.