IST Rodin Project Towards Formal Development of Mobile Location-based Systems REFT 2005 Alexei Iliasov 1, Linas Laibinis 2, Alexander Romanovsky 1, Elena.

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

News in XACML 3.0 and application to the cloud Erik Rissanen, Axiomatics
On Specification and Verification of Location- Based Fault Tolerant Mobile Systems Alexei Iliasov, Victor Khomenko, Maciej Koutny and Alexander Romanovsky.
Lecture 3Dr. Verma1 COSC 6397 – Information Assurance Module M2 – Protocol Specification and Verification University of Houston Rakesh Verma Lecture 3.
Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
Martin Wagner and Gudrun Klinker Augmented Reality Group Institut für Informatik Technische Universität München December 19, 2003.
September 10, Industry Day. Paris 1 RODIN Rigorous Open Development Environment for Complex Systems Industry Day Alexander Romanovsky Newcastle University.
CPSC 668Set 14: Simulations1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
Architectural Investigation of XCTL by URCA Miloš Cvetanović, Dragan Bojić Faculty of Electrical Engineering University of Belgrade {cmilos,
Pervasive Computing Framework development Kartik Vishwanath Arvind S. Gautam Rahul Gupta Sachin Singh.
July 2005REFT workshop, Newcastle1 Some thoughts about product line engineering: using UML, B, and refinement - emerging from CS2/ATEC A research programme.
Tuple Spaces and JavaSpaces CS 614 Bill McCloskey.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
CS 584 Lecture 16 n Assignment -- Due Friday n C* program n Paper reviews.
July 25, 2005 Workshop on Rigorous Engineering of Fault- Tolerant Systems (REFT 2005) at the 13th International Symposium of Formal Methods 2005 Newcastle.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
Reuse Activities Selecting Design Patterns and Components
Chapter 22 Object-Oriented Design
Formal Service-Oriented Development of Fault Tolerant Communicating Systems Linas Laibinis, Elena Troubitsyna, Johan Lilius, Qaisar Malik (Åbo Akademi)
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Protection of Agent Teamwork By Jeremy Hall. Agent Teamwork Overview ● Mobile agent framework  AgentTeamwork 2 is a mobile-agent based middleware system.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
LÊ QU Ố C HUY ID: QLU OUTLINE  What is data mining ?  Major issues in data mining 2.
Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University.
- 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”
*Law and Coordination Rodrigo Paes. © LES/PUC-Rio Agenda Integration Coordination BPEL example Birth *Law and Coordination Further Steps.
Design Patterns.
Multi-Agent Systems University “Politehnica” of Bucarest Spring 2003 Adina Magda Florea
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
Rapid Development and Flexible Deployment of Adaptive Wireless Sensor Network Applications Chien-Liang Fok, Gruia-Catalin Roman, Chenyang Lu
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
1-1 System Development Process System development process – a set of activities, methods, best practices, deliverables, and automated tools that stakeholders.
Objectives 4 Understand the importance of communication in projects 4 Understand the need and importance of project management.
OOP Class Lawrence D’Antonio Lecture 3 An Overview of C++
Industry Day Paris Rodin Methodology for Developing Fault Tolerant Systems Elena Troubitsyna Åbo Akademi University, Turku, Finland.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY.
The Prometheus-ROADMAP Methodology Lin Padgham in collaboration with Leon Sterling and Michael Winikoff School of Computer Science and IT, RMIT University,
A Software Architecture for Translucent Replication Etienne Antoniutti Di Muro Università degli Studi di Trieste, Italy 29th November,
Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar.
Finding a Quadratic Equation from Three Coordinates.
Coordination Models and Languages Part I: Coordination Languages and Linda Part II: Technologies based on Tuple space concept beyond Linda Part III: Comparison.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Kal Bugrara, Ph.DSoftware Engineering Northeastern University Fundamentals Of Software Engineering Lecture V.
Distributed Object Frameworks DCE and CORBA. Distributed Computing Environment (DCE) Architecture proposed by OSF Goal: to standardize an open UNIX envt.
Lecture 13 Advanced Transaction Models. 2 Protocols considered so far are suitable for types of transactions that arise in traditional business applications,
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
CSE 341, S. Tanimoto Java brief review - 1 Java Brief Review Java’s strengths Object-oriented terminology Inheritance Interfaces An example with inheritance.
Structural Patterns1 Nour El Kadri SEG 3202 Software Design and Architecture Notes based on U of T Design Patterns class.
Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer.
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
OOPs Object oriented programming. Abstract data types  Representationof type and operations in a single unit  Available for other units to create variables.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
1 WS-GIS: Towards a SOA-Based SDI Federation Fábio Luiz Leite Júnior Information System Laboratory University of Campina Grande
Apostolos Niaouris Newcastle University Industry Day Mobility Plug-in.
C# and.NET. .NET Architecture  Compiling and running code that targets.NET  Advantages of Microsoft Intermediate Language (MSIL)  Value and Reference.
UML (Unified Modeling Language)
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Adaptive Choreographies Joint work with Mila Dalla Preda, Jacopo Mauro and Maurizio.
Agent Group Università di Modena e Reggio Emilia Theory and Practice of Field- based Motion Coordination in Multi-Agent Systems Marco Mamei, Franco Zambonelli.
1 Chapter 22 Distributed DBMSs - Concepts and Design Simplified Transparencies © Pearson Education Limited 1995, 2005.
Context-Aware Middleware for Resource Management in the Wireless Internet US Lab 신현정.
Design issues for Object-Oriented Languages
Operational Semantics of Scheme
3rd Studierstube Workshop TU Wien
Scope and State Handling in Java Server Pages
Design Yaodong Bi.
Views Base Relation View
Presentation transcript:

IST Rodin Project Towards Formal Development of Mobile Location-based Systems REFT 2005 Alexei Iliasov 1, Linas Laibinis 2, Alexander Romanovsky 1, Elena Troubitsyna 2 1 University of Newcastle upon Tyne, UK 2 Åbo Akademi University, Finland

IST Rodin Project Motivation Solving problems of interoperability of agent software in open systems Distributed and open agent system with guaranteed conformance to a formal model Run-time structuring and isolation of agents Advanced FT methods, including exception handling

IST Rodin Project CAMA Architecture Agent – global structuring unit of the system Scope – structuring unit of coordination space and agent activity Role – structuring unit of agent functionality and also the basis for formal specification of functionality Location – structuring unit of agent context

IST Rodin Project CAMA Operations Location operations: Scope Operations CreateScope(n, Linda operations: in, rd, inp, rdp, ina, rd, inpa, rdpa

IST Rodin Project 1. Scope is a run-time structuring unit 2. Each scope originates from corresponding abstract scenario model 3. Run-time scopes are instantiations of abstract models B model scope agent, role X agent, role Y Scopes

IST Rodin Project Complex models can be split into several sub-models Scopes can be nested to reproduce design-time hierarchy of models Sub-scopes are created dynamically by a request of a scope participant B model scope Sub-model sub scope `Includes` relation Scope Nesting

IST Rodin Project Start with a high-level abstraction Decompose into a required number of subscopes Refine each sub-scope to the level where individual roles can be identified Attribute each B operation to one of the roles Decompose specification into role specifications Formal Scope Development

IST Rodin Project Modelling Coordination Space Access to global variables must be substituted with coordination space (Linda) operation A simplified Linda model (singleton model) is used Permits to discover deadlocks and do basic type-checking for CS-style communication

IST Rodin Project Agent Development Scope Model S 1 Scope Model S 2 Scope Model S 3 R 11 R 12 R 13 R 21 R 31 R 32 Agent A 1 Model Agent A 2 Model R’ 12 R’ 13 R’ 21 Default role Custom part R’’ 13 R’’ 31 Default role Custom part R R E EEE E D D D A1A1 A2A2 D - Decomposes E - Extends R -Refines

IST Rodin Project Scope Instantiation R’ 12 R’ 13 R’ 21 A1A1 R’’ 13 R’’ 31 A2A2 R 12 R 13 Instantiation of S 1

IST Rodin Project Each role has its own local state Agent may define shared variables accessible by the refined role specifications Shared data can be implemented as agent local memory or mapped into private scope in a location ssd Role A state Role D state Role C state Role B state Shared data Agent State

IST Rodin Project Exception Handling Mobile agent exception –Inter-agent exception propagation –Extended semantics of Linda operations –Formal specification of exceptions and recovery actions –Scope-attached recovery policies

IST Rodin Project PutMessage(msg) = PRE msg:MESSAGE THEN rLoc := rLoc <- msg; /* Store it in the local buffer */ TupleOut(BufferOut, msg) /* and pass it over the tuple space */ END; /* Read in from TS as soon as something appears there */ Recieve = SELECT BufferIn:dom(tuples) THEN VAR rr IN /* Read all new tuples from the tuple space (with remove) */ rr <-- TupleArrayIn(BufferIn); rLoc := rLoc ^ rr END END; PutMessage(msg) = PRE msg:MESSAGE THEN Loc := Loc <- msg || OutBuf := Outbuf <- msg END; Recieve = SELECT size(InBuf) > 0 THEN Loc := Loc ^ InBuf || InBuf := [] END;

IST Rodin Project Discussion Background of the methodology for the formal development of mobile location- based systems Focus on the B specification of the location middleware Future work: formal agent design process from an abstract specification to running software