=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==
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