You are on page 1of 10

Iterative multi-scale modeling of software-intensive

Systems of Systems architectures

Ilhem KHLIF Mohamed HADJ KACEM


ReDCAD Research Laboratory ReDCAD Research Laboratory
University of Sfax ISIMS, University of Sfax
Tunisia Tunisia
ilhem.khlif@redcad.org mohamed.hadjkacem@isimsf.rnu.tn

Khalil DRIRA Ahmed HADJ KACEM


LAAS-CNRS and ReDCAD Research Laboratory
Univ. de Toulouse FSEGS, University of Sfax
France Tunisia
khalil.drira@laas.fr ahmed.hadjkacem@fsegs.rnu.tn

ABSTRACT One of the major challenges in software engineering is to


Modeling correct software-intensive Systems of Systems ar- guarantee the completeness and correctness of software sys-
chitectures is a challenging research direction that can be tems, especially as they have become increasingly complex.
mastered by providing modeling abstractions. For this pur- Mastering the complexity of software-intensive systems re-
pose, we provide an iterative modeling solution for a multi- quires a combined effort for foundational research and new
scale description of software architectures. We provide a vi- engineering techniques and approaches. Software-intensive
sual notation extending the graphical UML notations to re- systems are complex programmable systems exhibiting pro-
present structural as well as behavioral features of software perties such as adaptive behaviour and dynamically chan-
architectures. We define a step-wise iterative process from ging structure. Software architecture forms the backbone for
a coarse-grain to a fine-grain description. The intermediate building successful software-intensive systems. Architecture
iterations provide a description with a given abstraction that descriptions provide the conceptual abstraction for modeling
allow the validation to be conducted significantly while re- complex software systems during development. We focused
maining tractable w.r.t. complexity. The iterative process in- our research study on model-based design of software inten-
volves both system-independent structural features ensuring sive systems. This study consider the question of how can
the model correctness, and system-specific features related we model software architectures to facilitate their validation
to the expected behavior of the modeled domain. We imple- at different description levels. That is to say how to describe
ment the resulting models describing structural and beha- the system with enough details for understanding without
vioral properties using the Eclipse platform. To experiment ambiguity and implementing in conformance with architects
our approach, we deal with an SoS dedicated to the Emer- requirements and users expectations. For this purpose, we
gency Response and Crisis Management System(ERCMS). propose to consider different architecture descriptions with
different levels of modeling details called “the scales”. Our
objective is to provide solutions for modeling software archi-
CCS Concepts tectures to facilitate their validation at different description
•Software and its engineering → Software design engi- levels for Systems of Systems (SoSs).
neering; We propose a multi-scale modeling approach for software
architectures. This modeling step is proposed to provide a
Keywords standard visual notation for multi-scale architectures with
the most appropriate standard language. Our objective is to
Software Architecture, multi-scale modeling, UML notations,
propose an iterative design process through providing meta-
iterative process, System of Systems (SoS).
models and models based on UML notations. The UML dia-
grams make it possible to present the structural properties
1. INTRODUCTION as well as the behavioral properties of a multi-scale archi-
tecture. These diagrams are submitted to vertical and hori-
zontal transformations. The intermediate models provide a
Permission to make digital or hard copies of all or part of this work for description with a given abstraction that allow the valida-
personal or classroom use is granted without fee provided that copies
are not made or distributed for profit or commercial advantage and that tion to be conducted significantly while remaining tractable
copies bear this notice and the full citation on the first page. To copy w.r.t. complexity. The validation scope can involve intrinsic
otherwise, or republish, to post on servers or to redistribute to lists, properties ensuring the model correctness w.r.t. the UML
requires prior specific permission and/or a fee. description.
SAC 2017 April 03-07, 2017, Marrakech, Morocco
Copyright 2017 ACM 978-1-4503-4486-9/17/04... $15.00 Our approach is taking advantages of the power expressive
http ://dx.doi.org/10.1145/3019612.3019801
of standard visual notations provided by the semi-formal grain description that contains necessary details. The model
language UML 2.0 which allow to easier understand soft- transformation ensures the correctness of UML description,
ware architectures. Moreover, a software environment that and the correctness of the modeled system. We present the
supports the different features of this part of the proposed multi-scale approach by a two dimensional array describing
approach is implemented and integrated as an Eclipse plug- vertical and horizontal refinements. We start by modeling
in (using EMF / Ecore / GMF / OCLinEcore). Using this the first scale, which is defined by a UML component dia-
platform, designers can easily create their own graphic mo- gram. This diagram is refined, through model transforma-
dels of multi-scale architectures. tion operations, until reaching the last scale. UML provides
a formal language, the Object Constraint Language (OCL),
The paper provides a modeling solution for Systems of Sys-
to define constraints on model elements. Our approach sup-
tems software architectures including a visual notation ex-
ports model transformation and validation of UML models
tending the graphical UML notations. We define an iterative
with OCL constraints. The OCL language is powerful and
design process in order to allow the validation to be conduc-
allows the expression of constraints that cannot be described
ted while remaining tractable in relation to complexity. Dif-
using description logic.
ferent properties of correctness and traceability have to be
maintained between the models at the different levels of ite- Figure 1 shows the general description of our approach by
rations. Providing Rules for conducting such a process is our presenting the different used tools .
objective, which we implemented in visual modeling nota-
tions. Meta-Model
Design and
Our approach aims at validating software architectures at development of
different description levels through horizontal and vertical Eclipse plugins Eclipse Plug-ins

refinement steps. The validation scope involves both system-


independent structural features ensuring the model correct-
Structural Behavioral
ness, and system-specific features related to the expected Model Model
behavior of the modeled domain. In order to formalize the
multi-scale characterization process and to use it in the de- Validation Invariants
OCLinEcore
Checking Editor
sign process, we have chosen to follow our iterative mo- of the
with ocl-
model with based tools Pre/post-
deling methodology that captures diverse perspectives of OCL conditions
the performance modeling of software-intensive Systems Of USE tool

Systems (SoSs). We discuss how our approach to modeling


supports the specific characteristics of an SoS, demonstra- Generating
Transforming models
ting how we may obtain correct models within a SoS with XML files in XML form

emergent properties. In order to show the viability and use-


fulness of our solution, we experiment our approach to deal
with the case study dedicated to the Emergency Response
and Crisis Management System (ERCMS).
The remainder of the paper is organized as follows. We des-
cribe the approach in section 2. Section 3 illustrates the case Figure 1: Description of the design process
study. In section 5, we present a survey of related work. We
conclude and outline some perspectives in section 6.
The first phase consists of the design and development of the
Eclipse plugins. Thus, we chose the Eclipse environment to
2. A MULTI-SCALE MODELING APPROACH create plugins that allow structural modeling and behavioral
modeling. Component diagrams are very useful in analysis
FOR SOS and design, allowing us to define the components we need
This work proposes a visual approach which aims to help before developing and implementing them. They allow to ex-
the architect to design correct SoS architectures that res- press the structural aspect of models. Vertical and horizontal
pect a set of structural constraints. To ensure correctness, transformations are applied to the diagrams to obtain a fine
it is necessary to study the consistency of the system as a grain description through successive refinements. Sequence
whole. The architecture must be left in a correct state by diagram allow to express the behavioral aspect of models.
maintaining its conformity to its architectural style. Indeed, the use of this diagram allows us to identify all the
possibilities of a complex behavior with the graphical repre-
An architectural style defines a vocabulary of component
sentation of the technology of exchange of messages between
and connector types, and some constraints on how they can
the objects.
be combined. So, an architecture can be considered as cor-
rect if it is an instance of its architectural style (i.e., it uses The second phase ensures validation of the model with the
the defined component types and it preserves all the defined OCL language. Consequently, we have defined constraints
constraints). Our proposed approach supports the correct on the elements of the model using OCL language. Tools
modeling of SoS architectures. are used to check and validate OCL constraints such as the
OCLinEcore Editor to validate the invariants and the USE
The proposed design approach is founded on UML nota-
tool to validate the pre/post conditions.
tions. The diagrams are submitted to vertical and horizontal
transformations for refinement ; this is done to reach a fine- The third phase allows XML files to be generated using XMI,
which transforms the models into XML. So we can get the C0
XML file of the templates that we created. Scale0

The multi-scale modeling approach promotes reuse of exis- C0 C2


C1 C3
ting notations and languages : component diagrams for struc- Scale1
turing the problem, and describing the overall software-intensive
« Publish-Subscribe »
system in terms of components and interactions, sequence C0
diagrams to describe the behavior of each component. An « Producer » « Event-Dispatcher » « Consumer »
C1 C2 C3
iterative modeling process involves both structural proper- M:T1 M:T1
C1.1 C2.1 C3.1
ties ensuring the model correctness, and specific properties
related to the expected behavior of the modeled domain. We
illustrate, in (Figure 2), a step-wise structural and beha- M:T2 M:T2
C1.2 C2.2 C3.2
vioral iterative process from a coarse-grain description to a Scale2
fine-grain description.
Figure 3: Structural description
We follow a top-down strategy where a model of the larger
scale is built and refined with details for smaller scales until
reaching all levels of details. We define a first scale architec-
ture. In general, a scale i represents coarse grained compo-
nents, such i ∈ [0, n] where n corresponds to the depth of Three component types named C1 , C2 , and C3 that are in-
the hierarchy defined in the SoS model. For i = 0, we obtain terconnected are added (Figure 3).
the first scale. Then, it is refined by adding the next scale The second iteration is helpful for checking that, at the next
components. The obtained architecture is refined in turn un- scale, the components identification is preserved, as we keep
til reaching the last scale, i.e., where all system components the traceability of a component from one scale to another.
are defined. The transition between scales is implemented This notation is used for identifying a component Cm where
following a rule-oriented refinement process. m represents a cursor on the current component (m ≥ 0). It
can be decomposed in the next scale. As illustrated in ((Fi-
Structural features Behavioral features gure 3), the component C1 , will be refined with two compo-
sites in the next scale identified as follows C1.1 , C1.2 . The
Component Diagram Sequence Diagram component C2 will be refined with two sub-components na-
Cd0 Sd0 med C2.1 and C2.2 . Similarly, the component C3 is composed
Scale 0 of the sub-components named C3.1 and C3.2 .
iteration Refines We are especially interested in refining an enabling archi-
tectural style for component-based systems : the Publish-
Component Diagram Sequence Diagram
Cd1 Sd1 Subscribe style. The strength of this event-based interac-
Scale 1
tion style lies in the full decoupling between producers, and
consumers. This decoupling is provided by the event dispat-
iterations Refines
cher. The approach may be applied in many different do-
Sequence Diagram mains and across different architectural styles, for example

Component Diagram
Cdn Sdn Service Oriented Architecture(SOA), Client-Server, etc.
Scale n Then, in the last scale, roles are associated with compo-
UML Modeling nents such as “Event-Dispatcher”, “Producer”, “Consumer”,
“Producer-Consumer”, etc, and thus connections between
Figure 2: Iterative modeling of a multi-scale architecture them are established. A possible configuration to refine the
interaction (link) between the components C1 and C2 is illus-
trated. If the component C1 is a “Producer” and the com-
ponent C2 performs the role of an “Event-Dispatcher”, the
2.1 Structural Properties link between C1 and C2 , in the first scale, will be decom-
posed into a simple assembly connection, in the next scale,
Multi-scale modeling is defined as an incremental process
extending from the source C1.1 to the target C2.1 . As a link
where we constantly modify and refine software systems des-
is divided according to its identifiers, then a trace of the
criptions. We propose a correct by design approach where
link decomposition is added. Moreover, the interaction bet-
properties are checked and preserved at different description
ween the two components C2 and C3 will be refined at the
scales. We model the first scale by a given coarse-grained
next scale as follows : if the component C3 is a “Consumer”
description using a UML component diagram. This model is
and the component C2 is an “Event-Dispatcher”, the link
refined until reaching a fine-grained description representing
between C3 and C2 will be decomposed into a simple assem-
the necessary modeling details.
bly connection extending from the source C2.1 to the target
We, first, elaborate an initial abstract architecture descrip- C3.1 . During the iterations, we have to check an intrinsic pro-
tion from the user requirements. In the first iteration, appli- perty ensuring the model correctness w.r.t. UML description
cation requirements are specified (a unique component C0 is (interface compatibility). We preserve the multi-scale archi-
identified) This is the beginning of the traceability. A new tecture consistency stating whether the components of the
iteration is required for providing details on the application. architecture are correctly typed and well connected (each in-
terface is connected to a compatible one). From a structural from the producer to the dispatcher.
viewpoint, an architecture is complete if all its required in-
During the iterative design process, architectural properties
terfaces (related to the consumers C3.1 , C3.2 ) are connected
have to be preserved after each iteration and hence are part
to compatible provided ones (related to the dispatchers C2.1
of the multi-scale modeling that must be enforced during the
and C2.2 ).
software evolution. Architectural models are refined during
In addition, we preserve the model traceability from one the design process. Architectural properties must be main-
scale to another by decomposing links, at the abstract scale, tained between higher and lower level models All refined
and refining them, at the next scale, to show possible connec- elements are preserved in the lower level model.
tions established between components. Reaching a fine grain
description in a software architecture promotes the descrip- 2.2 Behavioral system-specific features
tion of the types of components and sub-components and
The aim of the multi-scale modeling is to study the requi-
the kinds of relationships that can connect them. Different
red behavioral properties of the considered application. The
properties of correctness have to be maintained between the
application is initialized (at the first scale), and after suc-
models at the different levels of iterations. The decoupling
cessive iterations, the sets of components and interactions
property states that producers and consumers do not com-
among them are identified in a way that supports the requi-
municate directly, but their interactions have to be media-
red behavior of the abstract application level. After identi-
ted by the event dispatcher. Then, the produced information
fying interactions, we consider giving structured representa-
must reach all the subscribed consumers. This is to ensure
tions of components behavior as a series of sequential steps
the principle of information dissemination. Let M be the pro-
over time. We describe the specified behavior of an applica-
duced information, represented as a message with a type T
tion using the UML sequence diagram (Figure 4). In the first
(eg. Information, Coordination, Cooperation, etc.). For all
producers (eg. C1.1 ) in the application, there is one consu-
mer (eg. C3.1 ) while the produced information (eg. M :T1 ) is C0
Scale0
transmitted by the producer (C1.1 ). So, the message (M :T1 )
is received by one consumer C3.1 ). Similarly, the producer C1 C2 C3
Transmit Message M1:T1
(C1.2 ) will transmit the produced information with a dif- Transmit Message M3: T1
Return Ack M2:T1
ferent type (M :T2 ) to another consumer (C3.2 ). Scale1 Return Ack M4:T1

We indicate all possible connections established according C1.1 C1.2 C2.1 C2.2 C 3.1 C3.2
to the used topology and respecting the “Publish-Subscribe” par Transmit M1.1:T1
style. The Event dispatcher C2 is refined with two sub- Transmit M1.2:T1

components (dispatchers) named C2.1 and C2.2 . The follo- par Return Ack M 2.1:T1
Return Ack M 2.2:T1
wing details are related to the principle of information dis-
par Transmit M3.1:T1
semination : if two dispatchers communicate together then Transmit M 3.2:T1
it is necessary that the information coming from the first par Return ACK M4.1:T1
reaches the second. So, the communication has to be bidi- Return ACK M4.2:T1
rectional. Producers and consumers communicate symmetri- Scale2
cally as peers, adopting a protocol that allows a bidirectional
Figure 4: Behavioral description
flow of communication (“acyclic-P2P ” topology). All dispat-
chers have to be interconnected (direct or transitive connec-
tion). Each producer, consumer, or both denoted must have
scale, the whole application is presented as a black box to
a single access point in the network of dispatchers. This in-
illustrate the System Sequence Diagram (SSD) named “C0 ”.
teraction is governed by a principle of information propa-
The main issue here is to secure the message transmission
gation requiring that produced information have to reach
and how elements cooperate to ensure correct information
all subscribed consumers. To guarantee this property in the
propagation. Several events may refine an abstract event : A
case of a distributed event dispatcher, we have to check, on
single message (M1 ) between actors from a coarse-grained
the one hand, that all dispatchers are interconnected (direct
description scale is translated into a set of messages (M1.1
or transitive connection). On the other hand, if two dispat-
and M1.2 ) at the next scale, or the content of translated
chers communicate together then it is necessary that the in-
messages depends on earlier received message.
formation coming from the first reaches the second. So, the
communication has to be bidirectional. A double assembly The sequence diagram, represented in Figure 4, specifies be-
connection is established between the two sub-components havioral features of the publish-subscribe architecture. When
C2.1 and C2.2 . In the acyclic peer-to-peer topology, dispat- the Producer-Consumer component C1 sends a message (M1 :T1 )
chers communicate with each other symmetrically as peers, to the Event dispatcher component C2 at the first scale,
adopting a protocol that allows a bidirectional flow of sub- the dispatcher tracks this message and, replies by sending
scriptions. For all Producer with a type T (eg. C1.1 with an acknowledgement message (M2 :T1 ). At the next scale,
M :T1 ), the produced information M :T1 is transmitted by those messages will be refined into a parallel sequence of
this producer C1.1 , there is a consumer (C3.1 ) with the typed messages and keep track of the type of message sent or re-
message M :T1 while M :T1 is received by C3.1 ) and this ceived in the abstract scale. For example, the typed message
via the dispatcher C2.1 that ensures the correct transmission (M1 :T1 ) sent from C1 to C2 is refined into two messages
of the produced information M :T1. Based on this property, having the same type : the message (M1.1 :T1 ) is sent from
the consumer receives only once the same message arriving C1.1 to C2.1 and (M1.2 :T1 ) is sent from C1.2 to C2.2 .
We propose to check two properties to describe the behavior pled and may be widely geographically distributed in such a
of a multi-scale architecture. First of all, a behavioral scale way the interaction between them is limited to information
description adds information that reveals the order of inter- exchange.
actions among the elements opportunities for concurrency
time dependencies of interactions. We have to preserve the 3.1.2 Classification of SoSs
traceability property from a vertical description scale to ano-
ther. This property deals with the event deadline and shows Based on these characteristics, SoSs can be classified as :
time sequences explicitly, making it easy to see the order directed, collaborative, virtual, and acknowledged. Directed
in which event must quickly occur. An event will be refi- SoS is a set of centrally managed systems that have been
ned from a vertical scale to another. This iteration allows to developed to fit specific purposes in the SoS, as they operate
preserve the event structure until reaching the fine grain des- under tight subordination [13]. Collaborative SoS in which
cription. The traceability property is ensured through both there is no central management and constituent systems vo-
the identification and the type of exchanged messages. luntarily agree to fulfill central purposes. They are distinct
from directed SoS in the inability of the central manage-
Our approach is based on a multi-scale modeling that helps ment to run the system [13]. Virtual SoS lacks a central
to automate the construction of correct design architectures. management authority and an agreed purpose for the SoS
So, we need to specify the software architecture model that [13]. Finally, acknowledged SoS in which there are recogni-
describes the software components, their composition and zed objectives, a designated manager, and changes in the
their interactions. In fact, each model is represented as a set systems are agreed on collaboration between the SoS and
of scales, and each scale denotes a set of architectures. Follo- the systems [17].
wing our approach, the designer starts by modeling the first
scale architecture which is refined to give one or many ar-
chitectures for the next scale. Then, these architectures are 3.1.3 Case study : an acknowledged SoS
refined in turn to give the following scale architectures and This work focuses on modeling the ERCMS SoS. This is
so on until reaching the last scale. The transition between an acknowledged SoS as it is centrally managed and ope-
scales is ensured by applying both structural and behavio- rate under loose subordination, and the constituents retain
ral refinement rules. After constructing the architectures of their operational independence. This SoS presents the fol-
software architecture model, we apply the relation between lowing five characteristics : Operational independence : The
the two models in order to obtain model-based architectures ERCMS can use information provided by a manager but
with different description levels. will operate normally its mission even if this information is
not available. Managerial independence : Independent ma-
nagerial areas with own action strategies for SoS (rescue and
3. APPLICATION TO THE ERCMS SOS repair ). Evolutionary development : The SoS evolves to ac-
To experiment our approach, we deal with an SoS dedicated commodate changes in this environment, for instance when
to the Emergency Response and Crisis Management Sys- safety condition evolves. Emergent behavior : Detecting an
tem(ERCMS). The ERCMS involves structured groups of emergency critical situation and immediately reacting is an
participants who are cooperating to achieve a common mis- emergent functionality provided by the cooperative work of
sion (e.g. save human lives, fight against a fire, etc). the manager, the supervisor, the coordinator and the inves-
tigators. Geographic distribution : The ERCMS constituent
systems are largely distributed in the investigation area. We
3.1 System of Systems : Motivation distinguish the following participant roles : a supervisor, co-
At design level, an SoS is the composition of components ordinators, and investigators. The supervisor manages the
(constituent system), themselves systems, that are large scale whole coordinators and each coordinator supervises a sec-
and independent, separately discovered, selected and com- tion of investigators. The coordinator leads a section of in-
posed to form a more complex system [16]. vestigators and is expected to collect information received
from investigators and diffuse them to the supervisor. The
3.1.1 SoS defining features investigator acts to help, rescue and repair.
A set of characteristics presented by SoSs distinguish them
from complex systems. The intrinsic characteristics of an 3.2 ERCMS Model
SoS are proposed by Maier [13] : Operational Independence : The architecture of a SoS is characterized by a hierarchi-
The constituent systems operate independently of each other, cal description of systems containing components. So, we
each having its own mission. Managerial Independence : The define the relation between scales by a hierarchical decom-
constituents of an SoS are separately integrated but ma- position. In other words, a fine grain description scale re-
naged their own resources independently. Evolutionary De- presents the constituent systems of the previous scale sys-
velopment : As a consequence of the independence of the tems : The abstract scale represents coarse grained compo-
constituent systems, an SoS as a whole may evolve over nents. The refined Scale represents the sub-components of
time to respond to changing characteristics of its surroun- the abstract scale components. The last scale describes the
ding environment, constituent systems or of its own mission. constituent elements and how they are connected with res-
Emergent Behavior : The SoS is capable to deliver new func- pect to the Publish-subscribe style. In order to construct a
tions that are obtained from the composition of its consti- correct multi-scale architecture, we follow a top-down stra-
tuents rather than from a singular constituent. Geographic tegy. Instead of modeling the whole SoS architecture and
Distribution : the constituent systems are physically decou- verifying it with respect to the defined system constraints
(i.e., its conformance to its architectural style), we rather gators communicate with each other symmetrically as peers,
ensure the correctness of each scale architecture obtained by adopting a protocol that allows a bidirectional flow of com-
a refinement process. Therefore, at first, we define the archi- munication called the “acyclic-P2P” topology. Connections
tectural style by identifying the different components types are established according to this topology related the style
(constituent systems) as well as their structural constraints “Publish-Subscribe”.
(connection constraints). Then, we define the first scale ar-
During the iteration process, we apply the link decomposing
chitecture. Then, this architecture is refined automatically
rule with respect to the component role : if a component
by adding the next scale components. The obtained archi-
plays the role of “Consumer”, the link between C2 w.r.t.
tecture is refined in turn until reaching the last scale (i.e.,
“Supervisor” and C1 w.r.t. “Manager” in the first scale will
where all system components are defined and connections es-
be transformed into a single assembly connection in the next
tablished between them). Regarding the refinement process,
scale, starting from the source C2.1 w.r.t. “Supervisor” to
it is performed by applying specific rules that should res-
the target C1.1 w.r.t. “Manager” having the role of “Event-
pect the defined architectural style (or system constraints)
Dispatcher”.
ensuring in this way the correctness of the obtained scale ar-
chitectures. We applied successive iterations and checked the We refine the coordinator type by inserting three sub-components.
previously described properties. We obtained then the follo- We can distinguish the robot coordinator (Robot-Coord),
the plane coordinator (Plane-Coord), the firemen coordina-
tor (Fireman-Coord) that manage professional actors. We
Scale0
ERCMS check that every coordinator produces only events (Message
with type Coordination noted M :Coordination) to the ma-
ERCMS
nagers. The investigator’s functions include exploring the
Coordinator Manager Supervisor
operational field, observing, analyzing, and reporting about
Scale1
Investigator the situation. Investigators also act for helping, rescuing
and repairing. We refine the investigator type by inserting,
« Publish-Subscribe » first, three sub-components (RobotGroup, FiremanGroup,
ERCMS
« Producer » « Event-Dispatcher » « Consumer » and PlaneGroup), We check that every investigator can pro-
Coordinator Manager Supervisor
Robot- M:Coordination duce only events (Message with type Information noted M :In-
Coord formation) to the managers, and managers have to support
M:Coordination
Fireman
-Coord M:Coordination only events coming from coordinators and investigators A
Manager1
Plane- M:Coordination manager must transmit received events to the supervisor
Coord that must collect messages with type Information and Co-
« Producer » Supervisor ordination. To ensure the principle of information dissemina-
Investigator
Robot-
M:Information tion, the produced information (M :Coordination, Informa-
Group tion) must reach the subscribed consumer (the supervisor).
M:Information M:Information
Fireman
-Group
Manager2 To guarantee this property in the case of a network of dispat-
Plane- M:Information chers, we have to check, that “M anager1 ” and “M anager2 ”
Group are interconnected directly. Moreover, mangers communi-
Scale2 cate together then it is necessary that the information co-
ming from the first reaches the second. So, the communi-
Figure 5: The ERCMS model cation has to be bidirectional. We illustrate this constraint
through the double assembly connection between the two
managers. In the acyclic peer-to-peer topology, dispatchers
wing results : in the abstract scale, we define the application communicate with each other symmetrically as peers, adop-
named “ERCMS”. In fact, participants in the ERCMS are ting a protocol that allows a bidirectional flow of subscrip-
represented (in the first scale) by their components, named tions. Based on this property, the supervisor as an event
supervisor, coordinator, investigator, and manager. Those consumer receives only once the same message (M :Coordi-
participants communicate with each other via the manager. nation, Information) arriving from the coordinators and the
Those relationships are represented as UML associations. In investigators to the managers.
the next scale, the components are refined and specified with
an associated role as shown in Figure 6. The supervisor of 3.3 ERCMS system-specific properties
the mission plays the role of a component consuming events
In Figure 6, we present the UML sequence diagram to de-
and will be defined as “Consumer”. The supervisor’s func-
monstrate the behavior of the different elements. The se-
tions include monitoring and managing actions to be achie-
quence diagram shows the instances participating in the in-
ved by coordinators and investigators. In the same way, we
teraction having two dimensions. The vertical dimension re-
specify the roles of each type. A manager promotes the roles
presents time. The horizontal dimension represents different
“Event-dispatcher”. The manager waits for data from the
objects w.r.t the behavior of the smart home components.
coordinator who analyses the current situation of the mis-
We illustrate the abstract scale using the System Sequence
sion, diffuses collected data to the coordinator, and sends
Diagram (SSD) named “ERCMS” to show the whole system
reports to the supervisor. An investigator and a coordina-
(as a black box).
tor have the role of “Producer”. The propagation of events
between participants is mediated through a network of dis- The first vertical iteration allows to describe the objects Su-
patchers called Manager. In fact, coordinators and investi- pervisor, Coordinator, Investigator, and Manager and the
messages that they pass are shown in the sequence diagram. ERCMS
An object of class Coordinator starts the sending of a mes- Scale0
sage to an object of class Manager while detecting a crisis si- Investigator Coordinator Manager Supervisor
M1:T1 Send a witness report
tuation. This object in turn responds by an acknowledgment Return Ack M1:T1
M2:T1 Capture the witness report
message to the Coordinator. The manager sends the infor- Return Ack M2:T1
mation to the object Investigator that will respond imme- M3:T1 recommend the mission to be executed
Return Ack M »:T1
diately and returns a message describing the situation after M4:T1 Send orders to act (help, rescue and repair)
Return Ack M’:T1
the intervention. We can distinguish different steps during M5:T1 Send notification fom mission location
Return Ack M5:T1
the mission. We give the two most representative event. An M6:T1:Submit the final mission report
Scale1 Return Ack M6:T1
exploration event is concerned with the localization and the
identification of the crisis situation. An Action event is nee- Robot Fireman Plane- Robot- Fireman Plane-
Manager1 Manager2 Supervisor
ded after the identification event. Initially, all investigator Group Group Group Coord -Coord Coord

groups are in the exploration phase. Investigators provide par M1.1:T1 Identify a rescue mission
M1.2:T1 Identify a plane transport mission
continuous feedbacks to the coordinator via the managers M1.3:T1 Identify a remove obstacle mission
The coordinator sends continuous feedbacks to the supervi- par Return ACK M1.1:T1
Return ACK M1.2:T1
sor via the single access point in the network of dispatchers Return ACK M1.3:T1
called “M anager1 ” and “M anager2 ”. When an investigator
discovers a critical situation, its group has to be informed Scale2
to face this new situation. It moves to the action phase.
Figure 6: The ERCMS behavior
The investigator that discovers the critical situation keeps
sending observations and analysis to the manager. The ma-
nager diffuses to the Coordinator and to the other inves-
tigators of the group. Successive iterations allow to refine
messages as follows : The message presented at the abstract To validate our approach, we propose a tool for modeling
scale is refined (in a vertical way) into three messages bet- multi-scale software architectures. In the first phase, we mo-
ween the three components of the monitoring system (at the del the structural and behavioral aspect with UML dia-
next scale). We obtain the result that preserves the tracea- grams. Thus, these models are correct by design. In the se-
bility property from a scale to another. This property deals cond phase, we check the architectural properties through
with the event deadline. When detecting a received event the OCL constraints. We develop plug-ins, based on Eclipse
(eg. fire), we need to guarantee that the event is transmit- frameworks [3], i.e., Graphical Modelling Framework (GMF)
ted to the manager. The system has to store the relevant [1], Eclipse Modelling Framework (EMF) [2] and Graphical
mission information, determine the investigators that could Editing Framework (GEF [4]). Several diagrams are avai-
accomplish the mission, establish contact with at least one of lable in the plug-in. We model the component diagram,
them and propose the mission to accomplish. We propose to and the sequence diagram. The Eclipse Modeling Frame-
illustrate onely one refinement of the message M1 :T1 into work (EMF) is a set of Eclipse plug-ins which allows the
a parallel sequence of messages (M1.1 :T1, M1.2 :T1, and developer to create the meta-model via different means such
M1.3 :T1 ). The manager decide whether a “rescue mission”, as UML. First, we create the EMF project which consists
a “plane transport mission”, or a “remove obstacle mission” of two parts ; the ecore and the genmodel description files.
should be created for a given mission description. The de- The ecore file contains the information about the defined
tails of a Mission execution depends on the type of Mission. classes (Component, Port, Interface, Connector, etc). Ecore
Coordinator receives updates on the mission status from the which is essentially the class diagram subset of UML which
manager. Each Mission continuously informs the coordina- is based on the Object Management Group’s (OMG) Meta
tor when it is in execution or finished. Coordinator receives Object Facility (MOF) specification. Second, we create the
new information about the crisis from the manager. If the GMF project which provides a generative component and
supervisor receives a final report (by the manager), it stops runtime infrastructure for developing graphical editors based
waiting for change notifications, and waits for the coordina- on EMF and GEF. We use the GMF tool to create and vi-
tor to close this crisis resolution session. After receiving the sualize the content of the created models. Third, we identify
final report, the supervisor waits for the coordinator to close some OCL invariants for capturing structural constraints.
the file for the crisis resolution.. We use OCL tools with Eclipse for encoding constraints,
checking constraints, and obtaining feedback from the che-
cking process. The diagram editor is a tool where diagrams
4. VALIDATION can be created to models. Graphical elements can be picked
We are interested in implementing a tool supporting our up from a tool palette and created in the Diagram editor
multi-scale modeling approach. In fact, a new direction for pane in a drag-and-drop way. Elements of the palette are
research is to perform model validation tasks. Indeed, any listed under Nodes and Links elements. The Property Editor
error in the modeling of the software architecture may da- can be used for changing properties of the object selected in
mage the system functioning. Thus, the validation consists the diagram editor pane. Property elements vary depending
essentially in checking whether the modeling of the software on the type of the chosen object. We illustrate the diagram
architecture is error-free. To overcome these drawbacks, we editor of the multi-scale approach with an illustration of
tried to follow a validation process throughout the develop- the model example. The model can be enriched with OCL
ment of plug-ins under the Eclipse platform to detect any constraints that are defined on the model (using an OCL
constraints not respected. meta-model) and can then be verified for model instances
Eclipse
UML diagram modeling
UML diagram Architectural plug-in extension
Modeling Validation Verification
1. Structural Modeling 3. Evaluating constraints using
OCL console

2. Behavioral Modeling

3. Generating XML file

Figure 7: The implemented Multi-scale description approach (Eclipse Plugin)

(the smart home case study) of the model. After modelling multi-level modeling is to explicitly represent the different
a design pattern, the plug-in generates an XML file descri- abstraction levels to enable a clear encapsulation of pro-
bing it. We implement a tool supporting our approach as an blems in different levels to tackle them independently. Low
Eclipse plug-in (Figure 7). level details are abstracted for higher levels, and therefore
complexity is reduced, thus achieving a clear and coherent
design. The refinement allows to provide more details bet-
ween levels. Baresi et al. [6] presented a UML based ap-
5. RELATED WORK proach and proposed formal verification and validation of
Considerable research studies have been presented on the embedded systems. The approach is implemented using the
description of software architectures. Our work is related “CorrettoUML” : a formal verification tool for UML models.
to recent approaches handling formal aspects of UML and Zhang et al. [22] proposed a multi-level component-based
other object-oriented methods. An architecture refinement development process to ease the reuse of components and
is defined [15] as an incremental process which transforms software architectures. They proposed a model composed of
an architecture across levels of abstraction using a series three descriptions that correspond to three architecture abs-
of refinement maps. The maps must satisfy the correctness traction levels. The architecture specification corresponds to
property, which ensures that all decisions made at a given the highest abstraction level. It is composed of component
abstract level be maintained at all specific levels and that roles and their connections. The architecture configuration
no new decisions be introduced. A multi-scale description corresponds to the second abstraction level. It is compo-
is introduced [5] to specify behaviours and properties of the sed of concrete component. The architecture assembly cor-
system across multiple scales in order understanding without responds to the lowest abstraction level. It is composed of
ambiguity the system and mastering the description details. component instances that instantiate the component classes
Multi-level modeling approaches [19] have been proposed to of the architecture configuration. Brosch et al. [9] proposed
represent the different abstraction levels. The basic idea of a meta-model for specifying adaptability characteristics in a
software product line. This model is expressed on different transformation. It allows to execute the application of a reac-
levels. The architectural level uses composite components to tion rule on a given bigraph to be rewritten. BiGMTE is also
encapsulate subsystems and enable their replacement. The based also on GMTE, a tool for graph matching and trans-
authors presented a tool support that allows the architects formation, for executing the encoded rule on the encoded
to design the architecture with UML models. Bryans et al., graph.
in [10], presented a model-based approach to assist in the
Boujbel et al. [8] presented a domain-specific language, cal-
integration of new or modified constituent systems into a
led MuScADeL (MultiScale Autonomic Deployment Lan-
complex system. The authors defined two levels for system
guage), dedicated to autonomic software deployment of multi-
composition, the high-level structural view that considers
scale systems. MuScADeL supports the expression of multi-
the connections within the system, and the low-level beha-
scale deployment properties and component constraints. They
vioral view that deals with the behavior of contractual speci-
generated the MuScADeL code which is compiled, giving the
fications. They treated an industrial case study for modeling
set of components properties However, they did not consider
Audio/Video system.
the dynamic aspect of multi-scale systems.
Other studies have focused on the architecture refinement
Other research studies have been presented on modeling
concept. Oquendo et al. [18] described Π-ARL, an architec-
software architectures for SoSs. An adequate representation
ture refinement language based on the rewriting logic. The
of SoS software architectures is crucial for the success of
core of Π-ARL is a set of architecture refinement primitives
such systems. In [21], Mordecai and Dori developed a de-
that supports transformation of architecture descriptions.
sign approach to model interfaces and interactions among
The authors formally modeled the stepwise refinement of
SoS constituents. They proposed a framework for SoS in-
software architectures. Rafe et al. [14] proposed an automa-
tegration, to facilitate the transition from the constituent
ted approach to refine models in a specific platform. For each
systems’ view to a consolidated integrated model. Bryans et
abstraction level, a style should be designed as a graphical
al., in [10], presented a model-based approach to assist in
diagram and graph rules. In their approach, the model is
the integration of new or modified constituent systems into
designed by the rules of graph transformation.
an SoS. The authors defined two levels for SoS composition,
Other research studies have been proposed for the specifica- the high-level structural view that considers the connections
tion of software systems using formal methods. Model veri- within the SoS, and the low-level behavioral view that deals
fication activity [20] is performed to ensure the correctness with the behavior of contractual specifications. They treated
of model. Formal verification means that any errors found an industrial case study for modeling Audio/Video SoS.
in the design of the system should be corrected.
We analyze that several studies have been performed on
Kim et al. [12] present an approach to describe design pat- the modeling of multi-level architectures based on UML.
terns. This work is supported by tools using the Eclipse These semi-formal approaches did not, however, include the
Modeling Framework (EMF) and the meta-model is trans- concept of refinement. Although formal techniques and, more
formed to the formal Object-Z using model transformation specifically, works based on graph transformations allow the
techniques in order to specify structural features. Behavioral architecture refinement, they require certain expertise in ma-
features of patterns are also specified using Object-Z. thematics for architects. Moreover, only few studies have
provided a clearly defined process that takes the compatibi-
Ben Younes et al. [7] proposed a meta-model transforma-
lity between different description levels into account, a chal-
tion between UML Activity Diagram and Event B models.
lenging condition for the multi-level description of software
A formal framework is defined to ensure the correctness of
architectures. Model-based methods have addressed signifi-
the proposed transformations, and the event B method is
cant challenges in SoS Engineering. Semi-formal models are
used for the formal verification of applications. Bryans et al.
used in the architectural description of SoS. This represen-
[10] presented a model-based approach to assist in the inte-
tation has advantages, mainly with regard to comprehen-
gration of new or modified constituent systems into a System
sion, and can help to clarify areas of incompleteness and
of Systems. The authors defined two levels for system com-
ambiguity in specifications. In this study, we have conside-
position, the high-level structural view that considers the
red that a given modeling level can be described by both
connections within the system, and the low-level behavioral
vertical and horizontal scales. This work aimed to provide
view that deals with the behavior of contractual specifica-
solutions for modeling multiple different levels of descrip-
tions. They treated an industrial case study for modeling
tion of the same modeling level through the scales. Thus, we
Audio/Video system.
applied our model-based approach for describing multi-scale
We can note that the previous research activities deal only architecture for SoSs, defining both the structure and the be-
with structural features during the design of the architec- haviour of the constituent systems of an SoS and interactions
ture. They do not take into account the respect of behavioral between them. The validation scope involved both intrinsic
features to validate the architecture. Whereas, in our work, properties ensuring the model correctness w.r.t. UML des-
we deal with both structural and behavioral features. cription (eg. interface compatibility), and generic properties
In [11], Gassara et al. proposed a multi-scale modeling me- (eg. correct information propagation).
thodology for software System of Systems (SoS) using the
formal technique of bigraphical reactive system. They im-
plemented the transition between scales following a rule- 6. CONCLUSION
oriented refinement process. To implement their solution, In this paper, we have presented a multi-scale modeling and
they proposed BiGMTE, a tool for bigraph matching and specification approach for software architectures. We have
proposed UML notations to represent the structure and the In System of Systems Engineering (SOSE), 2014 9th
behavior for modeling different description scales. We have International Conference on, pages 73–78, June 2014.
considered traceability properties during the iterative pro- [11] A. Gassara, I. B. Rodriguez, M. Jmaiel, and K. Drira.
cess. We have proposed a correct by design approach based A bigraphical multi-scale modeling methodology for
on UML notations ensuring the correctness of the SoS ar- system of systems. Computers & Electrical
chitectures. This approach follows a refinement process for Engineering, 58 :113–125, 2017.
the transformation between coarse-grained and fine-grained [12] S.-K. Kim and D. Carrington. A formalism to describe
descriptions. Considering that the first scale given by the design patterns based on role concepts. Formal
designer is correct, this refinement is performed by adding Aspects of Computing, 21(5) :397–420, 2009.
lower scale details. It is implemented by applying corrects [13] M. Maier. Architecting principles for
rules (i.e., preserve the system constraints). Hence, the ob- systems-of-systems. Systems Engineering,
tained scale architectures are in turn corrects. We have pre- 1(4) :267–284, 1998.
sented the application of our approach to the ERCMS SoS [14] M. Miralvand, V. Rafe, R. Rafeh, and M. Hajiee.
to validate structural and behavioral iterative features. Fi- Automatic refinement of platform independent
nally, we have presented some research studies discussing models. In Computer Technology and Development,
multi-level modeling for software architectures using semi- 2009. ICCTD ’09. International Conference on,
formal and formal methods. Currently, we are working on volume 1, pages 191–195, Nov 2009.
the formal verification of architectural properties to prove
[15] M. Moriconi, X. Qian, and R. A. Riemenschneider.
their correctness. Moreover, we are working on extending
Correct architecture refinement. IEEE Trans. Software
the state of the art related to the area of SoS. In future
Eng., 21(4) :356–372, 1995.
work, we expect to apply the multi-scale approach to other
use-cases for modeling complex systems architectures such [16] E. Y. Nakagawa, M. Gonçalves, M. Guessi, L. B. R.
as smart cities (virtual SoS) and validating on OM2M plat- Oliveira, and F. Oquendo. The state of the art and
form. We expect to strengthen the formal foundations of the future perspectives in systems of systems software
approach, by generalizing to abstract notations (bi-graphs) architectures. In SESoS, pages 13–20, 2013.
and dynamic architectures [17] ODUSD. Dod. system engineering guide for systems of
systems. Technical report, Office of the Deputy Under
Secretary of Defense for Acquisition and Technology,
7. REFERENCES 2008.
[1] http ://www.eclipse.org/gmf/. The eclipse [18] F. Oquendo. π-method : a model-driven formal
foundation : Eclipse graphical modeling framework. method for architecture-centric software engineering.
[2] http ://www.eclipse.org/modeling/emf/. The eclipse ACM SIGSOFT Software Engineering Notes, pages
foundation : Eclipse modeling framework. 242–245, 2006.
[3] http ://www.eclipse.org/. Official site of the eclipse [19] P. Petrov, U. Buy, and R. Nord. The need for a
environment. multilevel context-aware software architecture analysis
and design method with enterprise and system
[4] http ://www.eclipse.org/articles/article-gef-emf/gef-
architecture concerns as first class entities. In Software
emf.html. Using gef with
Architecture (WICSA), 2011 9th Working IEEE/IFIP
emf.
Conference on, pages 147–156, June 2011.
[5] Activity theory as a means for multi-scale analysis of
[20] B. Uchevler and K. Svarstad. Assertion based
the engineering design process : A protocol study of
verification using psl-like properties in haskell. In
design in practice. Design Studies, 38 :1 – 32, 2015.
Design and Diagnostics of Electronic Circuits Systems
[6] L. Baresi, G. Blohm, D. S. Kolovos, N. Matragkas, (DDECS), 2013 IEEE 16th International Symposium
A. Motta, R. F. Paige, A. Radjenovic, and M. Rossi. on, pages 254–257, April 2013.
Formal verification and validation of embedded
[21] M. Yaniv and D. Dov. 6.5.1 i5 : A model-based
systems : The UML-based mades approach. Softw.
framework for architecting system-of-systems
Syst. Model., 14(1) :343–363, Feb. 2015.
interoperability, interconnectivity, interfacing,
[7] A. Ben Younes, Y. Hlaoui, and L. Jemni Ben Ayed. A integration, and interaction. INCOSE International
meta-model transformation from UML activity Symposium, 23(1) :1234–1255, 2013.
diagrams to event-b models. In Computer Software
[22] H. Y. Zhang, L. Zhang, C. Urtado, S. Vauttier, and
and Applications Conference Workshops
M. Huchard. A three-level component model in
(COMPSACW), 2014 IEEE 38th International, pages
component based software development. SIGPLAN
740–745, July 2014.
Not., 48(3) :70–79, Sept. 2012.
[8] R. Boujbel, S. Leriche, and J.-P. Arcangeli. A
framework for autonomic software deployment of
multiscale systems. International Journal on Advances
in Software, 7(1) :353–369, 2014.
[9] F. Brosch, B. Buhnova, H. Koziolek, and R. Reussner.
Reliability prediction for fault-tolerant software
architectures. In QoSA/ISARCS, pages 75–84, 2011.
[10] J. Bryans, J. Fitzgerald, R. Payne, A. Miyazawa, and
K. Kristensen. Sysml contracts for systems of systems.

You might also like