Logical programming and data mining as engine for MDA model transformation implementation A.Y. Sokolov * , I.N. Terekhin ** , E.A.Cherkashin * ** , S.O. Butakov *** , A.A. Larionov *** * Institute of System Dynamics and Control Theory SB RAS, Irkutsk, Russia ** National Research Irkutsk State University, Irkutsk, Russia *** Institute of Mathematics, Economics and Informatics of Irkutsk State University, Irkutsk, Russia {alexanderysokoloff, i.terhin, s.o.butakov}@gmail.com, eugene@irnok.net, ale@prisnif.org Abstract - In this paper, we present the description of our extension to Model Driven Architecture (MDA) methodology using the logical programming paradigm and also a practical example of application of our extension to the development process. Then we consider an induction approach of ontology from the revision control system repository. This ontology can be used in the development process as a platform independent model. I. INTRODUCTION Information systems (IS) frameworks are constructed on the base of a common scheme, where IS consists of at least of the following three subsystems: Data Warehouse (Storage) provides persistent data layer for program objects, storage formats, and productive access to the stored data. Application Control Layer, which usually referred to as business-logics layer; the layer mainly realizes changing the warehouse data, providing the soundness with respect to domain. User Interface represents stored and processed data for users and propagates events initiated by users to application control layer. Most of the information systems also have analytical and report generation subsystems. The growing complexity of software system leads to the creating variety of methods for automatic information system generation. One of the most applicable systems is CASE systems. They allow generating and supporting the implemented information system. Model Driven Architecture (MDA) [1] is a further development of CASE-system aimed at providing solution for the following problems of IS development: Rapid development of software construction technologies and programming techniques results in frequent change of software development platforms and accumulation of legacy source and binary code. Necessity to support a number of parallel versions of the software on various hardware platforms and operating systems; for example, most of popular Internet services have applications for mobile platforms (iOS, Android). Reuse of models and corresponding implementation source code in new projects, and accumulation of formalized knowledge on designing and implementation of IS subsystems. Key concepts of MDA are CIM, PIM, PSM, and PDM. Computation Independent Model (CIM) reflects software’s external requirements, e.g., component interfaces. CIM hides internal structural elements, and therefore can be used to define specifications and checking requirements. Platform Independent Model (PIM) is a model of the software reflecting most of the structural and some semantic aspects of the software, but this model contains no information about implementation of the structures on target program architecture. UML Class Diagram extended with some tag values and additional stereotypes is a relatively common example of PIM. The extension (marking) allows one to denote implementation nuances for structures. Platform Specific Model (PSM) is a model, which can be directly implemented as a source code of the subsystems, e.g., it could be a physical structure of a relational database, which is translated into DDL SQL requests by means of code templates. At the very early stages of the software development process an idea of a program is proposed. On the beginning steps basic terms and functionality requirements are iteratively collected, which correspond to MDA’s CIM. The next step is a requirements analysis, which results in forming a general project outline corresponding to PIM. The developer’s design activity results in detailed system design, i.e., PSM, followed by the implementation stage of the software components. MDA is a methodology for developing software by means of partial automatic source code generation of IS from visual models, so it can be considered as an approach to generative programming [3, 4]. The main distinction of MDA from the CASE-systems is that the code generation routines are not fixed and can be extended and adapted to the project requirements and developers’ way of structures and functions implementation. It can, e.g., be adapted to describe even IS based on component architectures. The transformation of the PIM into PSMs is carried out under control of a The work was supported by Federal Framework Program Scientific and Teaching Staff of Innovative Russia for 2012-2013" State Contract № 14.В37.21.0365 MIPRO 2013/CIS 1301