=Paper=
{{Paper
|id=Vol-2060/mekes5
|storemode=property
|title=Requirements for Modeling Dynamic Function Networks for Collaborative Embedded Systems
|pdfUrl=https://ceur-ws.org/Vol-2060/mekes5.pdf
|volume=Vol-2060
|authors=Alexander Ludewig,Marian Daun,Ana Petrovska,Wolfgang Böhm,Alexander Fay
|dblpUrl=https://dblp.org/rec/conf/modellierung/LudewigDP0F18
}}
==Requirements for Modeling Dynamic Function Networks for Collaborative Embedded Systems==
Ina Schaefer, Loek Cleophas, Michael(ed.): 2018, < book title>, Modellierung Lecture Notes in Informatics (LNI), Gesellschaft für Informatik, Bonn 791 in der Entwicklung von kollaborativen eingebetteten Systemen (MEKES) Requirements for modeling dynamic function networks for collaborative embedded systems Alexander Ludewig 1, Marian Daun 2, Ana Petrovska 3, Wolfgang Böhm3, Alexander Fay1 Abstract: Through advances in information technology embedded systems have the capability to collaborate with one another and to merge into collaborative system groups (CSGs) thereby generating added value that a single system alone could not achieve. In order to be able to realize the development of these collaborative embedded systems (CESs) as well as the actual process of the collaboration, information models are used that describe different functions of the CESs with which they contribute to the CSG. The modeling of the individual functions of the CES and the connections of these different functions in the CSG as a function network forms the basis of the representation and realization of the overall function of the CSG with which the common added value is to be achieved. The aim of this paper is to present existing approaches of describing the functions in different domains and to present the requirements for the modeling of function networks in the context of CES and CSG. The requirements have been collected in close collaboration with industry partners from the CrESt project 4. Keywords: function networks, functional modelling, model based systems engineering, collaboration, cyber-physical systems, embedded systems, function centered engineering 1 Introduction Nowadays, collaboration within a group of embedded systems allows achieving complex high-value goals, which the individual systems are not able to achieve on their own. Consequently, embedded systems do no longer only sense their own environment by means of sensors and change their context by using actuators, but, furthermore, closely share information and collaborate with other embedded systems. Those embedded systems are also referred as collaborative embedded systems (CESs). This holds for various domains, although the kind of this interaction can vary greatly depending on the application domain (e.g., [KSL03], [VF13]). Due to the varying application scenarios of CESs, there is an urgent need for methods to master the complexity of development as well as the actual process of collaboration at runtime (cf. [BS14], [SP12]). 1 Helmut-Schmidt-University Hamburg, Institute of Automation Technology, Holstenhofweg 85, 22043 Hamburg, ludewiga@hsu-hh.de, alexander.fay@hsu-hh.de 2 University of Duisburg-Essen, paluno – The Ruhr Institute for Software Technology, Gerlingstr. 16, 45127 Essen, marian.daun@paluno.uni-due.de 3 Technical University of Munich, Department of Informatics, Boltzmannstr. 3, 85748 Garching by Munich, petrovsk@in.tum.de, boehmw@in.tum.de 4 The CrESt project aims at developing a consistent methodology to develop collaborative embedded and cyber-physical systems. It is publicly funded by the German Federal Ministry of Education and Research 280 Alexander AlexanderLudewig, Ludewig, Marian Marian Daun, Daun, Ana Ana Petrovska, Petrovska, Wolfgang Wolfgang Böhm, Böhm, Alexander Alexander Fay Fay To achieve such common goals by collaboration, the different CESs form a collaborative system group (CSG). For proper functioning of the CSG and achieving the CSG’s common goals, it is necessary to describe the contribution of each single CES in that group with respect to the goals and functionality the CSG shall possess. As functionality builds the basis of all CESs [ZH13], as well as the CSG’s, it is important to evolve existing function-centered engineering approaches in such a way that they can take the needs of developing CESs into account. In this paper, we contribute a study of current functional modeling and analysis approaches, as well as general requirements for functional approaches to be used for the engineering of CESs. The requirements have been elicited by surveying industry needs from the automotive, robotics, automation, and energy domains. The main objective of this paper is to systematically derive general requirements for function-centered engineering approaches for CESs. Therefore, Section 2 analyzes existing research approaches that focus on modeling of functions w.r.t. the ability to document collaboration aspects. Building upon this, we elicit the detailed requirements. Section 3 defines the methodological approach to requirements elicitation from industry. Subsequently, Section 4 discusses the results in terms of the final set of common requirements for functional modeling approaches. Section 5 concludes the paper and shows how requirements can be used to evolve an existing function-centered engineering approach. 2 Functional Approaches – State of the Art In this section, we provide insight into current functional approaches and the objective of extending existing approaches. To do so, Sections 2.1 to 2.3 give a brief introduction to the foundations of functional modeling and analysis approaches. Thus, we also elaborate on the different uses of the term “function”. Section 2.4 presents own previous work on function-centered engineering, which is based on the approaches of Sections 2.1 – 2.3 but does not take the engineering of CESs into account. 2.1 Functions in Systems Engineering and Mechanical Engineering The effort to model functions as function networks has emerged as part of a framework from a model-based development approach [AL16]. This model-based development approach as part of systems engineering pursues the goal of supporting technically complex development processes through information models. These models should seamlessly replace the document-based exchange of information [FMS12]. With increasing technical complexity of the products and in particular their capability of collaboration, it has proven useful to use central information models already in early stages of development. This way, subsequent media breaks and redundancies shall be Requirements for modeling dynamic function networks for collaborative embedded systems Requirements for modeling dynamic function networks for collaborative embedded systems 813 avoided and a common understanding of all actors involved in the development process as well as the requirements of the customers shall be achieved. In particular, the relevant depiction of dependencies between system elements is made possible by the use of models [KBD16]. The development of the model-based systems engineering according to [WA15] originated from a development approach which is mainly characterized by the disciplines of software and electrical engineering. The development of mechatronic systems, on the other hand, covers these disciplines as well, but originated from a mechanical point of view. Only by the increasing share of software and their influence on the capabilities of the systems, the development process according to [VDI2206] changed over time. The capability of communication and collaboration between different mechatronic systems through the possibilities of information technology has shaped another term called cybertronic systems (CTS) [ME14]. A clear differentiation between the terms CES and CTS does not yet exist. However, the demand for model-based development processes is clearly emphasized again. Both within the existing development approaches of mechanical engineering as well as in the context of software development and systems engineering, the term ‘function’ is used and has an important role. Before considering function networks, a general differentiation of the functional concept is therefore necessary. Only with consistent understanding, a future application of function networks can take place in the different domains. 2.2 Foundations: Software Engineering Across the literature, there are different perspectives when it comes to defining the term function, mainly coming from different standardized sources, varying between functions that can be user-centered and goal-centered, and, depending on the concrete context, considering functions as a part of the system and as a viable segment in many steps of the software development process. Accordingly to [ISO2476517] a function is a defined objective, or characteristic action of a system or component. Additionally, a function can be seen as a software module that performs a specific action, is invoked by the appearance of its name in an expression, may receive input values, and returns an output. [ISO2476510] and [ISO26514] give more user-centered function definition, as feature or capabilities of an application, seen by the user [ISO2476510] and as part of an application that provides facilities for users to carry out their tasks [ISO26514]. [ISO2476510] defines the term function as an aspect of the intended behavior of the system. The function’s input and outputs are considered in [ISO2476510], where the authors define the function as a transformation of inputs to outputs, by means of some mechanisms, and subject to certain controls, that is identified by a function name and modelled by a box. Function’s input is defined as data received from an external source, and as the entered data or the process of entering data into an information processing system or any of its parts for storage or processing. On the other side, function’s output is defined as data transmitted to an external destination, and the process by which an 482 Alexander AlexanderLudewig, Ludewig, Marian Marian Daun, Daun, Ana Ana Petrovska, Petrovska, Wolfgang Wolfgang Böhm, Böhm, Alexander Alexander Fay Fay information processing system, or any of its parts, transfer data outside of that system or part. When it comes to considering function as part of the software development process, the function itself is mostly related to the implementation/development phase of the development process, since mainly the system’s functionality creation is being done in this phase. Nevertheless, the function has a deep impact in underpinning other software development phases. It has been related to the requirements and design phase while considering the project definition segment of the development process, and contrary, while focusing on verification segment, the function has been related to the testing phase. [ISO2476510] relates the function to the requirements phase of the software development process, and introduces the term, functional requirement, as a requirement that specifies a function that a system or system component must be able to perform. Functional design, referred to also as architectural design [ISO2476510] is the process of defining the working relationships among the components of a system and the result of that specific process. Functional testing [ISO2476510] can be considered as black-box testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions, or as performance testing that is conducted to evaluate the compliance of a system or component with specified functional requirements. Functional modeling is used to model a wide variety of automated and non-automated systems. For new systems, it may be used first to define the requirements and specify the functions and then to design an implementation that meets the requirements and performs the functions. A functional model is a structured representation of the functions, activities or processes within the modeled system or subject area. It describes system functions (i.e. actions, processes, operations), functional relationships, and the data and objects that support systems analysis and design, enterprise analysis, and business process re-engineering [ISO2476510] requirements. 2.3 Foundations: Mechanical Engineering The term function can also be found in development processes of mechanical engineering and mechatronic systems. In various guidelines, such as [VDI2221] and [VDI2222], the function is used differently, among other things as a result of a phase of development between the concrete definition of requirements or specific problem description and the finding of fundamental solutions for the system to be developed. According to [PA07], the main function of the system to be developed is initially set up, which represents a problem formulation by means of a noun-verb combination on an abstract level. According to [VDI2206], this problem formulation is also referred to as the target function for the required behavior under operating conditions. These input conditions are described as the input of the function by the flow quantities material, energy and information. The output of the function is represented here by the same flow variables with changed characteristics. The function can therefore be understood as a Requirements for modeling dynamic function networks for collaborative embedded systems Requirements for modeling dynamic function networks for collaborative embedded systems 835 black box which is characterized by the ability to produce an output based on an input. In the further steps of the development, the target function is decomposed into sub- functions in order to reduce the complexity of the task to be solved. The individual sub- functions are connected with each other by the respective inputs and outputs, thereby creating the functional structure. Sub-functions can be further subdivided into basic functions to a certain degree. The functional structure is detailed so far until action principles and solution elements can be found to fulfil each basic function. Depending on the specific application domain, there are different guidelines that suggest appropriate subdivisions into basic functions. For mechatronic systems, a distinction is made between controlling, regulating, measuring and other functions. For example, [VDI3813] divides room automation functions into different classes. The common feature is the value-free, solution-neutral presentation, which does not indicate with which mechanisms, types of energy or information the actual implementation takes place. 2.4 Previous Work on Functional Modeling and Analysis of CES In modern system development, functions are designed to be shared between the different embedded systems (e.g., [BP10], [JS00], [PBK07]). Hence, the SPES_XT modeling framework allows for separation between system functions and context functions within its extension for defining the functional design (see [AL16]) as well as within the SPES_XT context modeling framework (see [DA16]). The term system function refers to a logical function, which is part of the context subject. Context functions refer to logical functions, which are available to the context subject, but are part of context objects. The detailed meta model for functional modeling as specified by SPES_XT is given by Fig. 1. As can be seen, functions are structurally connected and have a specific function behavior. 684 Alexander AlexanderLudewig, Ludewig, Marian Marian Daun, Daun, Ana Ana Petrovska, Petrovska, Wolfgang Wolfgang Böhm, Böhm, Alexander Alexander Fay Fay class EC4-Meta-Model Behav ior - real-time properties Timing Requirement determines 1..* 1..* +Behavior determines Input/Output Behav ior Function Behav ior of Depender 0..* 1 - mapping states determines 0..* 1 +Behavior of Dependee 0..* 1..* 1 concerns describes Input/Output Relation describes +Dependee 1..* 1..* Input/Output 1..* 0..* Relation Dependency 0..* Function depends Port +Depender * 1..* 2..* +Sender 1..* 0..* 0..* +Receiver 1..* 1..* 1..* sends receives System Function 1..* 1..* Restraint Enablement Message Interaction transports 1 1..* Context Function 1..* Prev ention Obligation predicates Fig. 1: Meta model for functional modeling The SPES_XT functional modeling framework combines concepts from the current state of the art (see Section 2.1 - 2.3) to allow for continuous function-centered engineering of embedded systems. For instance, it allows distinguishing between system functions and context functions, which is, among others, needed to define which functions are in the scope of the current development project and which preexisting functions are used from other systems embedded in the same super systems. For example, to allow defining that an Adaptive Cruise Control makes use of basic functions provided by the Electronic Stability Control to determine the car’s current speed and for emergency braking to prevent rear-end collisions. Furthermore, functions can be defined across different abstraction levels making use of composition and decomposition. In addition, the engineer is provided with the possibility to define the functions behavior on the respective level of granularity needed for a certain situation. For example, in early stages of requirements engineering the basic functional behavior to be implemented is defined, while in later phases a detailed port behavior of the function can be defined and checked against the original defined high-level behavior on the requirements level. 3 Methodological Approach To meet the objectives for extending functional modeling approaches for coping with the collaborative nature of modern CES, we elicited industry’s requirements. To achieve Requirements for modeling dynamic function networks for collaborative embedded systems Requirements for modeling dynamic function networks for collaborative embedded systems 857 this, we relied on a three-step approach involving surveys, workshops and interviews. This section summarizes the methodological approach by detailing the single steps: First Step. In the first step, requirements for an engineering methodology for CESs have been defined by industry professionals while being supported by academia. To ensure wide applicability of the elicited requirements, requirements were elicited in six categories: flexibility, dynamicity, and adaptiveness of architectures, as well as openness, uncertainty, and awareness of context changes. To ensure domain independent applicability of the elicited requirements, requirements were exemplarily instantiated for four different industrial engineering examples from the automotive, robotics, industrial automation, and energy domain. For this first step, we basically rely on requirements elicitation conducted among industry and academic partners of the CrESt project. The elicitation was mainly conducted in several workshops for each of the six categories. Second Step. After general requirements for the engineering of CESs had been defined in Step 1, we inspected these requirements in a second step, identifying requirements that to, at least, some extend impact functional modeling and analysis approaches. Identification was conducted by the authors. Therefore, specified requirements of the six categories were reviewed and all requirements potentially relevant were identified. Subsequently, these requirements were discussed among the authors to achieve agreement on inclusion or exclusion. The final decision of inclusion and exclusion of requirements to the function relevant set of requirements was made after a further discussion, where cases of doubt have been explicitly discussed in more detail. Third Step. Based on the identified set of requirements that was relevant for defining a function-centered engineering methodology, function-specific requirements were derived by the authors, neglecting the not-relevant parts of the requirements. These requirements were grouped and aligned to avoid duplicates and redundancies. Again, agreement among the authors was achieved by various discussions. In discussions, for instance, the question how fine-grained requirements shall be defined, for trading off between the easy understandability of overall requirements and the threat to include non-function related parts within the requirements, was considered. For example, when it comes to collaborating systems the CSG commonly exhibits a varying functional behavior, depending on the current members of the CSG. However, in single systems engineering there are far more reasons for variability. The first impression to exclude such common variability as out of scope was rejected after identifying the further need to also consider variability-intensive CES partaking in a CSG. Thus, the final set of requirements for extending the function-centered engineering methodology from Section 2.4 was defined, which will be introduced in Section 4. 886 Alexander AlexanderLudewig, Ludewig, Marian Marian Daun, Daun, Ana Ana Petrovska, Petrovska, Wolfgang Wolfgang Böhm, Böhm, Alexander Alexander Fay Fay 4 Requirements In the following chapter, the mentioned groups, into which the requirements have been divided, will now be discussed in more detail. The groups claim to be as general as possible for all considered domains and are therefore general in their description. By this representation, misinterpretations shall be avoided. The first group of requirements R1 includes the aspect of modeling the overall function. When different CESs collaborate, they contribute their individual functions, and a higher overall function can emerge. For modeling aspects, these distribution needs to be taken into account as well as the overall function that results from the interplay. Depending on the domain, a certain type of orchestration is required to make this overall function manageable. One possible way is to use a central instance that performs the orchestration tasks. Since this central instance must be assumed to be dynamic and not constant, depending on the application scenario, there is a need to appoint a CSG leader in the context of the collaboration. If the process of determining the leader is understood as a function, this functionality must be taken into account within the modeling. In general, the capabilities of influence that individual systems have on each other should be able to be mapped. The subject of collaboration between individual systems involves the possibility that the CESs automate just this collaboration. To carry out the collaboration, the information exchange between the individual systems is required. R2, therefore, includes the requirements associated with the communication of functions between CESs. The function describes the specific contribution which the individual CES can provide within the framework of the collaboration. For this, the ability to formally communicate this unique function, as well as its boundaries, is required. This furthermore requires a semantically correct description of all the functions of the CESs. The next group of requirements R3 includes the requirements arising from the dynamic and open connections between the CESs. The number of CESs within the CSG may vary over time. CESs can leave and join the CSG. These changes in the composition of the CSG must be taken into account in the modeling, as well as the influence of the variable composition of the overall function. It should also be kept in mind that the CES within the CSG may be subject to change. Among other things, these changes may be due to the fact that the CES changes due to variability. Since the topic of variability has a large scope, it should not be considered here. It should be noted, however, that not only the overall functions of the CSG can change due to the varying number of CESs, but also on different levels, the CES itself. Collaboration between individual CESs serves to achieve a common goal that the single system alone could not achieve. The exercise of functions of CESs serves to achieve the goals. Depending on the application domain, there may also be different conflicting goals during the collaboration. In the fourth group R4, therefore, relationships between functions and goals in the modeling have to be considered. In particular, the mapping of Requirements for modeling dynamic function networks for collaborative embedded systems Requirements for modeling dynamic function networks for collaborative embedded systems 879 priorities of individual CES as well as the relation of priorities to the overall function must be taken into account. The fifth group of requirements R5 includes various aspects for modeling errors and failures in relation to function. Among other things, it requires the execution of different functionality to compensate for errors and failures. Corresponding functionalities have to be considered for future realization in the modeling. A simple example at this point is the unplanned failure of a function of a CES within the CSG. If this failure affects the overall function of the CSG, then a compensation is required. Among other things, this can be that another CES, which can also provide this function, compensates for the failure. In group R6, requirements have been compiled concerning the compatibility between functions of individual CESs as well as requirements for the correctness of the execution of functions during collaboration. In order to be able to assess the reliability of the overall function of the CSG and the correctness through appropriate functionality, a modeling is required which represents both the respective contributions to the overall functions as well as planned and unplanned emergent effects. In the last group R7, modeling requirements have been collected concerning the functionalities of the restructuring of the CSG. While requirements for modeling variable functional structures at different levels have been collected in R3, R7 includes the concrete modeling of the functionality to perform these changes. An explicit modeling of this function is necessary to implement corresponding dynamic structures of the CSG at runtime. 5 Outlook The capability of embedded systems to collaborate can only be achieved if the various requirements directed to these capabilities are taken into account in the early stages of development. Model-based development approaches can be used as a basis for formally unambiguously describing and interlinking all required information. Due to the early modeling of required functional properties of the systems to be developed, these functional properties can be verified already at very early stages of development. The modeling of functions during the development of the CES can find crucial application beyond this development process at runtime. The basis of the collaboration is that the capabilities and limitations of CESs are formally described as having a unified understanding of system functions and context functions within the CSG. Not only does this constitute the essential condition for the provision of a higher added value which the CSG seeks to achieve, but it can also be used to carry out appropriate analyses on the adequacy of the functions performed on the basis of function networks. In addition to the analysis of desired functions, unwanted functional interactions can be detected. Fulfilling the mentioned requirements presented in Chapter 4 is an essential aspect of developing 88 Alexander 10 Ludewig,Marian Alexander Ludewig, Marian Daun, Daun, AnaAna Petrovska, Petrovska, Wolfgang Wolfgang Böhm,Böhm, Alexander Alexander Fay Fay future CES. For this purpose, appropriate methods are being researched in the project CrESt. Acknowledgements. This research has partially been funded by the German Federal Ministry of Education and Research under the grants no. 01IS16043A, 01IS16043U, and 01IS16043V. 6 References [Al16] K. Albers et.al.: System Function Networks. In: Pohl, Broy et al. (Hrsg.): Advanced model-based engineering of embedded systems: Extensions of the SPES 2020 methodology. Cham, Switzerland: Springer, S. 119–144, 2016. [BP10] S. Brinkkemper, S. Pachidi: Functional Architecture Modeling for the Software Product Industry. In: Ali Babar, Gorton (Hrsg.): Software architecture: 4th European conference, ECSA 2010. Berlin: Springer, S. 198–213, 2010. [BS14] M. Broy, A. Schmidt: Challenges in Engineering Cyber-Physical Systems. In: IEEE Computer Volume: 47, Issue: 2, S. 70–72, 2014. [VDI3813] VDI GUIDELINE 3813. Building automation and control systems (BACS) - Room control functions (RA functions), 2011. [Da16] M. Daun et.al.: SPES XT Context Modeling Framework. In: Pohl, Broy et al. (Hrsg.): Advanced model-based engineering of embedded systems: Extensions of the SPES 2020 methodology. Cham, Switzerland: Springer, S. 43–57, 2016. [VDI2206] VDI GUIDELINE 2206. Design methodology for mechatronic systems, 2004. [FMS12] S. Friedenthal, A. Moore, R. Steiner: A practical guide to SysML: The systems modeling language. 2nd ed. Waltham, MA: Morgan Kaufmann, 2012. [JS00] A. Jantsch, I. Sander: On the roles of functions and objects in system specification. In: CODES 2000 (Hrsg.): Proceedings of the eighth international workshop on Hardware/software codesign, S. 8–12, 2000. [KBD16] L. Kaiser, C. Bremer, R. Dumitrescu: Exhaustiveness of Systems Structures in Model-Based Systems Engineering for Mechatronic Systems. In: 3rd International Conference on System-Integrated Intelligence (SysInt 2016), 2016. [KSL03] G. Karsai, J. Sztipanovits, A. Ledeczi: Model-integrated development of embedded software. In: Proceedings of the IEEE - Volume:91, Issue: 1, S. 145–164, 2003. [Me14] H. Meissner et.al.: Model-Based Development Process of Cybertronic Products and Production Systems. Advanced Materials Research, Vol. 1018, 2014, S. 539–546. Requirements for modeling dynamic function networks for collaborative embedded systems Requirements for modeling dynamic function networks for collaborative embedded systems 89 11 [VDI2222] VDI GUIDELINE 2222, BLATT 1. Methodic development of solution principles, 1997. [Pa07] G. Pahl et.al.: Konstruktionslehre: Grundlagen erfolgreicher Produktentwicklung; Methoden und Anwendung. 7. Aufl. Berlin, Heidelberg: Springer, 2007. [PBK07] A. Pretschner, M. Broy, I.H. Kruger: Software Engineering for Automotive Systems: A Roadmap. In: Future of Software Engineering, 2007. FOSE '07: IEEE, S. 55–71, 2007. [SP12] K. Sampigethaya, R. Poovendran: Cyber-physical integration in future aviation information systems. In: Digital Avionics Systems Conference (DASC), 2012 IEEE/AIAA 31st: IEEE, 2012. [VDI2221] VDI GUIDELINE 2221. Systematic approach to the development and design of technical systems and products, 1993. [ISO26514] ISO/IEC 26514:2008. Systems and software engineering — Requirements for designers and developers of user documentation, 2008. [ISO2476510] ISO/IEC/IEEE 24765:2010. Systems and software engineering - Vocabulary, 2010. [ISO2476517] ISO/IEC/IEEE 24765:2017. Systems and software engineering - Vocabulary, 2017. [VF13] A. Vogelsang, S. Fuhrman: Why feature dependencies challenge the requirements engineering of automotive systems: An empirical study. In: Requirements Engineering Conference (RE), S. 267–272, 2013. [Wa15] D.D. Walden et.al. (Hrsg.): Systems engineering handbook: A guide for system life cycle processes and activities; INCOSE-TP-2003-002-04, 2015. 4. ed. Hoboken, NJ: Wiley, 2015. [Zh13] L. Zhang: Specifying and Modeling Automotive Cyber Physical Systems. In: Chen (Hrsg.): IEEE 16th International Conference on Computational Science and Engineering (CSE), 2013: 3 - 5 Dec. 2013, Sydney. Piscataway, NJ: IEEE, 2013.