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

Slides:



Advertisements
Similar presentations
Model-Based Testing with Smartesting Jean-Pierre Schoch Sogetis Second Testing Academy 29 April 2009.
Advertisements

Elton Mathias and Jean Michael Legait 1 Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis,
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Concurrency: introduction1 ©Magee/Kramer 2 nd Edition Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
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.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Specification and Verification of Trustworthy Component-Based Real-Time Reactive Systems Presented by: Mubarak Mohammad Authors: Vasu Alagar and Mubarak.
Eric MADELAINE1 E. Madelaine, Antonio Cansado, Emil Salageanu OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis OSCAR meeting, Valparaiso,
A. Bucchiarone / Pisa/ 30 Jan 2007 Dynamic Software Architectures for Global Computing Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
Page 1 Building Reliable Component-based Systems Ivica Crnkovic Chapter 9 Component Composition and Integration.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Component-Interaction Automata for Specification and Verification of Component Interactions P. Vařeková and B. Zimmerova Masaryk University in Brno Czech.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Systems Engineering Foundations of Software Systems Integration Peter Denno, Allison Barnard Feeney Manufacturing Engineering Laboratory National Institute.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
10 May 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Formal.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
David Garlan Ivan Ruchkin Carnegie Mellon University Pittsburgh, PA, USA December 2014.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Hierarchical Component Models A True Story.
MODELS 2013 Model Driven Engineering Languages and Systems, 16th International Conference Miami, Florida - USA 29 September 2013 through 4 October 2013.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
INRIA Sophia-Antipolis, Oasis team INRIA Rhône-Alpes, Vasy team Feria–IRIT/LAAS, SVF team Toulouse GET - ENST Paris, LTCI team FIACRE Models and Tools.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Modeling Dynamic Role- based Access Constraints using UML Khaled Alghathbar George Mason University, USA and King Saud University, Riyadh, Saudi Arabia.
DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Behavior Composition in Component.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes.
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
Eric MADELAINE1 T. Barros, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis (FACS’05), Fractal workshop, Grenoble.
1 DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY IN PRAGUE Faculty of Mathematics and Physics 2 INTERNATIONAL INSTITUTE.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Integrated Systems Division Service-Oriented Programming Guy Bieber, Lead Architect Motorola ISD C4I 2000 OOPSLA Jini Pattern Language Workshop Guy Bieber,
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Software Debugging, Testing, and Verification Presented by Chris Hundersmarck November 10, 2004 Dr. Bi’s SE516.
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
Open Incremental Model Checking (OIMC) and the Role of Contracts Model-Based Programming and Verification.
CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model.
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.
31 March Learning design: models for computers, for engineers or for teachers? Jean-Philippe PERNIN (*,**) Anne LEJEUNE (**) (*) Institut national.
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.
Tomás BarrosMonday, April 18, 2005FIACRE Toulouse p. 1 Behavioural Models for Hierarchical Components Tomás Barros, Ludovic Henrio and Eric Madelaine.
Eric MADELAINE1 T. Barros, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis DCC, University.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
 Construction and Validation of Effective Modelling Domains A Thesis Outline Sagar Sen November 6, 2009.
Security analysis of COM with Alloy
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Behavioural Models for Distributed Hierarchical Components
Towards Effective Adaptive User Interfaces Design
Model-Driven Analysis Frameworks for Embedded Systems
Software Connectors – A Taxonomy Approach
Automated Analysis and Code Generation for Domain-Specific Models
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 Doctoral thesis defense, September 19, 2006 The context  Automated formal verification of component- based applications

Jiří Adámek Doctoral thesis defense, September 19, 2006 The context What is formal verification?  The process of proving or disproving the correctness of a model with respect to a specified property Model  Finite automata Specification language  Behavior Protocols Property  Predefined, component-specific  Automated formal verification The process is fully automated and does not require human assistance Verification tools Example of automated formal verification  Model Checking

Jiří Adámek Doctoral thesis defense, September 19, 2006 The context: Software components What are software components?  Building software from reusable blocks with well- defined interfaces These blocks are called software components  Provided and required interfaces  Primitive and composed components

Jiří Adámek Doctoral thesis defense, September 19, 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 Doctoral thesis defense, September 19, 2006 The context: Example ?ICustomCallback.InvalidatingToken_1 { !IAccount.AdjustAccountPrepaidTime_1 }*}* | ?ICustomCallback.InvalidatingToken_2 { !IAccount.AdjustAccountPrepaidTime_2 }*}*

Jiří Adámek Doctoral thesis defense, September 19, 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 Doctoral thesis defense, September 19, 2006 What is behavior composition? A (partial) behavior model is associated with each primitive component

Jiří Adámek Doctoral thesis defense, September 19, 2006 What is behavior composition? ?

Jiří Adámek Doctoral thesis defense, September 19, 2006 ? What is behavior composition? Behavior Composition

Jiří Adámek Doctoral thesis defense, September 19, 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 Doctoral thesis defense, September 19, 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 Doctoral thesis defense, September 19, 2006 Detection of composition errors A typical approach to behavior composition  Model of correct behavior is constructed A proposed improvement  The resulting model describes both correct behavior and composition errors

Jiří Adámek Doctoral thesis defense, September 19, 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 Doctoral thesis defense, September 19, 2006 Detection of composition errors Four types of composition errors identified  Bad activity  No activity  Divergence  Unbound requirement error

Jiří Adámek Doctoral thesis defense, September 19, 2006 Standalone detection Context-dependent detection Detection of composition errors

Jiří Adámek Doctoral thesis defense, September 19, 2006 Detection of composition errors Algorithms for detection of all the identified types of composition errors were designed  Both standalone and context-dependent detection The models:  specified via behavior protocols  describe behavior of SOFA components The main advantage  Identification of composition errors in an early stage of the development cycle  It does not influence the time and memory complexity of behavior composition

Jiří Adámek Doctoral thesis defense, September 19, 2006 Support for reentrant component specification Reentrant component  The methods provided by the component may by called in parallel  There is no upper bound on the number of parallel calls

Jiří Adámek Doctoral thesis defense, September 19, 2006 Support for reentrant component specification How to model behavior of a reentrant component?  Absolute view (component design time) We have no information on the other components of the application  The behavior has to be specified with an infinite state model  It is very difficult to handle infinite models by the tools  Relative view (application design time) We have the information about other components  The behavior can be often specified with a finite state model  The model is application-specific

Jiří Adámek Doctoral thesis defense, September 19, 2006 Support for reentrant component specification A compromise solution  At the component design time, the behavior is specified via a behavior template  At the application design time, the behavior template is automatically transformed into concrete behavior model  The behavior template is general  The concrete behavior model is often finite and can be handled by the tools

Jiří Adámek Doctoral thesis defense, September 19, 2006 Support for reentrant component specification Languages for behavior templates and concrete behavior models were proposed  They are both based on behavior protocols An algorithm for automatic transformation of behavior templates into concrete behavior models was designed

Jiří Adámek Doctoral thesis defense, September 19, 2006 Related work Parameterized synchronized networks of labeled transition systems  E. Madelaine et. al. Tracta  J. Kramer et. al Parameterized contracts  R. H. Reussner, H. W. Schmidt, et. al Component-interaction automata  I. Cerna et. al Wright  R. Allen, D. Garlan Interface Automata  L. De Alfaro, T. Henzinger I/O Automata  N. A. Lynch, M. R. Tuttle

Jiří Adámek Doctoral thesis defense, September 19, 2006 Publications (1) Detection of composition errors  Adamek, J., Plasil, F.: Component Composition Errors and Update Atomicity: Static Analysis, Journal of Software Maintenance and Evolution: Research and Practice 17(5), Sep 2005  Kofron, J., Adamek, J., Bures, T., Jezek, P., Mencl, V., Parizek, P., Plasil, F.: Checking Fractal Component Behavior Using Behavior Protocols, presented at the 5th Fractal Workshop (part of ECOOP'06), July 3rd, 2006, Nantes, France, Jul 2006  Adamek, J., Plasil, F.: Partial Bindings of Components - any Harm?, Presented at the SACT 2004 Workshop, Busan, Korea (held in conjunction with the APSEC 2004 conference), and published in the Proceedings of APSEC 2004, IEEE Computer Society, Nov 2004  Adamek, J., Plasil, F.: Erroneous Architecture is a Relative Concept, in Proceedings of Software Engineering and Applications (SEA) conference, Cambridge, MA, USA, published by ACTA Press, Nov 2004  Adamek, J.: Static Analysis of Component Systems Using Behavior Protocols, in OOPSLA 2003 Companion, Anaheim, CA, USA, published by ACM, Oct 2003  Adamek, J., Plasil, F.: Behavior Protocols Capturing Errors and Updates, in Proceedings of the Second International Workshop on Unanticipated Software Evolution (USE 2003), ETAPS, published by University of Warsaw, Poland, Apr 2003

Jiří Adámek Doctoral thesis defense, September 19, 2006 Publications (2) Reentrant component specification  Adamek, J.: Addressing Unbounded Parallelism in Verification of Software Components, in proceedings of the Seventh ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD 2006), Las Vegas, Nevada, USA, published by IEEE Computer Society, Jun 2006

Jiří Adámek Doctoral thesis defense, September 19, 2006 Citations (1) Adamek, J., Plasil, F.: Behavior Protocols Capturing Errors and Updates, in Proceedings of the Second International Workshop on Unanticipated Software Evolution (USE 2003), ETAPS, published by University of Warsaw, Poland, pp , Apr 2003  J. Buckley, T. Mens, M. Zenger, A. Rashid, G. Kniesel: Towards a taxonomy of software change, Journal of Software Maintenance and Evolution: Research and Practice 17(5), pp , Sep 2005  A. Occello and A-M. Dery-Pinna: Safe runtime adaptations of components: a UML metamodel with OCL constraints. In First International Workshop on Foundations of Unanticipated Software Evolution (FUSE'04), Barcelona, Spain, Mar 2004  A. Occello and A-M. Dery-Pinna: Safety of component adaptations: Elements of formalization. Technical Report I3S/RR FR, Laboratoire I3S - Université de Nice-Sophia Antipolis, Bâtiment ESSI - BP145 - F Sophia Antipolis CEDEX, Jan 2004  B. Zimmerova, L. Brim, I. Cerna, P. Varekova: Component-Interaction Automata as a Verification-Oriented Component-Based System Specification. Proceedings of SAVCBS 2005  C. Carrez: Contrats comportementaux pour composants, PhD. thesis, ENST, Paris, France, Dec 2003

Jiří Adámek Doctoral thesis defense, September 19, 2006 Citations (2) Adamek, J.: Static Analysis of Component Systems Using Behavior Protocols, in OOPSLA 2003 Companion, Anaheim, CA, USA, published by ACM, Oct 2003  T. Barros: Formal specification and verification of distributed component systems, PhD thesis, Université de Nice - INRIA Sophia Antipolis, Nov 2005 Adamek, J., Plasil, F.: Component Composition Errors and Update Atomicity: Static Analysis, Journal of Software Maintenance and Evolution: Research and Practice 17(5), Sep 2005  T. Barros: Formal specification and verification of distributed component systems, PhD thesis, Université de Nice - INRIA Sophia Antipolis, Nov 2005

Jiří Adámek Doctoral thesis defense, September 19, 2006 Citations (3) Mencl, V., Adamek, J., Buble, A., Hnetynka, P., Visnovsky, S.: Enhancing EJB Component Model, Tech. Report No. 2001/7, Dep. of SW Engineering, Charles University, Prague, Dec 2001  A. Farías, Y-G. Guéhéneuc: On the Coherence of Component Protocols. In Uwe Assmann, Elke Pulvermueller, Isabelle Borne, Noury Bouraqadi, and Pierre Cointe, editors, Electronic Notes in Theoretical Computer Science, volume 82, April 2003, Elsevier Science  A. Farías, Y-G. Guéhéneuc, M. Südholt: Integrating Behavioral Protocols in Enterprise Java Beans. In Kenneth Baclawski and Haim Kilov, editors, Eleventh OOPSLA Workshop on Behavioral Semantics: Serving the Customer, pp , Oct 2002

Jiří Adámek Doctoral thesis defense, September 19, 2006 Projects The SOFA project  A tool was implemented: BPChecker The implementation is work of Jan Kofroň The CRE project  Supported by France Telecom  The BPChecker ported to the Fractal component model

Jiří Adámek Doctoral thesis defense, September 19, 2006 Demo Verification of the Token component: Example 1  CustomToken accepts only sequential calls  ValidityChecker calls two methods in parallel  Bad activity error ( ?ICustomCallback.InvalidatingToken_1 { !IAccount.AdjustAccountPrepaidTime_1 } + ?ICustomCallback.InvalidatingToken_2 { !IAccount.AdjustAccountPrepaidTime_2 } )*

Jiří Adámek Doctoral thesis defense, September 19, 2006 Demo Composition error detected – bad activity (!ICustomCallback.InvalidatingToken_1): (S0) #ILifetimeController.Start^ (S1) #ITimer.SetTimeout_1^ (S2) [#ILifetimeController.Start$, #ITimer.SetTimeout_1$] (S3) #ITimerCallback.Timeout^ (S4) #ICustomCallback.InvalidatingToken_2^ (S5) #IToken.InvalidateAndSave^ (S6)

Jiří Adámek Doctoral thesis defense, September 19, 2006 Demo Verification of the Token component: Example 2  CustomToken accepts parallel calls  ValidityChecker calls two methods in parallel  No errors ?ICustomCallback.InvalidatingToken_1 { !IAccount.AdjustAccountPrepaidTime_1 }* | ?ICustomCallback.InvalidatingToken_2 { !IAccount.AdjustAccountPrepaidTime_2 }*

Jiří Adámek Doctoral thesis defense, September 19, 2006 Conclusion Behavior composition in current component models was analyzed Several improvements were proposed and implemented Future work  Implementation of the behavior template transformation  A case study For which kind of application the transformation of a behavior template into a finite concrete behavior model is possible?