Luca Pazzi, Marco Pradelli University of Modena and Reggio Emilia

Slides:



Advertisements
Similar presentations
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
Advertisements

Annual Conference of ITA ACITA 2009 Realising Management and Composition of Self-Managed Cells in Body Area Networks Alberto Schaeffer-Filho, Emil Lupu,
Requirements gathering
1 Toward a Modeling Theory for Predictable Complex Software Designs by Levent Yilmaz Auburn Modeling and Simulation Laboratory Department of Computer Science.
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Component Oriented Programming 1 Chapter 2 Theory of Components.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Karolina Muszyńska Based on:
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
João Batista Camargo Jr Safety Analysis Group (GAS) Computer and Digital Systems Engineering Department (PCS) Escola Politécnica.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
CLEANROOM SOFTWARE ENGINEERING.
Social Computing Networks: A New Paradigm for Engineering Pervasive Software Systems Naeem Esfahani Sam Malek 32th International Conference on Software.
CSE 303 – Software Design and Architecture
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
ComplexWorld PhD Project: Modeling Interlevel Relations within ATM Nataliya M. Mogles VU University Amsterdam, The Netherlands.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Protecting Sensitive Labels in Social Network Data Anonymization.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
出處 :2010 2nd International Conference on Signal Processing Systems (ICSPS) 作者 :Zhidong Shen 、 Qiang Tong 演講者 : 碩研資管一甲 吳俊逸.
Haptic Interfaces and Force-Control Robotic Application in Medical and Industrial Contexts Applicants Prof. Doo Yong Lee, KAIST Prof. Rolf Johansson,
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer.
Open Incremental Model Checking (OIMC) and the Role of Contracts Model-Based Programming and Verification.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Hosted by: Institute for Software Integrated Systems (ISIS) Vanderbilt University Software Reliability for FCS Discussion Format May 18-19, 2004 ARO Workshop.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Luca Pazzi & Marco Pradelli Department of Information Engineering
Computer System Structures
Object Oriented Systems Design
Information Systems Development
Chapter3:Software Processes
An Overview of Requirements Engineering Tools and Methodologies*
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Testbed for Medical Cyber-Physical Systems
Software Process Activities.
Albert M. K. Cheng Embedded Real-Time Systems
System Design and Modeling
Distribution and components
Yasuhiro Kawano Graduate School of Software and Information Science,
Software Processes.
Model-Driven Analysis Frameworks for Embedded Systems
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Internet of Things A Process Calculus Approach
Architecture Description Languages
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Knowing When to Stop: An Examination of Methods to Minimize the False Negative Risk of Automated Abort Triggers RAM XI Training Summit October 2018 Patrick.
Automated Analysis and Code Generation for Domain-Specific Models
Presented By: Darlene Banta
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
What Is Good Software(Program)?
Chapter 5 Architectural Design.
Self-Managed Systems: an Architectural Challenge
Software Development Process Using UML Recap
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
AN INEXPENSIVE ROBOTIC KIT FOR CHILDREN EDUCATION
Presentation transcript:

A State-Based Systemic View of Behaviour for Safe Medical Computer Applications Luca Pazzi, Marco Pradelli University of Modena and Reggio Emilia Department of Engineering Sciences DII-UNIMORE Via Vignolese 905, I-41100 Modena, Italy {luca.pazzi,marco.pradelli}@unimore.it

The interconnection issue Recent directions in the development of computer systems for medical application show a growing interest towards networking medical devices having embedded computers. The availability of mature interconnecting technologies, typically distributed object middleware, allows indeed a great flexibility in interconnecting control and sensing devices. The result is a system of interconnected medical devices, which may exercise control toward other devices in the network and which are controllable, on their turn, by human operators.

Opportunities and challenges Great flexibility in interconnecting control and sensing devices; Components off the shelf: reduced price, reusability at the component level (apparent); Challenges: Development, certification for high confidence medical software resulting from such a heterogeneous system integration; Presence of human operators in the loop; In the medical case, the difficulties inherent system integration are further worsened, since such systems are often assembled in order to support life-critical applications and, in any case, may endanger patient life.

The scenario Interconnecting technologies allow to easily assemble network of medical devices in order to obtain an emergent behavior; Such a global behavior is typically modelled through nowadays modelling tools and paradigm: Any device is allowed to read an modify the status of any other device in the network; But, as more devices are added, complexity of the design growths exponentially, and becomes easily uncontrollable; Aim of this paper is to: Show that nowadays modelling tools are not effective in controlling and understanding the complexity of the behavior being assembled; Propose the use of different tools and methodologies for modelling emergent system behavior and to ensure global safety and liveness;

Example System made of three components: an infusion pump; an anti-reflux valve; a blood pressure sensor. The designer wants to enforce a global behavior such that: The anti-reflux valve has to be opened before the pump starts and to be closed after it stops; It is further required that the blood pressure be always under a certain threshold during blood pump workout; in case blood pressure raises the pump has to be stopped and the valve has to be closed.

The Statecharts Model

Cluttered causal relationships!

Problems with the Statecharts Model The intended systemic behavior is difficult to specify, test, understand, modify, exchange due to the intrinsic model of interconnection based on mutual event/command exchange and condition evaluation; two kinds of related problems: On one hand software is not self-contained since it depends on the behavior of other machines; On the other hand, operational problems are raised, since it is difficult to predict which global status will be reached by the networked system, thus jeopardizing the overall safety and liveness of the assembled system; Model checking not feasible in all cases; Requires however the designer to manage complex temporal logic formulae without having a complete view of the behavior being modelled.

Explicit Modelling by Part-Whole Statecharts PW-Statecharts are an evolution of the original Statecharts formalism introduced with the aim of improving software quality of behavioral abstractions; Emergent behavior denoted explicitly by the “whole” state machine, which reduces coupling among behavioral abstractions; moreover It works as an interface for the system of interacting entities; It embeds the semantics of composition which has been removed from the component behaviors, which are now self-contained; It has a semantics which is computable!

PW Statecharts Rationale Events are not allowed to travel among components; components are only allowed to communicate with the whole;

The PW Statecharts Model components We have now a state machine, called the whole, in place of the cluster of mutual relationships among component modules; Such a state machine represents the whole behavior of the system and is itself a modular unit which is able to reused, tested, extended, certified and so on. Component modules have been freed on their turn from mutual references which hampered self-containment; whole

Advantages of PWS modelling I Full reusability of components behavior; Full reusability of system behavior (whole); Semantics of composition directly computable at design time: Explicit view of the global behavior being modelled; No need to employ model checking techniques; States in the whole section may be constrained in fact to have a user defined semantics which is enforced at design time: On  pump=On & valve=Open & pressure=Low Stop  pump=Off & valve=Closed

Advantages of PWS modelling II A novel methodology may be employed in order to verify consistency of the design with respect to user defined state constraints; What if we try to turn the infusion pump on when blood pressure is high? What if blood pressure raises when the infusion pump is on? pump=On & valve=Open & pressure=Low pump=Off & valve=Closed

Final System Design The methodology forces the designer to insert a new state HBP (High Blood Pressure) in the whole section together with related state transitions: HBP  pump=Off & valve=Closed & pressure=High; pump=On & valve=Open & pressure=Low pump=Off & valve=Closed pump=Off & valve=Closed & pressure=High

Conclusions We showed how ad hoc interconnections among medical devices may easily conceal the global behavioral view of the system being modelled; hidden behavior may endanger safety & liveness of the system being assembled; PW Statecharts (PWS) allow a systemic view of the global behavior being modelled; It is also possible to assign user defined properties to the global states of the system as well as to check for them at design time by a novel patent pending methodology (PCT/EP2008/051300) applied to PWS modelled systems which: Ensures user specified safety & liveness properties; Allow to certify the behavior of an assembled system; …without resorting to model checking techniques an/or long and not always exhaustive test cases.

Thank you!