=Paper= {{Paper |id=Vol-1250/paper4 |storemode=property |title=Towards Automating Interface Control Documents Elaboration and Management |pdfUrl=https://ceur-ws.org/Vol-1250/paper4.pdf |volume=Vol-1250 |dblpUrl=https://dblp.org/rec/conf/models/LouadahCL14 }} ==Towards Automating Interface Control Documents Elaboration and Management== https://ceur-ws.org/Vol-1250/paper4.pdf
     Towards Automating Interface Control Documents
              Elaboration and Management

               Hassna Louadah1, Roger Champagne1 and Yvan Labiche2
                 1
                     Ecole de technologie supérieure (ETS), Montréal, Canada
                        hassna.louadah.1@ens.etsmtl.ca
                          roger.champagne@etsmtl.ca
                             2
                                 Carleton University, Ottawa, Canada
                             labiche@sce.carleton.ca



       Abstract. Avionic systems have been migrating from the legacy federated ar-
       chitecture towards an integrated modular architecture (IMA). The IMA archi-
       tecture replaces the equipment principle by a set of interoperable components
       (hardware and software). The interoperability between the integrated compo-
       nents requires a detailed specification and description of their interfaces, which,
       in the avionic domain, is usually written in Interface Control Documents (ICD).
       However, ICD creation and usage during the integration process is challenging.
       In fact, the two main problems with the usage of ICDs are the lack of a com-
       monly accepted language to define and use them on the one hand, and the lack
       of tool support in their production and consumption. In this paper, we present
       our approach and methodology to overcome these limitations.


       Keywords: Interface, Interface Control Documents, Modeling, DSL.


1      Introduction

Avionic systems are one of the major parts of an aircraft that leads to the growing
increase of its cost (35 to 40% for civil aircraft, and over 50% for military aircraft)
[1]. Up to the 90s, avionic systems followed a classical federated architecture where
each equipment has its own avionic resources. However, due to the increasing com-
plexity of such systems, unprecedented technological progress, and economic con-
cerns, an innovative solution, developed and documented in ARINC-651 ”Design
Guidance for Integrated Modular Avionics” [2] has been proposed.
   As the legacy approach has reached its limits, the implementation of avionic sys-
tems for modern aircrafts converges towards the adoption of the Integrated Modular
Avionic (IMA) architecture [1]. Thus, the aerospace industry is in the middle of a
mutation, abandoning traditional federated architectures in favour of Integrated
Modular Avionics. An IMA architecture replaces the equipment principle by a set of
interoperable components (hardware and software). The interoperability between the
integrated components requires a detailed specification and description of their inter-
faces (e.g. their boundaries and points of interaction). To this end, the specification of
an interface should include the description, at different levels of abstraction, of its
physical and electrical characteristics, the communication protocols it uses as well as
the data exchanged with it. The detailed specification of an interface in the avionic
domain is usually referred to as an Interface Control Document (ICD).
   The Aerospace industry is facing a real problem while building IMA systems using
ICDs. This problem is related to (1) the manual creation of ICDs, (2) the manual use
of heterogeneous ICDs by system engineers/integrators to create an IMA system, and
(3) the manual verification and validation, especially verification of appropriate com-
position of components described by ICDs. These largely manual activities are tedi-
ous, very expensive, and error-prone. This is mainly due to the lack of a formal and
common language and/or a standardized format or method to enable the creation in an
unambiguous, complete, verifiable, consistent, and traceable manner of those ICDs,
and their use during integration.
   This research work aims to develop reliable and cost-efficient mechanisms to cre-
ate and manage ICDs. The ultimate goal of the project is to provide innovative tools
to system engineers to allow them to efficiently integrate equipments from different
suppliers, described by their ICDs, to provide avionic systems in commercial air-
crafts. To do so, our main idea consists in leveraging the strengths of model-driven
engineering to the development, use and verification of ICDs, in order to: help unam-
biguous description and representation of interfaces and ICDs; enable automatic veri-
fication and analysis of interfaces; enable the automatic generation of human-readable
ICDs in different formats.
   The rest of the paper is structured as follows. In section 2, we provide a snapshot of
recent works dealing with ICDs management. Afterwards, we present the proposed
approach and methodology to achieve our goals (section 3). Finally, conclusions and
future research directions are discussed in section 4.


2      Related Work

Despite the major role of the ICDs in the process of building avionic systems, only a
few recent research works have addressed the problems related to their manual man-
agement. In this paper, we restrict our discussion to the most significant contributions
which seem to be close to the solution we are looking for.
   Qian Chen defined a taxonomy of interfaces under the form of an inheritance hier-
archy [3]. The different dimensions that are accounted for in this taxonomy can be
interesting for multilevel abstraction representation and complexity handling.
   Rahmani and Thomson proposed a systematic methodology for modeling interfac-
es [4,5]. They have reused the principle of interfaces categorization and
hierarchization to provide a unique interface architecture topology for two interacting
subsystems. Thus, they defined a standard model for ICDs based on class diagrams.
Based on this standard, the ICDs of the interfacing sub-systems can be defined sepa-
rately, and then the consistency can be checked using the assembling rules defined
manually for this purpose. Furthermore, the authors have proposed a conflict detec-
tion approach which enables the verification of interface definitions correctness and
consistency [6]. However, interface requirements specification, which constitute one
of the main challenges of interfaces modeling and management, are not taken into
account in their work. In fact, an interface specification should include the set of as-
sumptions provided by the interfaced components and required for an efficient func-
tioning of the component, and the set of guarantees that the component promises to
other components via this interface.
   The same authors proposed a computer aided methodology for defining and con-
trolling subsystem interfaces [7], enabling a formal expression of interface require-
ments and mating rules of two subsystems. However, the interface is considered as a
connection between two ports, and thus, could exist only by having knowledge about
the two ends of such a connection. To overcome this issue, the authors have defined a
domain ontology, however it is more suitable for hardware systems interconnections
rather than software ones. Moreover, in avionic systems, we need to specify both
hardware and software interfaces.
   Pajares et al. [10] proposed a tool for ICD Management for embedded avionic sys-
tems. They defined a set of meta-models (data definition, data coding and communi-
cation architecture) for defining and managing ICDs in a formal way, capturing only a
subset of the information that one typically requires in an ICD. In a similar way, Tapp
defined a language to describe system interfaces and the various aspects surrounding
their data exchanges [11], though without mechanisms to specify constraints on the
interfaces. Luca de Alfaro et al. [12] on the other hand, focused only on constraints,
defining sets of assumptions and guarantees on an interface’s inputs and outputs vari-
ables respectively. In fact, the authors proposed a stateless interface language dubbed
assume/guarantee and particularly, the notion of interfaces composability, formally
verifiable, to check the interfaces compatibility of two components designed separate-
ly. Other works such as [9], [13] advocate the use of some tools but don’t bring sig-
nificant help to integrators in the ICD management process. Other authors proposed to
use SysML (Systems Modeling Language) in the context of interfaces modeling, but,
their approaches and consideration of interfaces do not meet our needs [14, 15]. In
fact, they are useful for defining interfaces of an already specified sub-system's inter-
actions and certification concerns, respectively.
   In summary, existing works propose interesting, partial solutions to our problem
but fail to provide a complete adequate solution due to one or more of the following
reasons:
─ Partial consideration. Some authors either overlooked the expression of interface
   requirements and constraints or restrict their definition of these requirements ne-
   glecting the interface characteristics and properties.
─ Partial definition of the interfaces domain aspects such as hardware interconnection
   and/or data concepts only.
─ Pairwise definition of interfaces. An interface is considered as a connection be-
   tween two interacting components, whereas, in our project, we need to define each
   component interface separately to be able to verify interfaces compatibility when
   integrating these components.
   Our solution will provide the following:
─ Include hardware and software aspects of interfaces, requirements (as assumptions
  and guarantees) and all characteristics (physical and electrical) and constraints of
  both IMA and federated architecture's interfaces, since the aerospace industry is
  progressively migrating from federated to IMA architectures.
─ Separate and independent definition of component interfaces to enable semi-
  automatic compatibility verification when integrating components.
─ The interface specification will include the description, at different levels of ab-
  straction, of its characteristics, the communication protocols used as well as the
  data exchanged through it.


3      Our Research Vision

Avionic systems and their hardware and software components interfaces must be well
defined and have good specifications (i.e. unambiguous, complete, verifiable, consis-
tent, and traceable). Interface specifications include different levels of abstraction,
from different perspectives: e.g., physical and electrical, data messaging, and commu-
nication protocols. Capturing these various characteristics can be done by defining a
Domain Specific Language (DSL).
    A promising approach to address these concerns is the use of the Model-Driven
Engineering (MDE) approach. In this context, the RTCA DO-331 standard [16] pro-
vides guidance for using model-based development and verification when designing
avionic software (and systems). In fact, MDE promotes the definition of DSLs de-
scribed using meta-models and enables model transformation which can be useful for
verification and simulation [8]. The project will define a Domain Specific Language
(DSL) for modeling interfaces and ICDs, and develop methods and tools enabling
automatic verification and analysis of interfaces.
    The first scientific challenge involves the understanding of what is needed when
modeling components with ICDs. This can be performed in collaboration with our
industrial partner which has extensive experience with the various types and formats
of ICDs. Moreover, a domain analysis enables us to identify the relevant concepts
(properties and meta-properties of ICDs) that should be considered in the context of
ICD modeling. Based on the acquired knowledge, we will be able to create a meta-
model, which is the most important ingredient for building a DSL, and define the
relationship between the domain defined concepts. Such a meta-model will describe
the abstract syntax of the DSL under construction [8]. The second scientific challenge
is to build the DSL by reusing/combining existing modeling languages based on their
closest concepts to DSL domain concepts. This should be done while following good
meta-modeling practices while providing sufficient expressiveness, taking into ac-
count the possibility for future extensions. The third challenge consists in defin-
ing/selecting an appropriate concrete syntax for the DSL. As the concrete syntax ex-
presses the user’s perception of the DSL, its definition should enable end users to
easily read, write and understand the models [8]. The fourth challenge consists in
building the DSL in such a way that allows us to implement and apply control mecha-
nisms on the interface and ICD models and so, enables semi-automatic control and
verification of the interfaces.
   In order to achieve our project objectives and overcome the challenges raised, we
propose the methodology illustrated in Fig. 1. In Fig. 1 (a), we present our approach
and planned methodology to achieve our research project goals, while Fig. 1 (b) de-
picts the DSL construction steps using the planned methodology. Our approach in-
tends to enable the specification of an interface without any knowledge of how it will
be used by other interfaces.
1. Domain analysis: to define concepts of "aspects of interest" related to the ICDs
   and interfaces. Considering a separate and independent definition of component in-
   terfaces, the domain concepts will include the hardware/software aspects of inter-
   faces, the communication protocols used, the data exchanged through it as well as
   the requirements and all physical/electrical of both IMA and federated architec-
   ture's interfaces.
2. Modeling languages study: to select a set of candidate languages able to model
   the DSL domain concepts defined in the first step. The set of the studied languages
   includes, so far, AADL [17], SysML [18], EAST-ADL [19], HRC (Heterogeneous
   Rich Components) of SPEEDS project [20] and AUTOSAR [21].
3. Case study modeling: a feasibility study to check the possibility of reusing or ex-
   tending existing modeling languages to build the DSL. The case study will be con-
   structed in collaboration with our industrial partners and will include all relevant
   domain concepts defined in the domain analysis phase.
4. Define a meta-model for the DSL: by defining the DSL abstract syntax and its
   well-formedness rules. Based on results of the previous step, we will decide to ei-
   ther reuse or combine the existing modeling languages to define our DSL abstract
   syntax, and select the most appropriate ones to be considered. The definition of the
   DSL meta-model in the case of combination can be performed by transforming
   each modeling language's meta-model to the chosen one. This will be restricted to
   the relevant meta-models' parts only.
5. Concrete syntax: define/select an appropriate concrete syntax for the DSL and its
   semantics, which allows defining the meaning of the DSL elements and therefore
   enables automatic transformations [8].
6. Verification and validation: on the one hand, to continuously validate the meta-
   model with the domain experts, to validate models against their meta-model's pre-
   scribed constraints and rules via automated checks, and, on the other hand, to es-
   tablish interface control and verification mechanisms to provide a semi-automatic
   control and verification of interfaces. The latter will be based on the separate and
   independent definition of component interfaces. This will provide an efficient way
   to detect any incompatibility between component interfaces during the integration
   process.
      Fig. 1. (a) Methodology phases, (b) DSL construction applying our methodology

   We are currently starting step 3. Wee have studied a set of modeling languages
based on their meta-model
                       model and domain concepts, and then performed a high level
selection of the potential candidates. Our study shows that the closest languages to
our domain concepts are EAST-ADL
                           EAST         and HRC, because of their hardware/software
ports and data descriptions
                 description as well as requirements specification abilities. We are
preparing the case study to verify the feasibility of reusing/combining the selected
modeling languages. This case study will be constructed in such a way that all domain
concepts (or at least the most important ones) will be taken into account.


4     Conclusion and Future Work

In this paper, we highlighted the main problems faced by the aerospace industry dur-
                                                                                  du
ing the components integration process, based on Interface Control Documents
(ICDs),, to build avionic systems using an Integrated Modular Avionic (IMA) archi-
                                                                               arch
tecture. These problems are mainly related to the elaboration of ICDs and interfaces
in the form of documents and their manual use and management. We have also out-   ou
lined the drawbacks of the actual solutions and practices. Moreover, we have intro-
                                                                               intr
duced our proposed approach which addresses these issues by using the MDE tech- tec
nology to efficiently create and manage the ICDs. Our solution promises to automate
the elaboration and use of ICDs, and to provide mechanisms to verify, in a semi-
                                                                               semi
automatic manner, the compatibility of the interfaces of the equipments to be inte-
                                                                                 int
grated. Our future work will focus on the realisation and validation of the proposed
approach.


Acknowledgements

This work was performed under the umbrella of a NSERC-CRD
                                                NSERC CRD grant. The authors
would like
       ike to thank NSERC, CRIAQ, and CMC Electronics, for their financial sup-
                                                                           su
port.
       References
 1. Bieber, P., Boniol, F., Boyer, M., Noulard, E., Pagetti, C.: New Challenges for Future
    Avionic Architectures, AerospaceLab journal, (2012). http://www.aerospacelab-
    journal.org/sites/www.aerospacelab-journal.org/files/AL04-11.pdf, last accessed (Septem-
    ber 2014).
 2. AEEC: ARINC-651: Design Guidance for Integrated Modular Avionic, Aeronautical Ra-
    dio, (1997)
 3. Chen, Q.: An Object Model Framework for Interface Management in Building Information
    Models,             (2007).         http://scholar.lib.vt.edu/theses/available/etd-07262007-
    145650/unrestricted/Dissertation_Qian_Chen.pdf, last accessed (September 2014).
 4. Rahmani, K., Thomson, V.: New interface management tools and strategies for complex
    products, International Conference on Product Lifecycle Management, (2009).
    http://www.mcgill.ca/plm2-criaq/files/plm2-criaq/rahmani_thomson_plm09-final.pdf, last
    accessed (September 2014).
 5. Rahmani, K., Thomson, V.: Managing subsystem interfaces of complex products, Interna-
    tional Journal of Product Lifecycle Management, 73 - 83, 1743-5110, (2011)
 6. Onur, H., Rahmani, K., Thomson, V.: A conflict detection approach for collaborative
    management of product interfaces, Proceedings of the ASME Design Engineering Techni-
    cal Conference, 555-563 (2010)
 7. Rahmani, K., Thomson, V.: Ontology based interface design and control1 methodology for
    collaborative product development, CAD Computer Aided Design, vol. 44, pp. 432-444
    (2012)
 8. Stahl, T., Volter, M.: Model Driven Software Development Technology, Engineering,
    Management (2006)
 9. Specht, M.: Creating, maintaining, and publishing an interface control document (ICD),
    AHS Technical Specialists Meeting on Systems Engineering 2009, vol.2, pp. 910-935
    (2009)
10. Pajares, M., ngel, M., Daz, C.M., Pastor, I.L., Hoz, C.F.: ICD Management (ICDM) tool
    for embedded systems on aircrafts, ERTS2 (2010)
11. Tapp, M.: Automating system-level data-interchange software through a system interface
    description      language,      École      polytechnique        de      Montréal      (2013).
    http://publications.polymtl.ca/1256/1/2013_MartinTapp.pdf, last accessed (September
    2014).
12. de-Alfaro, L., Henzinger, T.A.: Interface-based Design, Springer-Verlag, (2005)
13. L.Sergent, T., L.Guennec, A.: Data-Based System Engineering: ICDs management with
    SysML, ERTS2, (2014)
14. Fosse, E., Delp, C.: Systems engineering interfaces: A model based approach, IEEE Aero-
    space Conference Proceedings (2013)
15. Sabetzadeh, M., Nejati, S., Briand, L., Evensen-Mills A.H.: Using SysML for Modeling of
    Safety-Critical Software-Hardware Interfaces: Guidelines and Industry Experience, IEEE
    HASE, (2011)
16. SC-205: DO-331: Model-based development and verification supplement to DO-178C and
    DO-278A, Radio Technical Commission for Aeronautics, (2011)
17. Feiler, P., Gluch, D., Hudak, J.: The Architecture Analysis & Design Language (AADL):
    An Introduction (CMU/SEI-2006-TN-011). Software Engineering Institute, Carnegie
    Mellon University, (2006)
18. OMG:               Systems      Modeling       Language,        version      1.3,     (2012).
    http://www.omg.org/spec/SysML/1.3/PDF, last accessed (September 2014).
19. EAST-ADL Association: EAST-ADL domain model specification, version v2.1.12,
    (2013).                       http://www.east-adl.info/Specification/V2.1.12/EAST-ADL-
    Specification_V2.1.12.pdf, last accessed (September 2014).
20. SPEEDS          Consortium:               Speeds       l-1      meta-model,      (2009).
    http://speeds.eu.com/downloads/SPEEDS_Meta-Model.pdf, last accessed (September
    2014).
21. AUTOSAR: Specification of the Virtual Functional Bus, version 1.3.0, (2012).
    https://www.autosar.org/fileadmin/files/releases/3-
    2/main/auxiliary/AUTOSAR_SWS_VFB.pdf, last accessed (September 2014).