=Paper=
{{Paper
|id=Vol-2646/46-paper
|storemode=property
|title=Privacy-aware design for E-Health Information Systems
|pdfUrl=https://ceur-ws.org/Vol-2646/46-paper.pdf
|volume=Vol-2646
|authors=Flora Amato,Giovanni Cozzolino,Francesco Moscato,Vincenzo Moscato,Antonio Picariello,Giancarlo Sperlì
|dblpUrl=https://dblp.org/rec/conf/sebd/AmatoC0MPS20
}}
==Privacy-aware design for E-Health Information Systems==
Privacy-aware design for E-Health Information Systems (DISCUSSION PAPER) Flora Amato1 , Giovanni Cozzolino1 , Francesco Moscato2 , Vincenzo Moscato1 , Antonio Picariello1 , and Giancarlo Sperlı̀1 1 University of Naples ”Federico II”, Dipartimento di Ingegneria Elettrica e Tecnologie dell’Informazione, via Claudio 21, 80125 Naples, Italy@unina.it 2 University of Campania ”Luigi Vanvitelli” DiSciPol, Caserta, Italy francesco.moscato@unicampania.it Abstract. Many research works had the aim of creating frameworks able to model systems, of defining their requirements and properties, and of verifying their satisfiability. Many approaches involve the usage of the Model Driven Engineering throughout the whole system lifecycle in order to build systems that are correct by construction. Using models as primary artefacts helps to reduce costs and time of development. The possibility of having automatic code generation from model tools en- act the possibility to produce (theoretically) bug-free code starting from correct models. In this work we describe the usage of a modelling and verification tool, MetaMORP(h)OSY, for performing quality control in E-Health Domain. Keywords: Multi agent systems · E-Health · Model Driven Engineering · Formal Verification. 1 Introduction In many applications, standards and/or regulatory processes are defined to en- sure that systems are going to operate as intended. In critical systems this is very important, because an error or a failure could lead to serious damages in terms of human lives, environment and money. In these systems it is necessary to use formal methods, i.e. mathematical techniques used for the specification, development and verification of software and hardware systems. In recent years, Model Driven Engineering (MDE) has developed a lot, laying its foundations on the massive use of models as its primary artefacts. In literature, many research works have been devoted to exploit the abstrac- tion resulting from the creation of models in the MDE and in the application of Copyright c 2020 for this paper by its authors. Use permitted under Creative Com- mons License Attribution 4.0 International (CC BY 4.0). This volume is published and copyrighted by its editors. SEBD 2020, June 21-24, 2020, Villasimius, Italy. the modelling techniques on various kinds of systems. In particular, researchers are trying to create frameworks that allow to completely describe systems (and their requirements and properties) and to verify their correctness. The principle is to use MDE approaches throughout the system lifecycle. The aim is to build systems that are correct by construction. Using models as primary artefacts helps to reduce costs and time of development, and since automatic code generation from model tools are already available, it is clear that is possible to produce (theoretically) bug-free code (starting from correct models). The standard use of the MDE involves the use of a Domain Specific Modelling Language (DSML) for the definition of system models. With this language, different levels of abstraction of the system under study are created. These abstraction levels must somehow contain consistent in formation about the system. This is the reason why Model-to-Model (M2M) and Model-to-Test (M2T) translation tools are used as bridges between abstraction levels. These transformations, besides being useful to treat models in the most con- venient way, allow us to introduce automation in our process. In order to build a process that leads automatically (or semi-automatically) to the creation of a correct system, it is necessary to solve some problems of high complexity, for example: – to guide the user in the construction of an high-level model of the system and its specific analysis properties; – automating the definition and configuration of the analysis process (e.g. by calling the right tools at the right time) Such approach can be used also to setup, in a very fast and flexible way, many different kind of systems, that can be applied to the analysis of complex domains, like social networks [1–4], big-data, or human-understanding interfaces [5]. Many works [5, 3] exploit Artificial Intelligence tecniques, in order to con- struct a model able to represent and satisfy system requirements, while other works are model-oriented [6–8]. In recent works, as [9], we propose MetaMORP(h)OSy (Meta-modeling of Mas Object-based with Real-time specification in Project Of complex Systems), a framework aiming to verify if a system model satisfies a given property. This framework is still prone to some issues related to the devel- opment of an automatic (or semi-automatic) chain of tools for the analysis and proper construction (model driven) of systems, that can be fixed with a semantic approach for the correlation of produced models [10, 11]. MetaMORP(h)OSy exploits a multi-agent modelling paradigm. A meta-formalism extending UML is used to express actors, system components and requirements. Algorithms are used in the design phase to translate Multi Agent Systems models into appropriate formal models. 2 The methodology 2.1 Methodology Description MetaMORP(h)OSy implements a methodology for the design, validation and verification of critical systems. For this purpose, it uses techniques and ap- proaches of MDE and MAS. In particular, MetaMORP(h)OSy exploits a multi- agent modelling paradigm. A meta-formalism extending UML is used to express actors, system components and requirements. Algorithms are used in the design phase to translate MAS models into appropriate formal models. The definition of requirements allows the choice of appropriate Observers to be performed for model analysis. After the validation of the design models, vertical transforma- tions are implemented, which produce stubs for the generation of the system at run-time. The framework must generate monitors during the design and execu- tion phase in order to allow the verification of the requirements. In particular, the monitors in the execution phase must compare the behavior of a system under analysis with the one predicted in design analysis. 2.2 Description Language METAMORP(h)OSy provides the same graphic language for the system speci- fication and its requirements formulation. This language is formally defined by a meta-model. The MetaMORP(h)OSy profile must allow the definition of: – structural and behavioural views of the system; – system properties and requirements to be verified; – methods, techniques and metrics for analysing or measuring properties and requirements; – expected and measured workloads of the systems. Being MetaMORP(h)OSy designed to be used for critical systems, it al- lows the specification of temporal behaviour of agents and real-time proper- ties[12]. The name of the modelling profile is RT-AML (Real-Time Agent Mod- elling Language). RT-AML describes MAS using a UML-based language. Meta- MORP(h)OSy uses the BDI (Beliefs Desires Intentions) paradigm to describe agents[13]. Agents are characterized by their beliefs, the objectives they want to achieve and the plans available to achieve them. RT-AML profile uses four diagrams for MAS behaviours description: Class diagrams, RT Agent Diagrams, RT-Activity diagrams and RT-Sequence diagrams. Class diagrams are the same of UML class diagrams. They are used when it is not useful to describe objects as agents (for example in case of passive entities). The RT-Agent diagrams are the core of the RT-AML profile. They describe agents’ structures, goals and beliefs. In addition, they declare the actions and the plans they can execute. The RT-Activity diagrams allow for description of agents plans. The RT- Sequence diagrams describe agents’ collaborations (and/or competitions). Their main goal is to define exchanges of messages and events (real-time stimula) Fig. 1. Architecture of MetaMORP(h)OSy Fig. 2. MetaMORP(h)OSy component architecture during execution of agents plans. As seen in Amato and Moscato 2015[9], main elements of RT-Agent diagram meta-model are depicted in Figure 2. The AgentRT stereotype defines the structure of agents. The PlanRT stereo- type defines the plans, which in turn define the behaviour of agents. Plans are associated with objectives, and typically these are common to multiple agents, who will work together to achieve them. The DgoalRT stereotype defines decidable targets for AgentRTs, where a decidable target is a target whose reachability can be achieved under real-time constraints. The BeliefRT stereotype is used to model what the agent knows, in terms of internal status, the information about other agents and the external environment. Stereotypes needed to model agent plans are defined in the RT-Activity dia- gram profile. RT-Activity Diagram inherits all these elements from the UML Ac- tivity Diagram, redefining states and transitions to specify real-time constraints. There are six stereotypes created ad-hoc: ActionStateRT, InitialState, FinalState, TransitionRT, SendObjectRT and ReceiveObjectRT. When an agent starts a plan, he has information about his surroundings. These Beliefs usually make up the initial state of the activity diagram, and they are specified as properties of the Initial State Stereotype. FinalState refers to a DGoalRT, and it is the final state of the activity diagram. Usually the temporal properties are relative to the final state. ActionStateRT derives from the classic state of the Activity Diagram UML. It is basically a state subject to real-time constraints. The stereotype in fact includes properties such as ExecAc- tionTime, that is the time it takes to execute the action. In particular, to describe situations in which an agent sends or receives objects (messages or events), the stereotypes SendObjectRT and ReceiveObjectRT have been introduced. The last stereotype introduced for Activity Diagrams is TransitionRT, which is used to define time constraints on state transitions. 2.3 Model Components Main elements of the RT-Sequence Diagram are StimulusRT and MultiStimu- lusRT. Before introducing the stereotype StimulusRT we recall the fact that a sequence diagram is basically composed by objects and lifelines. In this context, stimuli are messages that objects can send to themselves. There are five types of stimuli: Call, Send, Return, Create and Destroy. StimulusRT is used, therefore, to define stimuli subject to real-time constraints. Each StimulusRT element has the following properties: – StartTime: when the decision to send a message during the pian is made. – SendTime : when the message is sent. – TransmissionTime : the time required to transmit the message. – StartReceiveTime : the time the receiver starts receiving the message. – EndReceiveTime: the time when the receiver has finished receiving the message. – Deadline : the deadline for broadcasting. – MessageSync: used to specify whether the message is synchronous or not. MultiStimulusRT is derived from the StimulusRT stereotype, and it is used to define redundancy in message reception. MetaMORP(h)OSy has separate profiles for defining requirements and properties of systems. This allows to de- mand different requirements on the same system at different times, which is why requirement and property specifications are defined outs ide of the agent stereotypes. A requirement is a list of properties that Observers will analyse on the models (at design-time or run-time). The properties can be functional or non-functional. MetaMORP(h)OSy basic profile for properties defines stereo types for prop- erties such as Availability, Reliability, Schedulability, Performances, etc. Obvi- ously, if the properties are non-functional, it is necessary to define metrics for their definition, evaluation and monitoring. Users can add other metrics and properties to the basic MetaMORP(h)OSy profile. Proper modules called Obervers (whose structure is defined in the modelling profile too) choose the best suitable Translator in the framework to execute proper Model Transformations and to verify requirements. Since MetaMORP(h)OSy covers all system life cycle, it uses particular Ob- servers at run-time for monitoring and testing purposes. So, Observers are di- vided by the profile into: Design Time Observers and Run Time Observers. They can be further specialized depending on translation algorithm, and analysis methods are used to analyse properties and requirements on system components. Observers can be associated to Structural and behavioural components and obviously to the property to analyse or to monitor, as well as to the metrics used to collect and to produce results. The Observers introduce the intelligence needed to automate the system analysis. They are generated from the analysis models and they are dependent on the kind of the analysis that must be performed. The Observers are in charge of automatically establishing and realizing the specific MDE approach to validation and verification of the system under study. They use the UML models of the system and the information contained in the analysis models in order to choose a suitable analysis process and generate the formal models needed to fulfil the analysis objectives. They enact the process, also invoking the proper analysis/solution tools. The overall MetaMORP(h)OSy component architecture is depicted in figure 2. 3 Application to e-health domain This section describes the specialization of MetaMORP(h)OSy methodology ap- plied in processing data[14, 15] for the E-Health domain, using results from Am- ato and Moscato 2015[9]. The first step is to extend the MetaMORP(h)OSy RT-AML profile for the specific application domain. For this purpose, it is nec- essary to extend both the AgentRT and BeliefRT stereotypes. These new Agents specialize the AgentRT stereotype are: – Patient represents the entity that possess Electronic Health Record and grant the authorizations for the access to records by other agents; – DataController: users can use this stereotype in order to declare agents like Hospitals that implement the E-Health system ; – DataProcessor stereotype defines providers for records management and stor- ing; – DataSubProcessor usually refers to Cloud Storage providers; – Physician is the entity related to doctors that interacts with patients. In particular, Family doctors and doctors who are eventually involved in emer- gencies specialize this stereotype. The BeliefRT is specialized introducing: – HealthRecord: the electronic health record of the patient; – EnCryptedHR: encrypted version of the health record; – HiddenRecord: used for hiding the health record to any agent able to read the patient’s data; – EncryptKey: used to encrypt data; – DecryptKey: used to decrypt data; – AccessAuth: physicians authorizations; Please note that access to encrypted data is achieved through the coupled use of encryption and decryption keys. In Amato and Moscato 2015[9], verification of Privacy has been traced back to a problem of state reachability of some goals with given configuration of beliefs. The goal is to obtain the following behavior: if an agent executes a plan, whose goal is reachable. In case of access of a patient’s record without having any valid authorization, the verification must fail. In Amato and Moscato 2015[9] there are some simplifying assumptions for the requirement verification: – communication network is considered secure; – in the example, only one health record is considered; – encryption exploits asymmetric algorithms; – key sharing protocols are considered safe and they will not be explicitly considered. The problem is the storage of the health record on a third-party storage server (DataProvider in the following). The generic owner of the record is a patient (thePatient in the following). ThePatient can always read its Health Record (HR). In order to store the record on the storage service provider, a previous encryption of the record has to be done. The encryption is executed directly on the patient’s smart device. The doctor (theDoctor) can access the record only if it is authorized by thePatient. By the way, the doctor cannot own the description key of thePatient. For this reason, during the authorization process, theDoctor shares its encryption key with the Patient, so that it can encrypt the HR using this key. In order to manage emergencies, thePatient stores on the DataProvider an- other encrypted version of its HR. This time, in the encryption process, a com- mon key is used. DataProvider, thePatient and theDoctor have been defined as agents, so they must be described in a structural view with appropriate Agent Diagrams. A BeliefDesire-Intention logic approach has been used in defining Agent Diagrams. Its beliefs contain information about thePatient’s, theDoctor’s and emer- gency keys. In this diagram only three plans have been considered: – Save: for saving the record on DataProvider; – ReadRecord: to read the record from DataProvider; – Authorize: to grant authorization to doctors to retrieve encrypted records from DataProvider. Each Plan is associated to a Goal. It is reached when the final action of the plan is executed. It is important to notice that beliefs with the same name share the same information between agents. For each agent plan, the user must define an activity diagram. In the following it will be reported activity diagrams of Save and Authorize plans. Please recall the fact that plans are used to reach a goal, and very often this is obtained thanks to the communication between agents. This concept brings the notion of synchronization, expressed in the activity diagrams through guards on control flow edges. Guards contain declarations of events that are asserted or waited during plans executions. The activity diagram we are going to analyse is the Save plan diagram, de- picted in Figure 3. The objects on the left side of an activity diagram correspond to the diagram inputs, while the objects on the right side correspond to the dia- gram outputs. Please notice that in the Save plan there are three parallel requests for saving the record encrypted using: its encryption key, its common encryption key for emergencies and its authorized doctor’s encryption key. The second activity diagram, depicted in Figure 4, describes the Read plan. It shows actions that are executed by theDoctor when it requests a normal authorization to read the health record. Please notice that in this diagram there are two final states: one linked to the failure of the plan (ErrorAuth?) and one linked to the success of the plan (after receiving OkAuth!, it starts the decryption, and then theDoctor can access the record). To finish the behavioral description of the system, proper sequence diagrams must be provided, in these diagrams, asserted events, which appear in agents’ activity diagrams, are declared. At the end of structural and behavioral description of the system, the user must prepare an Observer Diagram to declare the type of the analyses and monitoring activities it want to perform on the system. MetaMORP(h)OSy offers many Observers which are already implemented. In some cases, it could be useful to define an ad-hoc Observer algorithm, such as it was done in Amato and Moscato 2015[9], in order to specify particular requirements on the model (like data privacy). In the following, it is reported Fig. 3. Save Plan Activity Diagram Fig. 4. Read Record Plan Activity Diagram the solution proposed in the previously cited article. This algorithm translates the design model into Timed Automata. A timed automaton is a finite state machine extended with a finite set of real-valued clocks. During a run of a timed automaton, clock values increase all with the same speed. Along the transitions of the automaton, clock values can be compared to integers. These comparisons are used in order to evaluate automaton transitions. Without deepening into details, the Observer algorithm translates the RT- AML models D into a Timed Automata. This allows the use of Timed Automata analysis tools for verifying requirements. The last thing that has to be done is the translation of the data privacy requirement in an analyzable property for a Timed Automata Model Checker. In Amato and Moscato 2015[9], the privacy requirement is expressed in terms of state reachability. The tool that the authors of the article used as model checker is Uppaal. It is a powerful tool for modelling, validation and verifica- tion of real-time systems modelled as timed automata. Uppaal supports Timed- Computational Tree Logics (CTL) for queries specification and model checking. Again, without deepening into details, it is possible to translate privacy require- ments into a CTL formula. This formula become our property to be analyzed by using Uppaal. In Amato and Moscato 2015[9], two CTL formulas were defined in order to verify the privacy requirement, and the Observer has assured that the model previously described satisfies both. In the second example made in chapter 2, one of the CTL formulas used in Amato and Moscato 2015[9] was translated in a set of Prolog rules, simplifying their function. 4 Conclusions In this work we have shown that the adoption of Multi-Agent System models, combined with the use of Model-Driven Engineering can provide significant ad- vantages. The combination of MAS and MDE leads flexibility and intelligence in the analysis of properties and requirements of systems. Frameworks like MetaMORP(h)OSy helps us in automating (or semi-automating) the verification and validation process. When adopting this framework, the user only needs to derive his particular modelling profile from the standard Meta MORP(h)OSy’s RT-AML meta-model. As a further step, the user must pro- duce proper diagrams and observers, in order to analyse system properties and requirements in the correct way. In the last part of the work, an architectural description of MetaMORP(h)OSy is provided, with specific focus on its RT-AML profile specialization for particular purposes. It has been described, in addition, an example of MetaMORP(h)OSy application in E-Health domain. Through this work, the advantages of using MetaMORP(h)OSy, in system property analysis have been highlighted for e-Health domain. We firmly believe that this kind of applications will be adopted and developed not only in the academic world, but certainly in industry world, too. 5 Acknowledge This work was funded by “Synergy-net: Research and Digital Solutions against Cancer” Project (funded in the framework of the POR Campania FESR 2014- 2020). References 1. A. Amato, G. Cozzolino, and M. Giacalone. Opinion mining in consumers food choice and quality perception. Lecture Notes in Networks and Systems, pages 310– 317, 2020. 2. A. Amato, W. Balzano, G. Cozzolino, and F. Moscato. Analysis of consumers perceptions of food safety risk in social networks. Advances in Intelligent Systems and Computing, pages 1217–1227, 2020. 3. A. Castiglione, G. Cozzolino, V. Moscato, and G. Sperli. Analysis of community in social networks based on game theory. pages 619–626. Institute of Electrical and Electronics Engineers Inc., 2019. 4. A. Amato and G. Cozzolino. Trust analysis for information concerning food-related risks. Lecture Notes on Data Engineering and Communications Technologies, pages 344–354, 2019. 5. R. Canonico, G. Cozzolino, A. Ferraro, V. Moscato, A. Picariello, F.R. Sorrentino, and G. Sperlı̀. A smart chatbot for specialist domains. Advances in Intelligent Systems and Computing, pages 1003–1010, 2020. 6. Madeleine Faugere, Thimothee Bourbeau, Robert De Simone, and Sebastien Ger- ard. Marte: Also an uml profile for modeling aadl applications. In 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007), pages 359–364. IEEE, 2007. 7. Douglas C Schmidt. Model-driven engineering. COMPUTER-IEEE COMPUTER SOCIETY-, (2):25, 2006. 8. Richard Soley et al. Model driven architecture. OMG white paper, (308):5, 2000. 9. Flora Amato and Francesco Moscato. A model driven approach to data privacy verification in e-health systems. Trans. Data Privacy, (3):273–296, 2015. 10. F. Amato, G. Cozzolino, V. Moscato, and F. Moscato. Analyse digital forensic evidences through a semantic-based methodology and nlp techniques. Future Gen- eration Computer Systems, pages 297–307, 2019. 11. G. Cozzolino. Using semantic tools to represent data extracted from mobile devices. pages 530–536. Institute of Electrical and Electronics Engineers Inc., 2018. 12. Hermann Kopetz. Real-time systems: design principles for distributed embedded applications. Springer Science & Business Media, 2011. 13. Michael Wooldridge. Agent-based software engineering. IEE Proceedings-software, (1):26–37, 1997. 14. A. Amato, G. Cozzolino, and V. Moscato. Big data analytics for traceability in food supply chain. Advances in Intelligent Systems and Computing, pages 880–884, 2019. 15. F. Amato, G. Cozzolino, F. Moscato, V. Moscato, A. Picariello, and G. Sperli. Data mining in social network. Smart Innovation, Systems and Technologies, pages 53– 63, 2019.