Shenzhen ZTRON Microelectronics Co., Ltd
Telephone
0755-8299 4126

Software

MDA software design method


Due to the traditional software development model, the final product is program code, which is difficult to adapt to the rapid changes in requirements. Although there are already models that can participate in some production links, the models still cannot be applied to large-scale software development. Therefore, problems of non-standardization and non-automation inevitably appear in the software development process. In order to solve these problems in software development, OMG organization released Model Driven Architecture (Model Driven Architecture, MDA). Based on the introduction of MDA development process, this paper discusses the definition, mapping and transformation of platform-independent model and platform-dependent model, and analyzes and compares MDA development method and traditional software development method.


1. MDA architecture


Model-driven software development refers to the process of analyzing the problem and then modeling, transforming and refining the model, and finally generating executable code. Model-driven architecture is a method to establish an abstract model of business logic and automatically generate a complete application program. A model language (such as UML) is used to construct a platform-independent model (Platform Independent Mode, PIM) that does not need to care about the technology used during implementation, and then the platform-independent model is converted into a platform-dependent model (Platform Specific Mode, PIM) through certain conversion rules and auxiliary tools. PSM), and finally PSM refines to generate executable code. The MDA software development method puts the standard system model at the core of the driver architecture, as shown in Figure 1. MDA separates system description and implementation technology from platform through PIM and PSM, ensuring that software development results are not affected by demand changes and technology changes.


The MDA model organization is divided into four layers, as shown in Figure 2. The next level is the application of the previous level, and the previous level is the basis of the next level. MOF is located in the M3 layer, which is the basic and core model in the MDA framework, and is also the meta-model of all the models in the M2 layer. The M2 layer is the modeling language corresponding to different models on the MOF. Different fields can obtain the modeling language that matches the field through the M2 layer, which provides modeling symbols for the modeling of the M1 layer. The M1 layer is the model description created by the modeler for the enterprise application using the model language during the software development process, and the PIM, CIM, and PSM application models are located in this layer. The bottom layer is the M0 layer, that is, the instance layer, which converts the model of the M1 layer into specific usable applications.


The core of MDA is a series of standards formulated by OMG, Meta Object Facility (Meta Object Facilit, MOF), Unified Modeling Language (Unified Modeling Language, UML), Data Warehouse Metamodel (CommonWarehouse Metamodel, CWM), XML Metadata Exchange ( XML⁃based Metadata Interchange, XMI) and Object Constraint Language (Object Constraint Language, OCL). These standards constitute a benchmark for building a model-driven architecture, which not only determines the core architecture of MDA, but also plays a key role in the system modeling of State⁃of⁃art.


2. MDA implementation and software development based on model-driven architecture


MDA-based software development process can be divided into:


(1) Model-driven software development process. The models used in this solution are PIM and PSM, and the generation of code is driven by the model. The specific operation steps are that the code is generated through the model, and then the business logic code is written manually, and finally the manually written business logic code is deployed and deployed. release.


(2) Control the behavior of the system at runtime through model-driven. At this time, the software model can be directly executed by a general model of the operating system runtime. This process does not need to generate specific software codes. Finally, only the model is deployed and released, because the model has already expressed all levels of the application.


MDA-based software development includes three stages: modeling, development and release.


Model phase: Create a platform-independent model PIM, and take it as the core. Both ISM and PSM can be automatically converted and generated by PIM. The model is mapped using a MOF mapping method such as XMI.


Development stage: Generate platform-independent code, that is, MDA tool automatically generates and programmers manually write client and server code. The code generation in MDA is the ultimate goal of the MDA project, which specifically refers to the mapping from PSM to code, and the mapping generates the ISM model.


Publishing stage: In this stage, many contents are put together to form runnable components, including models, MOF mappings, hand-written codes, MDA runtime libraries and configuration information to be released, and finally the components are released to the running platform.


3. Comparison of software development process


Although the MDA-based software development process is a new model-driven software development method, it has the following advantages compared with traditional software development methods:


(1) Model transformation can be realized automatically. Compared with the traditional software development process, where the transformation between models and models, and between models and codes is completed manually, the software development process based on MDA is automatically completed by MDA development tools.


(2) It is easy to maintain, and the model and code are synchronized. In the process of software development based on MDA, the model can directly generate executable code through conversion without other steps, so as to realize the synchronization of model and code. The focus of software maintenance by software developers has changed from program code to a platform-independent model that is independent of the technology platform and related to business logic.


(3) High development efficiency and strong software reliability. The MDA model architecture abstracts different levels of the system, and the meaning of each level is simple and easy to understand, so that the entire framework of the system can be clearly understood and mastered by software developers without being confused about specific implementation technologies. Because the model can directly generate executable code through conversion, the coding link is reduced in the development process, so if the PIM is constructed correctly, the correctness of the entire system can be guaranteed.


(4) The business logic model is independent of the technology implementation platform. The PIM model can automatically generate a software system based on the model according to the different technology platforms, thus realizing the independence of the PIM model and the technology experiment platform.


(5) The model is the infrastructure generated by the program. In the process of software development based on MDA, the model is regarded as the design work in its life cycle, and it is the infrastructure of program generation. The model can automatically generate executable code through a series of transformations.


Summarize


On the basis of introducing and analyzing the framework of MDA and the software development process based on it, this paper compares it with the traditional software design method, explains its remarkable advantages in the software development process, and finally designs the MDA-based The decision support system proves that the software system designed using the MDA development method is independent of the technology platform and has strong versatility and portability. Design cost and improved development efficiency.


The above is the research on the MDA-based software development method introduced by Shenzhen Zuchuang Microelectronics Co., Ltd. for you. If you have software and hardware function development needs for smart electronic products, you can rest assured to entrust them to us. We have rich experience in customized development of electronic products, and can evaluate the development cycle and IC price as soon as possible, and can also calculate PCBA quotations. We are a number of chip agents at home and abroad, including MCU, voice IC, Bluetooth IC and modules, wifi modules. We have hardware design and software development capabilities. Covering circuit design, PCB design, single-chip microcomputer development, software custom development, APP custom development, WeChat official account development, voice recognition technology, Bluetooth wifi development, etc. It can also undertake the research and development of smart electronic products, the design of household appliances, the development of beauty equipment, the development of Internet of Things applications, the design of smart home solutions, the development of TWS solutions, the development of Bluetooth audio, the development of children's toys, and the development of electronic education products.


  • TOP