=Paper=
{{Paper
|id=Vol-1300/paper6
|storemode=property
|title=A Methodological Template for Model Driven Systems Engineering
|pdfUrl=https://ceur-ws.org/Vol-1300/ID06.pdf
|volume=Vol-1300
|dblpUrl=https://dblp.org/rec/conf/ciise/BocciarelliDCGP14
}}
==A Methodological Template for Model Driven Systems Engineering==
INCOSE Italian Chapter Conference on Systems Engineering (CIISE2014) Rome, Italy, November 24 – 25, 2014 A Methodological Template for Model Driven Systems Engineering P. Bocciarelli, A. D’Ambrogio, E. Caponi, A. Giglio and E. Paglia Dept. Enterprise Engineering, University of Rome "Tor Vergata" {paolo.bocciarelli,dambro,andrea.giglio,emiliano.paglia@uniroma2.it} Copyright © held by the authors. Abstract. The advent of formal modeling languages (e.g., UML and SysML) and system architecture frameworks (e.g., DoDAF and MODAF) has given systems engineers the ability to effectively describe the requirements as well as the behavior and the structure of systems. Approaches founded on the use of modeling languages and frameworks are grouped under the banner of MBSE (Model Based Systems Engineering). The basic idea is that a model evolves over the system development life-cycle, until it becomes the built-to baseline. In this paper, we consider a modeling approach based on the use of a metamodeling architecture that focuses on the use of models as the primary artifacts of system development. We specifically address the use of MDA (Model Driven Architecture), which allows to increase the level of automation when evolving models from the very abstract representation of a system down to the system implementation, thus making easier (i.e., at reduced cost and effort) the analysis, development and testing activities. By applying MDA concepts and standards to MBSE approaches we obtain what we refer to as MDSE (Model Driven Systems Engineering). The paper illustrates a methodological template for MDSE and shows its application to the development of a software-intensive system. 1. Introduction Systems engineering (SE) focuses on producing and maintaining successful systems that meet user's requirements and development objectives. In order to achieve this capacity, the systems engineer must balance superior performance with affordability and schedule constraints. In this respect, an important subset of systems engineer's activities is systems architecting. This term refers to the translation from the operational requirements defined by the stakeholders into a system's model that must be validated and defined as the built-to baseline. The strong cohesion between systems architecting and modeling has allowed the extensive use of architectures in large, complex system development programs. Initially, these architectures were technically accurate but diverse in their structure. In order to standardize the architectures, many organizations developed and mandated the use of architectural frameworks, such as DODAF [1] and TOGAF [2], which prescribe a structural approach and principles for developing a system architecture. Such frameworks use models to represent aspects, perspectives and views of the system. Traditional models, like standard block diagramming techniques, are based on top-down decomposition of a system. These methods are typically functionally based and are formed into a hierarchy of models representing attributes of system in increasing levels of detail. With the evolution of systems architecting, during the nineties, the need for a formal modeling language was recognized as beneficial to establish a consistent standard. The International Council of Systems Engineering (INCOSE) commissioned an effort in 2001 to develop a standard modeling language. The attainment of this effort was the Systems Modeling Language (SysML) [3], a systems engineering extension to the well-known and widely used Unified Modeling Language (UML) [4]. Architectural frameworks, UML and SysML can be grouped under the banner of what is referred to as Model Based Systems Engineering (MBSE) [5]. The basic idea behind MBSE is that a model evolves over the system development life-cycle, until it becomes the built-to baseline. Early in the life-cycle, the models have low levels of fidelity and are used for decision making. As the system is developed, the level of fidelity increases until the models can be used for design. Finally, they are transformed yet again into the build-to baseline. Therefore, the MBSE methodologies provide the required insight into the analysis and design phases, enhancing the communication between the different participants and enabling effective management of the system complexity. Unfortunately, the MBSE methodologies have limitations in terms of lack of practices and tools that automate the models development. In order to overcome these limitation, this paper exploits principles and standards introduced in the model-driven engineering field. Model-driven engineering supports systems development activities through the automated transformation of abstract models to operational components and applications. The most used incarnation of model-driven engineering has been provided by the Object Management Group (OMG) through the Model Driven Architecture (MDA) [6], which emphasizes the role of models as the primary artifacts of software-intensive systems development. This paper illustrates a methodological template for applying MDA principles and standards to MBSE approaches, thus obtaining what we refer to as Model Driven Systems Engineering (MDSE). The rest of the paper is organized as follows: in Section 2 we provide a brief summary of MBSE and MDA. In Section 3 we discuss the proposed MDSE template, which is then applied to the analysis and development of a software-intensive system in the naval electronic warfare domain, as shown in Section 4. 2. Background The following subsections overview the basic concepts at the basis of MBSE and MDA, respectively. 2.1 MBSE Model-based systems engineering (MBSE) is defined as the “formalized application of modeling to support system requirements, design, analysis, verification and validation activities beginning in the conceptual design phase and continuing throughout development and later life cycle phases” [7]. The main purpose of MBSE is to provide a methodology, which can be defined as a collection of related processes, methods, and tools. In [8] a Process (P) is defined as a logical sequence of tasks performed to achieve a particular objective, a Method (M) is the set of techniques for performing a task and a Tool (T) is an instrument that, when applied to a particular method, can enhance the efficiency of the task. A methodology is essentially a “recipe” and can be thought of as the application of related processes, methods, and tools to a class of problems that have something in common [9]. The environment dimension can be added to the aforementioned ones. An Environment (E) consists of the surroundings, the external objects, conditions, or factors that influence the actions of an object, individual person or group [8]. The traditional approach identifies these factors as the "PMTE" elements (Process, Methods, Tools, and Environment) of a methodology. Furthermore, it suggests to consider also the capabilities and limitations of technology when setting up a systems engineering development environment, as stated in [8]. Taking these considerations into account, and with the aim to get a step forward, in our work we present an extension of this methodology (see Section 3), which also includes other dimensions related to techniques and languages relevant to the model-driven engineering domain. As regards the state of the art of the main MBSE methodologies, the INCOSE MBSE Focus Group has identified the following list of methods [7]: • Telelogic’s Harmony – SE • INCOSE’s Object Oriented Systems Engineering Method (OOSEM) • IBM’s Rational Unified Process for Systems Engineering (RUP-SE) • Vitech’s MBSE Methodology • Jet Propulsion Laboratory’s (JPL) State Analysis (SA). For a more detailed discussion the reader may refer to [5],[7]. 2.2 MDA Model-driven engineering (MDE) is an approach to software design and implementation that addresses the raising complexity of execution platforms, by focusing on the use of formal models [10],[11]. According to this paradigm, a software system is initially specified by use of models at an high level of abstraction. Such models are then used to generate other models at a lower level of abstraction, which are used in turn to generate other models, until stepwise refined models can be made executable. One of the most important incarnation of MDE principles is the Model Driven Architecture (MDA) [6], the OMG's incarnation of MDE. MDA-based software development is founded on the principle that a system can be built by specifying a set of model transformations that map the elements of a source model, which conforms to a specific metamodel, to elements of another model, the target model, which conforms to the same or to a different metamodel. To achieve such an objective, MDA introduces the following standards: • Meta Object Facility (MOF): for specifying technology neutral metamodels (i.e., models used to describe other models) [12]; • XML Metadata Interchange (XMI): for serializing MOF metamodels and models into XML-based schemas and documents, respectively [13]; • Query/View/Transformation (QVT): for specifying model transformations [14]. The relationship among MDA standards is summarized by the scenario depicted in Figure 1. Model MA and model MB are instances of their respective metamodels, namely metamodel MMA and metamodel MMB, which in turn are expressed in terms of MOF constructs. A model transformation, specified at metamodel level using QVT, allows one to generate model MB from model MA. Both model MA and model MB can be serialized using XMI rules, to obtain the corresponding XMI documents, describing such models in XML language. XMI rules can also be used at metamodel layer to serialize metamodels and obtain XMI schemas for XMI document validation. Figure 1. Overview of MDA standards 3. Methodological template for MDSE This section illustrates the proposed methodological template for introducing MDSE approaches, which are strongly based on the productive use of models. For such a reason, in order to distinguish the proposed approach from the one defined in Section 2.1, we introduce the MDSE template that helps to organize the relevant areas of knowledge. It is defined as quintuple of the form where: • Environment (Em) is the set of semi-formal models that assist the team participants in grasping the abstract concepts related to SE. • Process (Pm) is the set of the processes that describes the evolution of a particular new system. The stepwise evolution of each process is referred to as the system life-cycle model, which subdivides the system's development process into a set of basic steps and phases. • Method (Mm) is the set of activities that are iterated in each phase of the process. We refer to this dimension with the term system methods model. • Technique (Tm) is the set of standards that support processes and methods; • Language (Pm) is the set of languages that ensures the formal and correct manipulation of the models. The following subsections describe the proposed MDSE template dimensions. 3.1 Environment dimension In this dimension, we shall use models to grasp the abstract concepts related to SE efforts. One of these is related to the domain of responsibilities for the systems engineer. Informally, a systems engineer must attain a broad knowledge of the several disciplines involved in the development of a complex system. Clearly, it cannot be as deep as the knowledge possessed by the specialists in these areas. However, this definition raises the question: how much broad and deep is the knowledge for a systems engineer? For the purpose of illustrating the typical scope of a systems engineer's responsibilities, it is useful to create a specific model for the complex systems. By its nature, it consists of a number of major interacting elements, generally called subsystems, which themselves are composed of more detailed entities, and so on, down to primitive entities usually referred to as parts. In our work, each complex system can be subdivided into five levels: • System (L1), a set of interrelated elements that work together to achieve a specific objective; • Sub-Systems (L2), the major portions of the system that perform a closely related subset of the overall system functions; • Components (L3), the middle-level entities of system that perform a specific functionality; • Sub-Components (L4), which perform elementary functions and are composed of several parts; • Parts (L5), which perform functions only in combination with other parts. For this reason, our model is also known as 5-Level Hierarchical Model. The knowledge domains of a systems engineer extend from the highest level, the system and its environment, down through the middle level of components. At the same time, the design specialist’s knowledge extends from the lowest level of parts up through the components level, at which point their two knowledge domains “overlap”. This is the level at which the systems engineer and the design specialist must communicate effectively, identify and discuss technical problems and negotiate workable solutions. 3.2 Process dimension The evolution of a particular new system from the time when a need for it is recognized, through its development and operational use, is a complex effort, that is called system development process. Typically, it requires several years to complete, it is made up of many tasks and has a specific schedule and budget. Furthermore, the introduction of a new technology inevitably involves risks, which must be identified and resolved as early as possible. All these factors require that the system development must be conducted in a step-by-step manner, in which the success of each step is demonstrated, and the basis for the next one validated, before a decision is made to proceed to the next step. The term system life-cycle model is commonly used to refer to the organization of the stepwise evolution of a new system, from concept through development, operation, maintenance and disposal. The set of lifecycle models subdivide the system life into a set of basic steps that separate major decision milestones. Therefore, the derivation of a life-cycle model is a useful tool to organize the building of complex systems. The second dimension for our MDSE Template is embodied by the SE life-cycle model [15], which consists of three stages and eight phases. The first two stages encompass the developmental part of the life-cycle, while the third the maintenance part. Such stages will be referred to as (1) concept development stage, which is the initial stage of the formulation and definition of a system concept to best satisfy a valid need; (2) engineering development stage, which covers the translation of the system concept into a validated physical system design meeting the operational, cost and schedule requirements; and (3) post-development stage, which includes deployment and support of the system throughout its useful life. The concept development stage, as the name implies, embodies the analysis and planning that is necessary to establish the need for a new system. SE plays the lead role in translating the operational needs into technically and economically feasible system concept. This activity, referred to as systems architecting is illustrated in the MDSE example application discussed in Section 4. The engineering development stage corresponds to the process of engineering the system to perform in the operational environment the functions specified in the system concept. Finally, the post-development stage starts soon after the system successfully undergoes its acceptance testing and is released for operational use. 3.3 Method dimension While each phase of the process is designed for specific problems, it is possible point out a set of activities that tends to iterate from a given phase to the next one. In this paper we use an iterative set of activities that will be referred to as the systems engineering (SE) method model. It can be thought of as the systematic application of the scientific method to the engineering of a complex system. It consists of the following basic activities: requirements analysis, functional definition, physical definition and design validation. Such four activities are carried out in each phase of SE life-cycle model and vary in their specifics depending on the type of the system and the phase of its development. 3.4 Technique dimension In this paper, model-driven engineering is considered a special technique that uses the model as the primary artifact to support the construction of complex systems. The term "technique" is used to emphasize the study and the description of the Tm dimension related to the Mm dimension. As aforementioned, the goal of model-driven engineering is to increase the level of automation of the processes and facilitate the interoperability between the implemented system. In recent years, this technique has been adopted with success in the development of various complex systems (military, space, automotive, etc.). Consequently, we have witnessed the emergence of several ad-hoc customizations, depending on the application domain, processes and business methods applied. This paper specifically focuses on the OMG MDA incarnation [16], which defines the guidelines for the implementation of software-intensive systems through the use of models. MDA must be intended as a family of technology standards, through which it provides higher levels of automation and better interoperability among the various systems technologies adopted. The typical "heterogeneity" of the technology stacks is dealt with introducing the concepts of metamodeling and model transformation, as illustrated in the 3-layer architecture of Figure 1. Metamodeling is an architectural abstraction that provides the foundations for construction, manipulation and validation of models. Model transformation is related to a fundamental task associated with the productive and automated use of models. In the modeling stage, the designer has the task of building a so-called PIM (platform independent model), which is the representation of the application domain in a technology-neutral way. Subsequently, the PIM is transformed into one or more PSMs (platform specific models), which are models that contain information specific to a given technology stack, and eventually into the implementation code of the software components. 3.5 Languages dimension In this section, we introduce the languages that support the Tm dimension. UML is the premier language at the basis of the MDA metamodeling architecture. UML is a general purpose language that allows the construction of hardware models and software for the representation of applications and systems of different nature. UML is the base language that has been extended by use of the MOF-based profiling mechanism to provide SysML, a lightweight extension that has rapidly become the standard modeling language in the SE domain. As mentioned in the previous sections, a core concept of MDSE is provided by the automated transformation of models. QVT (Query/View/Transformation) is the MDA standard that deals with the specification of model transformations [14]. Queries define the procedures to traverse a model and extract parts of it. Views are instances derived from the models, while transformations deals with the automated generation of models by use of appropriate mappings that can be specified through declarative (i.e., QVT/Relations) or imperative (QVT/Operational Mappings) languages. Finally, XMI (XML Metadata Interchange) [13] and OCL 2.0 (Object Constraint Language) [17] are side standards commonly used in a MDSE effort. XMI is used for defining, exchanging and integrating processing data objects in XML format. XMI specifies an open information exchange model that enables the exchange of object oriented data structures in a standard XML-based way, enabling interoperability between applications. OCL is a formal specification language that allows the definition of constraints over model elements through a syntax based on the first-order predicate calculus. Through this mechanism it is possible to describe assertions that bind the values of attributes, as well as define preconditions and post-conditions that must be satisfied by modeling elements. 4. MDSE example application This section illustrates an example application of the proposed MDSE methodological template to the development of a software-intensive system in the naval electronic warfare domain. The example makes use of the SE life cycle model as process and the SE method model as method. The main effort has focused on the concept definition phase, by iterating the following activities: requirements analysis, functional analysis, physical allocation and testing/validation. All such activities can be traced back to a model-based approach, which, although highly structured, is managed manually by the system designer. Furthermore, the concept definition phase also introduce the transition from the system design view to the related software-oriented design view. Consequently, it is necessary to build models that emphasize the software application building. These issues were dealt with by using a model driven approach. Considering a SysML model that represents the system view, the systems engineer and the software design specialist agree on a set of transformation rules from SysML to UML. These rules are properly encoded in the QVT language, allowing the automatic generation of an UML model, which represents a complete baseline to proceed with the engineering activities. 3.1 MDSE: Template Instantiation The first step is the instantiation of the MDSE methodological template, introduced in the previous sections. The quintuple has been instantiated as follows: • Environment (Em): the example application considers a software-intensive system, which may be associated to the naval electronic warfare domain. This term refers to the use of various weapon systems in order to prevent the enemy attack operations against its own marine equipment. Using the hierarchical model, the following three architectural levels have been identified: o System (L1): CMS (Combat Management System) and EWS (Electronic Warfare System) o Sub-System (L2): EWS is divided in: § RESM (Radar Emitter Support Measure) § RECM (Radar Emitter Counter Measure) § DLS (Decoy Launch System) § EWMU (Electronic Warfare Management Unit) § EWMU proxies o Component (L3): EWMU related software elements. • Process (Pm): as aforementioned the example application focuses on the concept definition phase related to the SE life cycle model. • Method (Mm): the method is a mix of the OOSEM and Telelogic Harmony methods, which are used to drive the transitions between activities. • Technique (Pm): The technical model Tm coincides with the family of the MDA technological standards discussed earlier. Such standards are fully supported by the tool Topcased Version 5.1.0 [18]. Specifically, SysML/UML models are edited by use of Topcased version 2.0, the editing of profiles is supported by Papyrus UML 0.9 [19] and finally, the specification and execution of model transformations is managed through the QVT-Operational plug-in, version 3.0 [20]. • Languages (Lm): The choice of the languages addresses the use of SysML [3] and UML [4] to perform modeling tasks and the QVT-Operational Mappings language to support the transformation operations. 3.2 MDSE: Concept Definition In the concept definition the functional requirements into a model, intended as a baseline for the engineering activities. The following activities have been carried out: 1. Requirements analysis: errors have been eliminated and the relative quantification was performed. Finally, we provided the traceability to the operational requirements (system capacity); 2. Functional definition: use cases and related execution scenarios have been defined. The features have been identified and allocated to SysML blocks related to the sub-systems; 3. Physical allocation: the number of EWMU software components and their allocation has been determined; 4. Testing and validation: tests to validate the interfaces between the EWMU and other sub-systems have been planned and carried out. For the sake of brevity, Figure 2 illustrates the resulting SysML block definition diagram only. Figure 2. Block Definition Diagram for the example case study 3.3 MDSE: SysML/UML Bridge The execution of the concept definition phase has highlighted two critical issues that can make the process management more difficult and less efficient, the former being the use of manual modeling activities, which are effort and time consuming, and the latter being the derivation of software models from system models, which can be error-prone and not easily traceable. The adopted solution consists in the specification of a SysML/UML bridge based on an automated PIM-to-PSM transformation coded in the QVT/Operational Mappings language. Although SysML is defined as a UML profile, in this context the UML model is considered platform-specific due to the fact that the transformation refines the SysML model with details related to the software "platform" described by use of a UML model. As an example, Figure 3 illustrates the specification of a transformation rule that is executed to decouple sub-systems and proxies by use of a publish/subscribe paradigm. Figure 3. Example transformation rule coded in the QVT language 4. Conclusions and future work The application of the proposed MDSE methodological template has provided various insights that give useful guidelines for future design work. The analysis and the production of a complex system must be supported by tools and mature technologies. Each phase of the development process must be highly structured, so it is necessary to define the documents that must be produced or the tests that are to be planned and executed. Finally, it is essential to adopt solutions that can be widely recognized, from both scientific and business viewpoints. The limitations identified in the example application can be traced back to the adopted methodological template. At process level, the model-driven approach has been applied in two stages, but can also be profitably extended to the engineering step. Furthermore, the object-oriented method alone is not sufficient and also functional analysis and predictive performance analytics should be carried out. Moreover, MDA techniques alone are not sufficient, as they focus their efforts on aspects of design models. In software intensive applications, techniques for model-checking correlated with the validation of the models are frequently used. These aspects suggest interesting challenges that may be faced as future work: the evolution of the template in a methodological framework that can fully support the production activities. References [1] DoD Architectural Framework, version 2.02, available from http://dodcio.defense.gov/Portals/0/Documents/DODAF.pdf. [2] TOGAF Version 9.01, available from http://pubs-opengroup.org/architecture/togaf9-doc/arch. [3] Object Management Group, System Modeling Language (SYSML), version 1.2, June 2010. [4] Object Management Group, Unified Modeling Language (UML) Infrastructure, version 2.1.2, November 2007. [5] Jeff A. Estefan “Survey of Model-Based Systems Engineering (MBSE) Methodologies”, May 25, 2007. [6] Baker, Loyd, Clemente, Paul, Cohen, Bob, Permenter, Larry, Purves, Byron, and Pete Salmon, “Foundation Concepts for Model Driven System Design,” white paper, INCOSE Model Driven Systems Design Interest Group, International Council on System Engineering, Jul. 15, 2000. [7] International Council on Systems Engineering (INCOSE), Systems Engineering Vision 2020 INCOSE-TP-2004-004-02 Version 2.03, September 2007. [8] Martin, James N., Systems Engineering Guidebook: A Process for Developing Systems and Products, CRC Press, Inc.: Boca Raton, FL, 1996. [9] Bloomberg, Jason and Ronald Schmelzer, Service Orient or Be Doomed!, John Wiley & Sons: Hoboken, New Jersey, 2006. [10] MLT-STD-498 Application and Reference Guidebook, 31 January 1996. [11] ANSI/EIA 632 Standard, Process for Engineering a System, 7 January 1999. [12] Object Management Group, Meta Object Facility (MOF) Core Specification, version 2.4.1, June 2013. [13] Object Management Group, XML Metadata Interchange (XMI) Specification, version 2.4.2, April 2014. [14] Object Management Group, Meta Object Facility (MOF) 2.0 Query / View / Transformation Specification, version 1.0, April 2008. [15] A. Kossiakoff, W.N. Sweet, S.J. Seymour and S.M. Biemer. System Engineering Principles and Practise, 2end Edition. Wiley – 2011. [16] Object Management Group, MDA Guide, version 1.0.3, 2003. [17] Object Management Group, Object Constraint Language, version 2.4, 2014. [18] Topcased version 5.1.0 , available from http://www.topcased.org. [19] Papyrus version 0.9, available from http://www.eclipse.org/modeling/mdt/downloads/project/papyrus. [20] QVT Operational Plug-in version 3.1.0 , available from http://projects.eclipse.org/projects/modeling.mmt.qvt-oml.