DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Behavior Composition in Component.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
Building Secure Distributed Systems The CIF model : Component Information Flow Lilia Sfaxi DCS Days - 26/03/2009.
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
HOW DO PROFESSIONAL DEVELOPERS COMPREHEND TO SOFTWARE Report submitted by Tobias Roehm, Rebecca Tiarks, Rainer Koschke, Walid Maalej.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
1 Concurrency Specification. 2 Outline 4 Issues in concurrent systems 4 Programming language support for concurrency 4 Concurrency analysis - A specification.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Introduction To System Analysis and Design
Session 2: task 3.2 GCM, Kracow, June l Current status of GCM Denis Caromel (10 mn each talk) l Wrapping CCA Components as GCM Components Maciej.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
1 Ivan Lanese Computer Science Department University of Bologna Italy Evolvable systems: some ideas for modelling With input from Davide Sangiorgi, Fabrizio.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Data Structures and Programming.  John Edgar2.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Introduction To System Analysis and design
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Behavior Composition in Component.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
An Introduction to Software Architecture
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Dart:
ASG - Towards the Adaptive Semantic Services Enterprise Harald Meyer WWW Service Composition with Semantic Web Services
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
Towards Global and Local Types for Adaptation Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Mario Bravetti,
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
John D. McGregor Session 2 Preparing for Requirements V & V
JCMP: Linking Architecture with Component Building Guoqing Xu, Zongyuan Yang and Haitao Huang Software Engineering Lab, East China Normal University SACT-01,
CHAPTER 13 Acquiring Information Systems and Applications.
Design Patterns CSCI 5801: Software Engineering. Design Patterns.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
1 Context-dependent Product Line Practice for Constructing Reliable Embedded Systems Naoyasu UbayashiKyushu University, Japan Shin NakajimaNational Institute.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Eric MADELAINE1 A. Cansado, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Fractal workshop, Nantes, 3 july.
VERIFYING THE CORRECT COMPOSITION OF DISTRIBUTED COMPONENTS: FORMALISATION AND TOOL Ludovic Henrio 1, Oleksandra Kulankhina 1,2, Dongqian Liu 3, Eric Madelaine.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Specifying Fractal and GCM Components With UML Solange Ahumada, Ludovic Apvrille, Tomás Barros, Antonio Cansado, Eric Madelaine and Emil Salageanu SCCC.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Tomás BarrosMonday, April 18, 2005FIACRE Toulouse p. 1 Behavioural Models for Hierarchical Components Tomás Barros, Ludovic Henrio and Eric Madelaine.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CS223: Software Engineering
DHCP Vrushali sonar. Outline DHCP DHCPv6 Comparison Security issues Summary.
Vertical Integration Across Biological Scales A New Framework for the Systematic Integration of Models in Systems Biology University College London CoMPLEX.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
TTCN-3 Testing and Test Control Notation Version 3.
1 An unattended, fault-tolerant approach for the execution of distributed applications Manuel Rodríguez-Pascual, Rafael Mayo-García CIEMAT Madrid, Spain.
Windows Communication Foundation and Web Services
IEEE Std 1074: Standard for Software Lifecycle
Huanyuan(Wayne) Sheng
An Introduction to Software Architecture
Exceptions and networking
Presentation transcript:

DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Behavior Composition in Component Systems Jiří Adámek

Jiří Adámek Dagstuhl, November 2006 Outline The context  SOFA, Fractal, and Behavior protocols  Projects and tools Behavior composition  What is it?  Why is it important? My contribution  Detection of composition errors  Support for reentrant component specification

Jiří Adámek Dagstuhl, November 2006 The Context Behavior protocols  A component behavior specification language Similar to process algebra Behavior – the ordering of the events occurring on the interfaces  method calls, requests, responses  Applied to SOFA component model Fractal component model The common features of SOFA and Fractal  Hierarchical components Primitive and composite components  Provided and required interfaces

Jiří Adámek Dagstuhl, November 2006 The Context: Example Example: the Token component  A part of a complex application providing wireless internet access on airports  This component manages the session of a single user

Jiří Adámek Dagstuhl, November 2006 The Context: Example ?ICustomCallback.InvalidatingToken_1 { !IAccount.AdjustAccountPrepaidTime_1 }*}* | ?ICustomCallback.InvalidatingToken_2 { !IAccount.AdjustAccountPrepaidTime_2 }*}*

Jiří Adámek Dagstuhl, November 2006 ?Invalidating Token_1^ !Invalidating Token_1$ !AdjustAccount PrepaidTime_1^ ?AdjustAccount PrepaidTime_1$ ?Invalidating Token_2^ !AdjustAccount PrepaidTime_2^ ?AdjustAccount PrepaidTime_2$ !Invalidating Token_2$

Jiří Adámek Dagstuhl, November 2006 The Context: Projects & Tools The SOFA project  Hosted by ObjectWeb  Tool BPChecker The CRE project  Supported by France Telecom  Tools BPChecker ported to Fractal Run-time checker Code checker  A complex case-study was developed The Osiris project  Hosted by ObjectWeb  A new project – no implementation yet  Idea: Using behavior protocols to specify web-services

Jiří Adámek Dagstuhl, November 2006 ? What is behavior composition?

Jiří Adámek Dagstuhl, November 2006 Why is behavior composition important? Case 1  Behavior model is not manually specified for a composite component  We want to verify the behavior of composite components Case 2  Behavior model is manually specified for a composite component  We want to compare the manually written behavior model of a composite component with the automatically constructed one In order check that the design is consistent  Vertical compliance checking

Jiří Adámek Dagstuhl, November 2006 My contribution Analysis of behavior composition in current component models Identification of drawbacks Proposal of improvements  Detection of composition errors  Support for reentrant component behavior specification  The improvements were designed for SOFA and behavior protocols

Jiří Adámek Dagstuhl, November 2006 Detection of composition errors Composition errors  Erroneous communication among the components  Caused by composition of the components with incompatible behavior Detection of composition errors  During behavior composition the representation of both correct behavior and composition errors is constructed  Otherwise the information about the composition errors would be lost

Jiří Adámek Dagstuhl, November 2006 Detection of composition errors Example of a composition error  ValidityChecker tries to call two methods on ICustomCallback in parallel  CustomToken is not able to accept parallel calls

Jiří Adámek Dagstuhl, November 2006 Detection of composition errors Four types of composition errors identified  Bad activity  No activity  Divergence  Unbound requirement error

Jiří Adámek Dagstuhl, November 2006 Standalone detection Context-dependent detection Detection of composition errors

Jiří Adámek Dagstuhl, November 2006 Support for reentrant component specification A component performs tasks in parallel  Reentrant component A single task is specified by a finite-state model The number of the tasks depends on the input from the environment  For every run, the number of the tasks is finite  There is no upper bound to the number of the tasks when all possible runs are considered  An infinite-state model is needed to describe the behavior of the component  Our tools are able to handle only finite state models

Jiří Adámek Dagstuhl, November 2006 Support for reentrant component specification DatabaseClient 1 Client 2 Client n … What is the number of the clients? What is the number of the threads featured by a client? A Component Unknown Environment Component design time

Jiří Adámek Dagstuhl, November 2006 Support for reentrant component specification DatabaseClient 1 Client 2 3 threads2 threads Deduced from the behavior models of the clients 5 threads Application design time

Jiří Adámek Dagstuhl, November 2006 Support for reentrant component specification Observation  The “source” of unbounded parallelism is the lack of information at the component design time  At the architecture design time, unbounded parallelism often “collapses” into bounded parallelism A proposal  At the component design time Behavior of a reentrant component is specified using a behavior template  At the architecture design time The behavior template is transformed into a finite-state model automatically Such a model is application-specific

Jiří Adámek Dagstuhl, November 2006 Support for reentrant component specification Behavior templates  Based on behavior protocols  Special constructs for reentrancy Example parallel(?P.query*, mip P) Database P

Jiří Adámek Dagstuhl, November 2006 Support for reentrant component specification Behavior template transformations  Behavior template  Common behavior protocol  The transformation is done at the application design time  Information about the application architecture is used for this transformation A problem: transformation dependencies  The constructs describing reentrancy in the behavior templates introduce dependencies among the transformations  Solved Acyclic dependencies A special kind of cyclic dependencies  Unsolved General cyclic dependencies

Jiří Adámek Dagstuhl, November 2006 Conclusion Behavior composition in current component models was analyzed Two improvements  Detection of composition errors  Support for reentrant component behavior specification Future work  Behavior template transformation in a general case A case study

Jiří Adámek Dagstuhl, November 2006 Thank you for your attention. Questions?