350 rub
Journal Antennas №1 for 2013 г.
Article in number:
Development of a simulation environment for 83M6E2 control system from a software product line viewpoint
Authors:
I.S. Kovalis
Abstract:
Strengthening of competitive activity in the software market as well as new directions of application of program systems forced companies to increase their efficiency. This engages software products creation. The purpose of this work is justification and application of a new method of software development. An example of the 83M6E2 control system is used for this. There are three complementary technologies which address software evolution. The Object-oriented view of the software and application of domain specific languages remain effective ways of development, but have appreciable shortcomings. Development of a new product often corresponds to revision of the old version, in this connection complexity and code volumes quickly increase. The approach to software development from software product line (SPL) viewpoint assumes the solution of these problems. SPL represents the innovative and promptly developing concept in software development. It represents templates for families of related applications. Evolution occurs by plugging and unplugging components that encapsulate new and enhanced features. Life-cycle of the approach consists of certain stages called domain engineering and application engineering. The consortium OMG (Object Management Group) is the working group engaged in development of standards in the field of the software, which realized an approach in the form of the MDA standard (Model Based Architecture). The great interest is represented by the MOFM2T (Model To Text) specification developed by the consortium, which explains how to transform models to various text artifacts, such as source code, specifications, reports. In the work, for application of the concept of MDA, the Acceleo code generator as a part of the Eclipse integrated development environment which completely corresponds to described standards was chosen. Application of a new approach on the example of a simulation environment for the 83M6E2 control system is considered. Application of a new method is shown through identification of invariable "framework" - bases of the software product providing possibility of addition and removal of various functional features of the system. Basis of the developed simulation environment is a class diagram describing architecture of the control system and communication between its components. As "framework" of the environment, the set of the components which constantly present in the scheme is chosen. The blocks representing program realization of physical devices of control center belong to these components. The "framework" also includes functional blocks, they describe logic of the system. The structure of a simulation environment also can include the blocks which are present at a model depending on a configuration. On the basis of the constructed diagram the source code of the project was generated. The generating file which includes a set of templates with syntax of a C++ programming language for this purpose was made and corresponds to the MOFM2T standard. As a result of start of a script it was generated 109 files of a program code describing all classes, presented on the diagram. Thus, on the basis of one class diagram all "framework" of the software of the simulation environment, representing static structure of designed system was generated. At addition to the project activity and communication diagrams it is possible to reach high-grade generating of software product, i.e. to supplement the developed structure with dynamic model.
Pages: 126-134
References
  1. Dikel D., Kane  D., Ornburn S.Applying Software Product-Line Architecture // Computer Society. 1997. V. 30. № 8.
  2. Lianping C., Babar M.A., Nour A. Variability Management in Software Product Lines: A Systematic Review // Proc. 13th International Software Product Line Conference, 2009. P. 81-90. 
  3. www.ibm.com/developerworks/rational/library/3100.html