=Paper= {{Paper |id=Vol-2404/paper06 |storemode=property |title=A Metamodel of a Multi-Paradigm Approach to Smart Cyber-Physical Systems Development |pdfUrl=https://ceur-ws.org/Vol-2404/paper06.pdf |volume=Vol-2404 |authors=Massimo Cossentino,Salvatore Lopes,Giovanni Renda,Luca Sabatucci,Flavia Zaffora |dblpUrl=https://dblp.org/rec/conf/woa/CossentinoLRSZ19 }} ==A Metamodel of a Multi-Paradigm Approach to Smart Cyber-Physical Systems Development== https://ceur-ws.org/Vol-2404/paper06.pdf
                                      Workshop "From Objects to Agents" (WOA 2019)


     A Metamodel of a Multi-Paradigm Approach to
      Smart Cyber-Physical Systems Development
               Massimo Cossentino, Salvatore Lopes, Giovanni Renda, Luca Sabatucci, Flavia Zaffora

                                                   National Research Council
                                                  ICAR Institute, Palermo, Italy
                                                   {name.surname}@icar.cnr.it


   Abstract—This paper illustrates an approach to the develop-           digital systems [1], [2]. In CPS, components are usually
ment of a shipboard power system reconfiguration as a Smart              distributed over a network. The term ‘cyber-physical’ was born
cyber-physical system (CPS). It is developed by representing it          around 2006 at the National Science Foundation (NSF) in the
through a meta-model, providing a multi-paradigm approach
that exploits the best features of three available frameworks,           United States. This Foundation supports the collaboration of
Jade, Jason and Akka. The resulting developing framework                 cyber and physical components with the objective to extend the
allows the creation of a new composite entity (labelled H-Entity)        capabilities of the physical layer. The join between the cyber
that exploits the advantages of Jade, Jason and Akka.                    and the physical will create new applications [3]–[6]: industry
   Index Terms—CPS, smart, meta-model, multi-paradigm                    4.0, biomedical/healthcare systems, next-gen transportation
                                                                         systems, smart grid and renewable energy.
                      I. I NTRODUCTION                                   Since their very start in early 2000, the research and appli-
   The CPS application fields are nowadays several in all                cations on this field increasingly evolved influencing several
the domains of human activities. Here the paradigm of CPS                human activities [1]. Whereas a CPS is by nature adaptive
is presented with the added quality of smartness, trying to              and predictive [7], adding the word smart means to define
find a flexible solution integrating heterogeneous technologies          it with a specific quality of intelligence that the CPS does
to easily communicate, although formerly not thought to                  not necessarily require. Nevertheless, the smartness of a CPS
cooperate at all. The specific case study is the Shipboard Power         lies in the property of the reasoning, and in the ability
System (SPS) reconfiguration, where the use of a smart CPS is            of communication and knowledge-sharing among dissimilar
particularly compelling. The proposed solution to the problem            components to take run-time decisions.
adopts a multi-paradigm approach, where the selected require-            Current approaches to the development of smart CPSs en-
ments of adaptivity, proactivity, reactivity and smartness led to        compass several alternative frameworks. Some selected are
the consideration of different paradigm frameworks, especially           illustrated in the following.
referring to Agents and Actors entities. Among the available
frameworks, three of the most representative, Jason, Jade and            B. Ptolemy II
Akka, have been examined. Thus, this approach allowed to use
                                                                            Ptolemy II was born around 1996, successor to Ptolemy
each paradigm’s strength points for the most suitable task. The
                                                                         Classic. It is a framework of Java-based components with
resulting developing framework is proposed in the form of a
                                                                         a graphical user interface called Vergil. As described from
meta-model, representing the composition of the so-called H-
                                                                         the developer [8], “the Ptolemy project studies the modelling,
Entity, the core element of the meta-model. It constitutes the
                                                                         simulation and design of simultaneous embedded systems in
central reasoning of the proposal, gathering in itself different
                                                                         real time.” Its central core consists in the possibility to assem-
entities finally able to exchange information. In the end, an
                                                                         ble concurrent components, using well-defined computational
appendix with the definition of all meta-model elements is
                                                                         models governing the components interactions. A further
provided.
                                                                         development of the issue is to mix different computational
              II. T HEORETICAL BACKGROUND                                models for the purpose.
   Before entering the proposal of a smart CPS development,
                                                                         C. Jade
it is better to briefly introduce what a CPS is, which are the
principal domain applications, and what kind of frameworks                  JADE (Java Agent DEvelopment framework), is an Agent-
can be taken into account. Thus, a short presentation of CPS,            oriented middleware [9]. It is compliant to FIPA standards,
Ptolemy, Jade, Jason and Akka is following.                              implementing the Agent Management specification and the
                                                                         FIPA Agent Communication stack [10]. It allows to realize a
A. Cyber-Physical System (CPS)                                           distributed system, whose agents are autonomous and proac-
  A Cyber-Physical System (CPS) is a new generation of                   tive [11]. It supports ontologies and content languages and it
systems integrating the physical processes with those of the             holds an interaction protocols library [10].




                                                                    35
                                      Workshop "From Objects to Agents" (WOA 2019)

D. Jason                                                                 to be validated by the SPSPlanValidator, and the resources
   Jason is a framework implementing the AgentSpeak lan-                 must be negotiated with other requirements through the SPS
guage [12]. It is agent-oriented, and it uses a Java-based               Representative. Now the Captain can decide if approving or
platform. As coming from AgentSpeak, it is inspired by the               not the solution and, if yes, the SPSManager can apply it
philosophical belief-desire-intention (BDI) model, that gives            through the enactor, set by the crew and directly acting on the
to it a human-like “reasoning”: thus, Agents acquire a kind of           switches that physically turn off the selected circuits.
intentionality. They are autonomous, proactive, reactive and             By showing this exemplified situation, the smartness is es-
they show a social ability, so that they are able to coordinate          pecially required for the central role that the Manager plays
and cooperate. In the framework JaCaMo, the organization                 and for the need to set run-time plans after deciding the load
of autonomous BDI agents, programmed in Jason, is defined                priorities.
by the Moise framework, and the Agents work in a shared                  B. The requirements
artifact-based environment, programmed in Cartago [13].
                                                                            The general requirements a CPS should fulfill lie in a
E. Akka                                                                  wide domain, that in [2] is richly exposed. All of these are
   Akka is a Java-based framework, containing libraries imple-           strictly interrelated each other and the underlying need is the
mented by the Scala programming language [14], and whose                 security the system should assure in dealing with trustiness
main entity is an Actor. It presents a robust hierarchical               and reliability of its physical and digital components and with
structure, made by actors linked each other by a parent-sons             the run-time interaction with the real world. Looking closer to
strategy. Akka Actors interact by exchanging asynchronous                the present case, the CPS here developed for a SPS should:
messages.                                                                be smart, i.e. the system should show a reasoning aptitude
                                                                         (agent-oriented paradigm); be adaptive, that means the system
                     III. T HE APPROACH                                  can efficiently adapt to environmental changes; be predictive,
   Smart CPS may be applied in many different contexts:                  i.e. it can foresee changes in its behavior for possible changes
this section will discuss our specific domain of interest, the           in the context; be distributed: the system is heterogeneous and
reconfiguration of shipboard power systems, and an analysis of           its parts are located in different places so it is able to maintain
the approach adopted for developing the proposed framework.              the connection; face realtime event, so the system is able to
                                                                         promptly react to changes; provide feedback loop, thus it can
A. The context: smart CPS for Shipboard Power Systems                    react to unexpected changes by monitoring itself and adjusting
(SPS)                                                                    its behavior.
   The here-described application context is specifically re-
ferred to the use of a CPS for the reconfiguration of Shipboard          C. The proposed approach: a multi-paradigm strategy
Power Systems (SPS). An SPS is responsible for vessels power                A cyber-physical system is heterogeneous by definition,
supply, and it governs all the aspects of the electrical system          even just for it couples digital elements with physical ones.
onboard. About the state of the art of the reconfiguration               The purpose here exposed is to develop a smart cyber-physical
methods, a study has been led [15], and it generated a                   system respecting some requirements especially involving
reflection about the possible use of a smart CPS encountering            the information exchange among heterogeneous systems, an
the requirements this problem would ask for. The case of SPS             ability we can refer to as interoperability [2]. Therefore,
is particularly relevant because it is an enclosed environment           interoperability could determine a sort of translation among
that, in scale, could represent any other application field              elements, languages, frameworks originally independent, act-
where the need to make different technologies cooperate is               ing on the communication-side of a CPS. A smart CPS uses
compelling and fruitful to improve the efficiency of the entire          specific frameworks involving some reasoning, and the need
system itself. It allows the experimentation on the interaction          for communication has to include a social aspect along with
between the cyber-physical system and human control, for                 an aptitude to adaptation. These elements explicitly belong to
its adaptation after one or several changes occurred. Notably,           agent-oriented languages, while the necessity of scaling and
the implementation and improvement of reconfiguration pro-               feedback loop requires to adopt an actor-based language. Thus,
cedures acting on both the physical (the electrical one) and the         at first a selection and a comparison of three agent and actor-
cybernetic system (the software side of the problem) imply the           based frameworks was done, trying to understand which of
challenge to face the occurring faults with a real-time response.        them could be more suitable to the purpose. Dealing with the
Here a general SPS reconfiguration scenario is depicted. The             above-mentioned SPS scenario, with the constraint of using
Captain sets the ship’s Mission through an Interface, that               different available technologies (the CPS challenge), meant
communicates with the SPSManager and can lay out a change                having a multi-paradigm approach.
of the Mission. So the SPSManager sets the load priorities               The term multi-paradigm refers to a domain dealing with com-
(distinguishing vital, semi-vital and non-vital loads in the             plex heterogeneity of models [16]. The Multi-Paradigm Mod-
specific case) and finds a reconfiguration plan responding               eling, MPM, comes to solve the contemporary use of different
to the electrical failure perceived and communicated by the              paradigms characterized for not sharing the same language.
sensors through the SensorActor. The solution found has                  The more heterogeneous is the relationship the harder is the




                                                                    36
                                      Workshop "From Objects to Agents" (WOA 2019)

issue to address. The problem here exposed couples different             after we will have a look at the represented meta-model (Fig.
paradigms with different underlying languages. Jade, Jason               1). There, a top-down and a bottom-up perspective to deal
and Akka have been taken into account [11], highlighting                 with it are provided. This means that one could read the meta-
their common points and their peculiarities. Although they are           model in terms of composition of elements (top-down) or by
all Java-based, their differences are several, and they descend          analyzing the single parts which it is made of (bottom-up).
from the concepts behind their main entity, the Agent for
Jade and Jason, the Actor for Akka. Moreover, Jade’s Agents              A. The H-Entity
respect FIPA standards, whereas Jason’s are based on a BDI                  The so-defined H-Entity, where ‘H’ stands for heteroge-
model. In the following lines, their distinguishing traits will          neous, holds the entire philosophy here proposed. It can be
be summarized.                                                           considered as a polyhedral organism composed of frameworks
   • Jason’s reasoning                                                   that cooperate by exploiting their best qualities and winning
      Basing on a BDI (belief-desire-intention) model, Jason’s           skills. The H-Entity allows them to share their knowledge
      Agent shows a decision-making ability that can be called           among each other if they use different languages, and between
      reasoning [12]. Human-like, it expresses by a sequence             them and the external world, making into communication other
      of tasks making a plan that is acted to pursue a goal,             possible H-Entities. It is conceived as a flexible and versatile
      with the qualities of autonomy, reactivity, proactivity and        structure, defined by Roles played by the most suitable specific
      social ability. With special regards to the last one, the          Entity (composing the H-Entity).
      communication among Agents is an actual action [12],
                                                                         B. Top-down meta-model perspective
      that has a Propositional Content and a Performative (e.
      g. a request).                                                        Let’s now observe the meta-model. The principle of all lies
   • Jade’s communication protocols                                      in the Cyber-Physical World, which is made up of a CPS
      In Jade the interaction between distributed Agents is              Organization and of an Environment; they are the organiza-
      particularly stressed. As fully adhering to FIPA, the              tional side, corresponding to the Moise framework, and the
      Agent is proactive, so it can react to a state change              environmental side, belonging to Cartago. The so-called H-
      and decide to pursue a goal [11]. Developing with Jade             Entities also belong to the CPS world: they play the CPS roles,
      means using the object-oriented paradigm with specific             which are Moise roles and make a CPS organization. They
      aptitude to finite state-machine and interoperability due          constitute the link among the left and right areas. On their turn,
      to protocols-oriented communications, to ontologies and            the H-Entities are entities (Agents and/or Actors) playing both
      to full support for FIPA specifications.                           H-Roles, defined as Manager, Worker, Diplomat and Interface,
   • Akka’s hierarchy                                                    and Entity Roles, which are Moise roles. This is the Moise
      The peculiar structure of Akka lies in the father-sons             Organization, that allows the Entity to pursue a goal by playing
      hierarchy of the entities. [14]. Developing a reactive             a role that determines the behavior of a Group of Entities. The
      system on Akka means reasoning in terms of parallel,               same kind of organization is adopted inside a single H-Entity
      asynchronously communicating processing (the actors),              among its own Entities constituting it, or among different H-
      and enfatizing aspects such as efficiency, distribution,           Entities, that happen to interact in the Cyber-Physical World.
      scalability and failures control. Unlike Jason and Jade,           Then, the H-Roles define the distribution of responsibilities
      Akka features allow a safe approach for implementing               in a single H-Entity; the CPS Roles describe the macro-
      highly scalable and performant functions; moreover Akka            functionalities in the whole external system of CPS, among
      Stream provides a capability of internal coordination to           different H-Entities. The Roles define the structural definition
      implement pre-defined workflows.                                   of the organization and allow the Entities to pursue a goal by
   For the above-mentioned aim, it resulted that none of them            following a behavioral constraint; the Goal is collective and
can be substituted without losing something, so instead of               to be achieved by accomplishing Missions, that are the link
settle with just one, the new objective was to choose all of             between roles and Social Scheme, i.e. between the structural
them, basically using each strength points, i.e.: Jason’s reason-        and the functional part of the organization. On the left side, the
ing, Akka’s hierarchy and scalability, Jade’s communication              CPS world has an Environment, both physical and cybernetic.
protocols.                                                               Here the artifacts compose the workspace: the artifacts are
                                                                         made by a Manual, that holds the information about their state,
              IV. T HE PROPOSED FRAMEWORK                                and by some Operations. The latter ones update Observable
   Since it is a compact representation, the use of a meta-              Properties, that are the states of the artifacts, and generate
model is useful to have an overall view of all the components            Observable Events (e. g., in the lower meta-model level, the
of the proposal: the more the parts are, the more useful                 messages).
the construction of the meta-model is. Building it up means
to clear up the hierarchies and especially the relationships             C. Bottom-up meta-model perspective
keeping otherwise separated and, most of all, to finally see               Let’s put one aside the other the three frameworks we
possible links and how to develop them [17].                             analyzed. Each of them has its own entity: Jade and Jason
In the following section the H-Entity will be introduced. Right          Agents and Akka Actor.




                                                                    37
                                    Workshop "From Objects to Agents" (WOA 2019)




                                                 Fig. 1. The H-Entity Meta-Model



     a) Jade side: Jade’s Agent has an AgentState, performs           behaviour.
a behavior through a Scheduler and it sends and receives an
                                                                      D. The linking entities
ACLMessage, which is FIPA compliant: thus, it contains a
Content, a Content Language, an Ontology, a Protocol and a               Something is immediately evident: at the bottom of the
Performative, and it is expressed by an Agent-Communication           figure, the message level shows a gradual implementation from
Language (ACL).                                                       the Actor to Jade Agent framework: the Message, containing
                                                                      just a Content in Akka, acquires a Performative in Jason, and
     b) Jason side: The Jason Agent lives following a BDI             then also a Protocol, a Language and an Ontology in Jade
model. In pursuing some Goals, it reacts to the Events oc-            (that, it is known, has its strength point in the communication
curring in the context which trigger some Plans. The Plans            side). Here it comes the key of the interaction among the
have to satisfy these goals. In the meanwhile, Jason Agent            three frameworks, originally not conceived to communicate
communicates through messages, defined as Jason Messages,             at all. The other elements placed outside the known meta-
made by a content (Proposition) and a Performative.                   models are those related to the concepts of entities: the upper
     c) Akka side: Finally, in Akka the actor shows a parental        entities, called H-Entities, are all of those elements who can
hierarchy [14] that enacts a Supervision Strategy. The actor          interact among each other in the CPS world through an
performs a Behavior which influences a State. The Behaviour           upper Moise Organization, that replicates in the lower meta-
triggers the so-called Akka Message that in turns generates a         model level among the Roles of a single entity. Thus, the




                                                                 38
                                         Workshop "From Objects to Agents" (WOA 2019)

 Goal can be a Social Goal, when pursued at the upper level,           15            ACLMessage msg = new ACLMessage(ACLMessage.INFORM);
                                                                       16            msg.addReceiver(new AID("manager",AID.ISLOCALNAME))
 while at the bottom it is the single Goal pursued by Agents.                             ;
 There are still two elements to be analyzed, the so-defined           17            msg.setLanguage("h-language");
                                                                       18            msg.setContent(content);
 Jade-Jason Message Wrapper and the Jade-Akka Message                  19            myAgent.send(msg);
 Wrapper, highlighted in green in the picture. These constitute        20           }
                                                                       21       }
 the practical key for the realization of the inter-communication      22   }
 among the three frameworks. What they do is establishing
 a translation using the Jade Communication Protocol as a                               Source code 2. Akka to Jason wrapper def
 channel: whenever an agent or an actor sends a message,
 Jade intercepts it to re-send it to its recipient, using a wrapper           The use of a Jade Agent as a bridge is very useful because,
 with Jason, by sharing the content and the performative, and              through the extension of the CyclicBehaviour class, a type
 a wrapper with Akka, sharing only the content.                            of Behaviour that execute the action() method cyclically and
                                                                           never ends, the agent waits for messages from Jason agent,
                         V. T HE SOLUTION                                  then the Jade Agent sends them to the root actor. With the
    The meta-model allowed to understand how and at what                   source code 1, in the setup() method (line 5), a root actor
 level to realize the merging among all frameworks. The                    is instantiated: this actor has the task of initializing all the
 following subsections will provide details about the wrappers             possible sub-actors useful to the system, and it allows the sub-
 developed to allow their interactions and the solution to the             actors to connect with the Jason Agent. When the Manager
 scenario introduced before.                                               (Jason Agent) would like to send a message to an actor, the
                                                                           JadeAkkaActorSystem intercepts the message (line 12) and
 A. Examples of code: the Wrappers                                         sends it to the root actor (line 15), which has the task to send
    As introduced in the previous section, the entities are linked         the message to the specified sub-actor. When an actor would
 together at the message level. This layer is implemented                  send a message to a Jason Agent, uses the class Akka2Jade
 with the wrappers: in source code 1 and source code 2,                    (source code 2). These bridges also exploit a native class
 the wrappers connect the Jason agent (Manager), with the                  named JadeAgArch that allows instantiating a Jason Agent into
 Akka Actor (root). The communications from the Jason Agent                a Jade Agent, sending messages from Jason to Akka Actor
 to the Akka Actors are managed through a bridge. This is                  through Jade Agent and vice versa. With the source code 2,
 implemented with a Jade agent named JadeAkkaActorSystem                   the actor uses the sendJason(msg) method (line 3-21) to send
 (source code 1).                                                          a message to the Manager (Jason Agent).

 1   public class JadeAkkaActorSystem extends Agent {                      B. The SPS scenario
 2      ...
 3      protected void setup() {
 4          Akka2Jade bridge =new Akka2Jade(this);
                                                                              In Fig. 2 it is explained the CPS solution for the SPS
 5          root = system.actorOf(Root.props(bridge), "root-               scenario, with the adoption of the proposed meta-model.
                 worker");
 6          addBehaviour(new ForwardIncomingMessages());
                                                                           The Captain sets the Mission by using the Interface which
 7      }                                                                  is made by a Cartago Artifact; so the Mission is changed and
 8
 9       private class ForwardIncomingMessages extends
                                                                           this is communicated to the SPSManager, whose role is played
              CyclicBehaviour {                                            by a Jason Agent. It sets the load priorities with an exchange
10          @Override
11          public void action() {
                                                                           with the MissionManager, which after detecting the electric
12             ACLMessage msg = myAgent.receive();                         failure (by sensors communicating with Akka Actors, through
13             if (msg != null) {
14                String content = msg.getContent();
                                                                           the CircuitMonitor, finds a possible Reconfiguration with the
15                root.tell(content, null);                                SPS Plan Generator, which is an Actor. This is sent to the
16             }
17          }
                                                                           Manager which needs to validate the Solution by sending it
18       }                                                                 to a Validator, an Akka Actor, exchanging information with a
19   }
                                                                           MatLab platform. So the available resources are negotiated
                Source code 1. Jason to Akka wrapper def                   with a “talk” between the Jason Agent Manager and the
                                                                           SPSRepresentative which is a Jade Agent. The solution is
 1   public class Akka2Jade {
                                                                           finally approved by the Captain who allows the Manager to
 2      ...                                                                apply it by enabling the Crew to interact with the Enactor,
 3      public void sendJason(String msg) {
 4          if (myAgent != null)
                                                                           a Cartago Artifact, passing through a Reconfigurator Enactor,
 5             myAgent.addBehaviour( new SendToJason(msg));                an Akka Actor. It physically switches off the non-vital loads
 6      }
 7
                                                                           to efficiently deal with the fault. Thanks to the proposed
 8       private class SendToJason extends OneShotBehaviour {              approach, the solution takes advantage of the most relevant
 9          ...
10          public SendToJason (String content) {
                                                                           features of the three composing frameworks: it shows the
11              this.content = content;                                    capability to adhere to standards, from Jade; it implements
12          }
13          @Override
                                                                           a strategy in high levels rules, through Jason, and it is very
14          public void action() {                                         efficient, due to the Akka contribution.




                                                                      39
                                                  Workshop "From Objects to Agents" (WOA 2019)

                                                                  <>
                                                                CircuitMonitor
                                                                    [Akka]

                                                                                                                 8.                                                 Captain
                                <>             <>                                             Approve                <>
                               SensorMonitor       SensorArrayMonitor         2. Electric failure                                   CaptainInterface
                                                                                                              Solution      7.
                                  [Akka]                 [Akka]                                                                         [Cartago]
               Current                                                                                                   Propose
               Sensors                                                                                                   Solution
                                                                                                                                           1. Set mission
                                            <>
                                           SensorMonitor
                                              [Akka]                                                      <>
                                                                                                          SPSManager
                         Current                                                                            [Jason]
                         Sensors                                                                                                           6. Negotiate Resources
                                                              9. Apply Solution

                                                                                                                                                                <>
                                                    <>                                         3. Find
                                                                                                                                                              SPSRepresentative
                          SwitchArtifact         Reconfiguration        <>                  Reconfiguration                                                 [JADE]
                            [Cartago]                Enactor         SPSPlanGenerator
                                                      [Akka]              [Akka]
        Switchers

                                                                                       4. Validate Solution
                         SwitchArtifact
                           [Cartago]                                                                                                                           <>
                                                                                                          <>
                                                                                                                                5. Feasible Solution            Emergency
        Switchers                                                                                      SPSPlanValidator
                                                                                                                                                              Representative
                                                                                                            [Akka]
                                                                                                                                                                  [JADE]
                                                                       MatLab
                                             <>             Simulink
                                             CrewInterface
                                               [Cartago]
                           Crew


                                                             Fig. 2. The solution for a SPS reconfiguration



           VI. C ONCLUSIONS AND FUTURE WORKS                                                  [5] J. Lee, B. Bagheri, and H.-A. Kao, “A cyber-physical systems archi-
                                                                                                  tecture for industry 4.0-based manufacturing systems,” Manufacturing
   The need to work with smart CPS implies the necessity to                                       Letters, vol. 3, pp. 18–23, 2015.
make different frameworks and paradigms interact with each                                    [6] S. Sridhar, A. Hahn, and M. Govindarasu, “Cyber–physical system
other. This issue by nature leads to a multi-paradigm approach,                                   security for the electric power grid,” Proceedings of the IEEE, vol. 100,
                                                                                                  no. 1, pp. 210–224, 2012.
with the theme of communication among not-overlapping                                         [7] P. J. Mosterman and J. Zander, “Cyber-physical systems challenges: a
languages. The solution we developed is here presented by                                         needs analysis for collaborating embedded software systems,” Software
means of a meta-model including the considered agent and                                          & Systems Modeling, vol. 15, no. 1, pp. 5–16, 2016.
                                                                                              [8] [Online]. Available: https://ptolemy.berkeley.edu
actor-based frameworks (here Jade, Jason and Akka), linked by                                 [9] F. Bellifemine, A. Poggi, and G. Rimassa, “Jade: a fipa2000 compliant
the so-called H-Entity, a polyhedral structure that allows taking                                 agent development environment,” in Proceedings of the fifth interna-
advantage of each framework winner skills to be exploited at                                      tional conference on Autonomous agents. ACM, 2001, pp. 216–217.
                                                                                             [10] F. L. Bellifemine, G. Caire, and D. Greenwood, Developing multi-agent
best according to the needed roles to be played. The solution                                     systems with JADE. John Wiley & Sons, 2007, vol. 7.
adopted for an SPS reconfiguration revealed a possible way                                   [11] M. Cossentino, S. Lopes, A. Nuzzo, G. Renda, and L. Sabatucci, “A
to make the different entities interact at the message level, by                                  comparison of the basic principles and behavioural aspects of Akka,
                                                                                                  JaCaMo and Jade development frameworks.” 19th Workshop From
the use of wrappers.                                                                              Objects to Agents (WOA 2018), Palermo, 28-29 June 2018.
The SPS reconfiguration system prototype is now under test.                                  [12] R. H. Bordini, J. F. Hübner, and M. Wooldridge, Programming multi-
The evaluation of the system will be performed by measuring                                       agent systems in AgentSpeak using Jason. John Wiley & Sons, 2007,
the response time and the interactions among the different                                        vol. 8.
                                                                                             [13] J. F. Hübner, O. Boissier, R. Kitio, and A. Ricci, “Instrumenting
parts of the platform. The future advancement will be to extend                                   multi-agent organisations with organisational artifacts and agents,” Au-
the use of CPS to all the other ship’s facilities: the final purpose                              tonomous agents and multi-agent systems, vol. 20, no. 3, pp. 369–400,
is to give form to a Smart Ship solution, as already provided                                     2010.
                                                                                             [14] M. Gupta, Akka Essentials. Packt Publishing, Birmingham, 2012.
by vendors such as Hyundai 1 .                                                               [15] L. Agnello, M. Cossentino, G. De Simone, and L. Sabatucci, “Shipboard
                                                                                                  power systems reconfiguration: a compared analysis of state-of-the-art
                                   R EFERENCES                                                    approaches,” Smart Ships Technology, pp. 1–9, 2017.
 [1] J. Shi, J. Wan, H. Yan, and H. Suo, “A survey of cyber-physical                         [16] C. Hardebolle and F. Boulanger, “Exploring multi-paradigm modeling
     systems,” in Wireless Communications and Signal Processing (WCSP),                           techniques,” Simulation, vol. 85, no. 11-12, pp. 688–708, 2009.
     2011 International Conference on. IEEE, 2011, pp. 1–6.                                  [17] T. Kühne, “Matters of (meta-) modeling,” Software & Systems Modeling,
 [2] V. Gunes, S. Peter, T. Givargis, and F. Vahid, “A survey on concepts, ap-                    vol. 5, no. 4, pp. 369–385, 2006.
     plications, and challenges in cyber-physical systems.” KSII Transactions                [18] A. Ricci, M. Viroli, and A. Omicini, “Cartago: A framework for proto-
     on Internet & Information Systems, vol. 8, no. 12, 2014.                                     typing artifact-based environments in MAS,” in International Workshop
 [3] H. Li, L. Lai, and H. V. Poor, “Multicast routing for decentralized                          on Environments for Multi-Agent Systems. Springer, 2006, pp. 67–86.
     control of cyber physical systems with an application in smart grid,”                   [19] O. Boissier, R. H. Bordini, J. F. Hübner, A. Ricci, and A. Santi,
     IEEE Journal on Selected Areas in Communications, vol. 30, no. 6, pp.                        “Multi-agent oriented programming with JaCaMo,” Science of Computer
     1097–1107, 2012.                                                                             Programming, vol. 78, no. 6, pp. 747–761, 2013.
 [4] P. Leitão, A. W. Colombo, and S. Karnouskos, “Industrial automation                    [20] C. Hahn, C. Madrigal-Mora, and K. Fischer, “Interoperability through a
     based on cyber-physical systems technologies: Prototype implementa-                          platform-independent model for agents,” in Enterprise Interoperability
     tions and challenges,” Computers in Industry, vol. 81, pp. 11–25, 2016.                      II. Springer, 2007, pp. 195–206.
                                                                                             [21] M. Cossentino, A. Chella, C. Lodato, S. Lopes, P. Ribino, and V. Seidita,
  1 IntegrICT, http://www.hyundai-electric.com/elec/en/integrict/integrict1.jsp                   “A notation for modeling Jason-like BDI agents,” in 2012 Sixth In-




                                                                                        40
                                          Workshop "From Objects to Agents" (WOA 2019)

    ternational Conference on Complex, Intelligent, and Software Intensive        defined to the purpose of interaction among messages by the
    Systems. IEEE, 2012, pp. 12–19.                                               specification of sequences.
 VII. A PPENDIX : DEFINITION OF META - MODEL ELEMENTS                             Content: it defines the information carried by a message. It
  CARTAGO [18] [19]                                                               follows FIPA indications about its expression generally using
Artifact: it is the basic element of the environment and it                       SL (semantic language).
provides organizational operations as they are used by Agents.                    Content language: it is expressed in SL and it is made up of
                                                                                  expressions or propositions.
Environment: it consists in the field of work for the agents’
                                                                                  Ontology: it is a knowledge base the messages refer to.
activities.
                                                                                  Performative: it is a type of communication expressed by a
Manual: it contains the information about the functional
                                                                                  message, it is the communicative act.
description and the observable states of the artifact.
Workspace: it is defined as an open set of artifacts and agents.
                                                                                     JASON [12] [21]
The agent must exist in a workspace.
                                                                                  Jason Agent: autonomous, reactive, proactive and social entity
Operation: It determines the update of the artifact state or it
                                                                                  based on a BDI (belief, desire, intention) model.
generates observable events.
                                                                                  Plan: a set of actions to be performed to pursue and satisfy a
Observable Property: it determines the functional behavior of
                                                                                  goal.
the artifact.
                                                                                  Trigger Event: it is the circumstance that activates a plan
Observable Event: it is an event generated by an operation
                                                                                  rather than another.
and sensed and registered by the agent sensors.
                                                                                  Action: each task which a plan is made of. It is performed by
                                                                                  the agent and can change the environment so becoming an
  MOISE [13] [19]
                                                                                  Event.
Group: responsible for one or more Social Schemes that the
                                                                                  Event: a change in agent’s initial knowledge or goal.
Agents adhere to.
                                                                                  Context: it is a set of conditions determining the execution of
Social Scheme: it contains several missions.
                                                                                  a Plan.
Mission: contained in the Schemes, it is defined by a set of
                                                                                  Belief : a predicate representing the starting knowledge of the
goals to achieve.
                                                                                  environment the agent has.
Role: it is a behavioral constraint for an Agent to play in a
                                                                                  Rule: a logic expression made by predicates.
Group.
                                                                                  Goal: the final state that the agent wants to achieve by
Norm: the collecting element between the Role and the
                                                                                  performing a plan.
Mission so the Group to Role.
                                                                                  Jason Message: it has a performative and a content. It allows
Social Goal: the Goal the organization has to achieve.
                                                                                  the Agents to communicate each other and it updates the
                                                                                  believes.
   H-ENTITY
                                                                                  Jason Performative: it is of the kind of request, information,
H-Entity: it is the core element of the meta-model. It gathers
                                                                                  etc
all the possible heterogeneous entities.
                                                                                  Propositional Content: it is expressed by arguments and it
Entity: one of the infinite possible members of the H-Entities.
                                                                                  could be true or false.
It can be an Agent or an Actor.
H-Role: H-Roles are internal roles played by the Entities.
                                                                                     AKKA [14] [11]
CPS Role: CPS Roles are played among different H-Entities
                                                                                  Akka Actor: a reactive entity encapsulating a state and a
interacting in the CPS World.
                                                                                  behavior.
Entity Role: the external roles played by Entities following
                                                                                  State: it is encapsulated by the Actor.
the Moise Organization.
                                                                                  Behaviour: an encoding of reactions.
  JADE [10] [20]                                                                  Supervision Strategy: the feature based on the hierarchical
Jade Agent: it shows quality of autonomy and proactivity.                         structure of Akka made of fathers and son. Each father is
Behaviour: It implements the tasks that the Agents can                            responsible for its sons.
pursue.                                                                           Akka Message: the interaction key among Actors. It stimulates
ACLMessage: it is based on an asynchronous communication                          a reactive action of the Actor. Received messages are stored
paradigm. It makes the interaction among Agents.                                  in a mailbox. It has just a content.
Protocol: as part of the structure of the ACLMessage, it is




                                                                             41