Ref: https://ieeexplore.ieee.org/document/7993901 MDA Approach Towards a Unified Application Development Framework Eyob Alemu Buba, Information Network Security Agency, Addis Ababa, Ethiopia E-mail: eyob_alemu@insa.gov.et Abraham Belay Berhe, Information Network Security Agency, Addis Ababa, Ethiopia E-mail: ab.belay@insa.gov.et Ki-Hyung Kim, Computer Engineering Department, Ajou University, Suwon 443- 749, South Korea E-mail: kkim86@ajou.ac.kr AbstractIn this paper we present a framework that can be used to facilitate an MDA based software development in a specific domain. We show the result of a unified metadata based framework derived from previous works to enable MDA based development of applications unifying both Java and .NET technologies. Our unified framework improves development productivity-as it has many components to reuse, provides technology independence-as it enhances the focus on models than implemented code, and also reduces TCO as it is based on open source tools. We argue that developing counties such as Ethiopia can benefit a lot from it. KeywordsMDA, Metadata, Development Framework, Model Transformation, Application Dictionary I. INTRODUCTION Software development is the most unstable activity that is being challenged by the constant change of platforms as well as the introduction of new platforms [2]. As a result, the tools, technologies and approaches employed to develop systems are observed to change through time. Any technology used some time earlier may need to be changed or in the fortunate case, upgraded to a new version that brings new elements to learn. Developers must always stay alert and maintain a constant level motivation to learn new tools, approaches, and technologies. Organizations involved in software development in developing countries such as Ethiopia are the most affected by this dynamicity. Most of their solutions are forced to be attached with one or more technologies. Any technology change can adversely affect a stable system. It is sad that this is the case even if the model of the system they have developed doesn’t need to change at all. If a system is supposed to endure such dynamicity, it must be able to accommodate changes as simple as possible with minimal impact on the core of the system. Considering the domains of large scale systems such as eGovernment or ERP, it will be difficult to get the comprehensive approach and the required tools and technology which are universal enough to transcend multiple implementation variations. As a general solution, OMG forwarded the Model Driven Architecture (MDA) approach which advocates the extensive use of models that classify the specification of a software system into two distinct levels [1], [10]. The first key model is called The Platform Independent Model (PIM) and the next key model is called the Platform Specific Model (PSM). The PIM is intended to be independent of any platform or technology specificities. In addition, it is also potentially capable of being transformable to a PSM. The transformation can be partially or fully automated [1]. Hence, the key artifacts of the system are always maintained in a platform independent manner. As a result, the PIM will be the long lasting model of the system which, if achievable, is desirable by all contemporary developers; especially those in countries which do not have their own development and execution platforms. MDA has proved beneficial, at least in principle, for large scale systems specially enterprise grade systems. We believe that our proposed approach which based on existing work and knowledge will add a significant contribution to this gap. The paper is organized as follows. Section II presents the context of the research that produced the proposed result. Section III outlines the MDA process and its current perspectives related to our wok, Section IV presents our proposed framework. Section V shows the practical evaluation of our proposed approach. Finally, Section VI concludes the paper with summary and future work recommendations. II. CONTEXT AND MOTIVATION The work presented in this paper is a partial result of an ongoing effort to define and develop a platform that enables non technology leaders (such as Ethiopia) to obtain solutions that can reduce the impact of specific technologies and associated vendors. Recently, we have come across two open source ERP frameworks, one developed in .NET and another one in JAVA. The framework developed in .NET is called Vienna Advantage[5], and the one in Java is called iDempiere [4]. Both of them are Open source. The two systems are complete and developed based on a similar metadata model to describe the static data as well as most of the dynamic behavioral model of the systems. The key technical similarity between the systems is that the UI is generated at run-time from the metadata and most of the business rules are specified with in the metadata (termed as Application Dictionary). Hence, the volume of non- metadata based code is highly reduced. From our observation,