A Framework for Systems of Asynchronous Concurrent Processes Marek Rychlý.

Slides:



Advertisements
Similar presentations
Process Algebra Book: Chapter 8. The Main Issue Q: When are two models equivalent? A: When they satisfy different properties. Q: Does this mean that the.
Advertisements

Model Checking for an Executable Subset of UML Fei Xie 1, Vladimir Levin 2, and James C. Browne 1 1 Dept. of Computer Sciences, UT at Austin 2 Bell Laboratories,
Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
1 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
Timed Automata.
Programming Paradigms for Concurrency Lecture 11 Part III – Message Passing Concurrency TexPoint fonts used in EMF. Read the TexPoint manual before you.
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
The design and implementation of a workflow analysis tool Vasa Curcin Department of Computing Imperial College London.
Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous.
1 Ivan Lanese Computer Science Department University of Bologna Italy Exploiting user-definable synchronizations in graph transformation.
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
Tony Hoare ¢ Turing Award 1980 ¢ Program Verification ¢ Algol 60 ¢ Axiomatic Semantics ¢ Floyd-Hoare Logic ¢ Concurrent Programs ¢ Communicating Sequential.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
An Introduction to Software Architecture
The Architecture of Secure Systems Jim Alves-Foss Laboratory for Applied Logic Department of Computer Science University of Idaho By, Nagaashwini Katta.
DEVS Namespace for Interoperable DEVS/SOA
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
Chapter 14 Asynchronous Network Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
PAT: Getting started.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Advanced Topics in Software Engineering Marjan Sirjani Tehran University Faculty of Engineering ECE Department Tehran,
6.852: Distributed Algorithms Spring, 2008 Class 13.
Programming Paradigms for Concurrency Pavol Cerny Vasu Singh Thomas Wies Part III – Message Passing Concurrency.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
11/19/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.
Network Protocols Network Systems Security Mort Anvari.
MPRI – Course on Concurrency Lectures 11 and 12 The pi-calculus expressiveness hierarchy Catuscia Palamidessi INRIA Futurs and LIX
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
1 Modeling and Analyzing Distributed Systems Using I/O Automata Nancy Lynch, MIT Draper Laboratory, IR&D Kickoff Meeting Aug. 30, 2002.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Parallel Programming By J. H. Wang May 2, 2017.
Behavioural Models for Distributed Hierarchical Components
A Framework for Object-Based Event Composition in Distributed Systems
Flexible Synchronisation of Shared Groupware Objects
New trends in parallel computing
Modeling Mutual Exclusion Algorithms
COT 5611 Operating Systems Design Principles Spring 2012
Model Checking for an Executable Subset of UML
CSCI1600: Embedded and Real Time Software
Internet of Things A Process Calculus Approach
Formal Methods in software development
An Introduction to Software Architecture
Review CSE116 2/21/2019 B.Ramamurthy.
Abstraction.
An Introduction to Petri Nets
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Chapter 5 Architectural Design.
Design Yaodong Bi.
CSCI1600: Embedded and Real Time Software
COT 5611 Operating Systems Design Principles Spring 2014
Expressive Power of CCS
Presentation transcript:

A Framework for Systems of Asynchronous Concurrent Processes Marek Rychlý

Outline ● Introduction ● Distributed information systems ● Asynchronous network model ● Process algebras (CCS,  -calculus, …) ● Modified asynchronous network model ● Framework for modified network model ● Formal specification ● Formal verification ● Future research ● References

Introduction ● Globalization – International companies – The European Union – Evaluating global changes in natural environment – E-business ● Information systems – Decentralization (VPN, PDA) – Service oriented (SOA, MAS) – Dynamic relations (the importance of middleware)

Distributed ISs ● Modern ISs are built as SW confederations (Peer to Peer networks) ● Many autonomous components ● Gateways (interfaces) to the middleware ● Middleware provides dynamic connections – according to functionality (available services) – according to free resources – according to policies of components ● Examples: – E-business systems – Distributed file sharing systems – GRID systems

Asynchronous network model ● directed graph of communicating processes ● edges are communicating channels ● two operations: – asynchronous send(m) i,j – synchronous receive(m) i,j ● many types of channels: – „universal reliable FIFO channel“ – „reliable reordering channel“ – „channel with failures“ (losses, duplications, …)

Asynchronous network model ● can be modelled as an I/O automaton – a labelled transition system model with output, internal and always enabled input actions and „a fair execution“ – developed by Lynch and Tuttle, 1987

Process algebras („process calculus“, „process theory“) ● an algebraic approach to the system of concurrent processes (at a high level of abstraction) ● tools for the formal verification – synchronization (critical sections) – liveliness, fair execution (deadlocks) – temporal logics (to describe properties of executions) ● Calculus of Communicating Systems (CCS) Milner, 80 th and 90 th years ● Communicating Sequential Processes (CSP) Hoare, ● …

 -calculus (calculus of mobile processes) ● R. Milner, J. Parrow a D. Walker (1992): A Calculus of Mobile Processes ● CCS with dynamic comm. structures ● only two concepts: – agent: communicating process, – name: comm. channel, variable, data, … ● key properties: – name passing – replication ● modifications: – polyadic, with replication, non-recursive, high-order, with name equality, …

 -calculus: operations ● x.P – operation „send“ ● x(y).P – operation „receive“ ● .P – internal (hidden) action ● (x)P – new name ● P|Q – parallel composition ● P+Q – non-deterministic choice ● A(x 1,…,x n ) – agent execution ● [x=y]P – name equality (extension) ● !P – replication (extension)

Example

 -calculus: proofs ● Implementation of -calculus (Robin Milner, 1992) ● Bisimulation equivalence: – early and late: input action after/before substitution (isn't congruent, Milner 1992) – open bisimulation: all actions (is congruent, Sangiorgy 1996) ● Proof of bisimulation equivalence in finite recursive  -calculus (Mads Dam, 1997) – auto-prover (Björn a Moller, 1994) The Mobility Workbench - A Tool for the  -Calculus

Motivation ● Is it possible to catch a process in IS? – Business Process Modelling Language (?) ● Can we focus on the communication? ● Can be a distributed IS modelled in ANM? ● Is ANM compatible with ISO/OSI Network Model? ● Is it possible to specify a communication structure of IS (middleware) in  -calculus? ● Relationship of  -calculus and ANM?

Modified asynchronous network model ● Original ANM: process and channel ● Interface between process and channel: – application layer: processes – presentation layer: interfaces – transport layer: channels ● Modified network model: – „process“ – „port“ – „link“ ● Translatable into original ANM

Framework for modified asynchronous network model ● Tool for modelling in modified network model ● white-box framework (and implementation library of components for black-box frame.) ● Hierarchy and encapsulation of processes

Framework… – implementation ● Ports are registered as observers of links ● All observers receive an event from the link, but only one of them can handle the event (without an interaction with the link) ● Ports of composite processes only resend events towards inner processes, the reverse direction is realized directly (on demand) (UML Class diagram in the papers)

Formal specification ● High level of abstraction in the model – focused on the communication – unknown semantics of atomics processes ● Systems implemented using the framework are compatible with modified network model ● Systems implemented using the framework can be translated into  - calculus ● We suppose „universal reliable FIFO channel“ in formal specification (ideal)

Specification in  -calculus ● The atomics process is process of  -calculus ● The port is two channels (input and output) ● The link is expressed as  -calculus process, which connects input and output channels: ● The composite process is a parametric process (a parallel composition of its internal processes) with the ports of a composite process as its parameters

Specification of sample system

Formal verification ● After translation into  -calculus in MWB ● Problem with infinite recursion (replication) – Can be replaced with a finite number of concurrent processes? – Is it possible to use some recycling mechanism? ● We can: – prove weak and strong open bisimulation equiv. – find deadlocks – simulate and test system (as „a black-box“ and „a white-box“) ● Can be connected with a formal specification of processes in ISs?

Verification of sample system ● The recursion is reduced to one instance ● „Connected“ versions of processes are specified as null processes (for demonstrating purpose) ● MWB finds in System a deadlock reachable by three commitments (a connection is established and both the server and client finished, but the link process is ready to another communication) agent Client(lout) = (^kin)'lout.kin(jout).ClientConn agent Server(lin) = lin(kout).P (*reduced*) agent P(kout) = (^jin)'kout.ServerConn agent System = (^lin,lout)(Server | Client | Link ) agent Link(in,out) = out(x).'in.Link agent ClientConn(kin,jout) = 0 agent ServerConn(jin,kout) = 0

Future research ● Model: – Comparison with other formalisms (Petri-nets) – Elimination of an infinite recursion – Influence of a network layer QoS on the model – Relation with UML2 (design pattern Port) ● Framework: – Lesser dependence on the network model – Framework implementation and case-studies – Specification of SOA, CORBA Event Service, …

References 1 Nancy A. Lynch. Distributed Algorithms. Morgan Kaufmann Publishers. San Francisco, CA, USA Robin Milner, Joachim Parrow, and David J. Walker. A calculus of mobile processes, I and II. Information and Computation, 100(1):1–40 and 41–77, Victor Björn and Faron Moller. The Mobility Workbench — a tool for the  - calculus. In David Dill, editor, CAV'94: Computer Aided Verification, volume 818 of Lecture Notes in Computer Science, pages 428–440. Springer-Verlag, Ugo Montanari and Marco Pistore. Finite state verification for the asynchronous  -calculus. In TACAS '99: Proceedings of the 5th International Conference on Tools and Algorithms for Construction and Analysis of Systems, pages 255–269, London, UK. Springer-Verlag, Mads Dam. Proof systems for  -calculus logics. In R. de Queiroz, editor, Logic for Concurrency and Synchronisation, Trends in Logic, Studia Logica Library, pages 145–212. Kluwer, 2003.