CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Hierarchical Component Models A True Story.

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

System Integration Verification and Validation
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Professor John Hosking, Dean of Engineering and Computer Science Models, Modelling, MBSE.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Basic Concepts in Component-Based Software Engineering
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
The Architecture Design Process
Unified Modeling (Part I) Overview of UML & Modeling
Writing Good Software Engineering Research Papers A Paper by Mary Shaw In Proceedings of the 25th International Conference on Software Engineering (ICSE),
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Modelling with Coloured Petri Nets Søren Christensen Department of Computer Science University of Aarhus.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Design Patterns.
SE 555 – Software Requirements & Specifications Introduction
Systems Engineering Foundations of Software Systems Integration Peter Denno, Allison Barnard Feeney Manufacturing Engineering Laboratory National Institute.
Conceptual modelling. Overview - what is the aim of the article? ”We build conceptual models in our heads to solve problems in our everyday life”… ”By.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
Research Methods for Computer Science CSCI 6620 Spring 2014 Dr. Pettey CSCI 6620 Spring 2014 Dr. Pettey.
MASTERS THESIS DEFENSE QBANK A Web-Based Dynamic Problem Authoring Tool BY ANN PAUL ADVISOR: PROFESSOR CLIFF SHAFFER JUNE 2013 Computer Science Department.
DISTRIBUTED SYSTEMS RESEARCH GROUP Automated Verification of Software thesis progress report Ondřej Šerý Advisor: František Plášil.
UML - Development Process 1 Software Development Process Using UML (2)
DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Behavior Composition in Component.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
An Introduction to Software Architecture
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Behavior Composition in Component.
Creational Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Lecture 7: Requirements Engineering
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
1 Introduction to Software Engineering Lecture 1.
A graphical specification environment for GCM component-based applications INRIA – I3S – CNRS – University of Nice-Sophia Antipolis EPC OASIS Oleksandra.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Design Principle & Patterns by A.Surasit Samaisut Copyrights : All Rights Reserved.
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.
Component Oriented Programming 1 Introduction to COP.
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
Most of contents are provided by the website Introduction TJTSD66: Advanced Topics in Social Media Dr.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
By Germaine Cheung Hong Kong Computer Institute
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Science and Technology Norwegian University of NTNU Rolv Bræk, January Introduction to Systems Engineering by Rolv Bræk NTNU.
Eric MADELAINE1 A. Cansado, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Fractal workshop, Nantes, 3 july.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Jemerson Pedernal IT 2.1 FUNDAMENTALS OF DATABASE APPLICATIONS by PEDERNAL, JEMERSON G. [BS-Computer Science] Palawan State University Computer Network.
Specifying Fractal and GCM Components With UML Solange Ahumada, Ludovic Apvrille, Tomás Barros, Antonio Cansado, Eric Madelaine and Emil Salageanu SCCC.
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.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Chapter 6 Guidelines for Modelling. 1. The Modelling Process 1. Modelling as a Transformation Process 2. Basic Modelling Activities 3. Types of Modelling.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
 System Requirement Specification and System Planning.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
SOFA 2 Component Model Tomáš Bureš, Petr Hnětynka, František Plášil CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Czech Republic.
Design Patterns: MORE Examples
Recent trends in estimation methodologies
Object-Oriented Analysis and Design
CSc4730/6730 Scientific Visualization
Automated Analysis and Code Generation for Domain-Specific Models
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Hierarchical Component Models A True Story (Ph.D. Thesis Defense) Pavel Ježek

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story2/15 Project: Component Reliability Extensions for Fractal Component model (CREF) In cooperation with Czech Academy of Sciences and France Telecom ( ) Goal: Implement formal verification tools of “behavior protocols” in context of Fractal component model Why Fractal? → Hierarchical component model

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story3/15 Project: Component Reliability Extensions for Fractal Component model (CREF) In cooperation with Czech Academy of Sciences and France Telecom ( ) Goal: Implement formal verification tools of “behavior protocols” in context of Fractal component model Why Fractal? Hierarchical component model (ideal): Provided and required interfaces Dataflow only through defined interfaces (no shortcuts in the architecture) Composite components + Black-box view Hierarchical component model (ideal): Provided and required interfaces Dataflow only through defined interfaces (no shortcuts in the architecture) Composite components + Black-box view FileManager Editor Local FS Net FS FS Selector Primitive component Composite component Primitive component

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story4/15 FileManager Editor FileManager Editor Project: Component Reliability Extensions for Fractal Component model (CREF) In cooperation with Czech Academy of Sciences and France Telecom ( ) Goal: Implement formal verification tools of “behavior protocols” in context of Fractal component model Why Fractal? → Hierarchical component model Why a hierarchical component model? → Fighting state space explosion Local FS Net FS FS Selector Step 1 Local FS Net FS FS Selector Step 2 All goals of the project were successfully fulfilled.

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story5/15 CREF Project – Issues Validation of BPChecker/Fractal integration in a real-life scenario required … but suitable case-study with complex hierarchical architecture was missing! Solution: “FT demo” case-study BUT: Problem with behavioral specification and verification of the Token component (multiple instances dynamically created in the architecture). Does the problem lay in a poorly chosen level of abstraction? Should the Token concept be a component in the architecture or not? A behavior protocol is associated with the Token component ('s interfaces). But: Information about multiple instances is missing at the architectural level → unable to model Token correctly, as behavior protocol has to allow almost any behavior (combination of method calls). A behavior protocol is associated with the Token component ('s interfaces). But: Information about multiple instances is missing at the architectural level → unable to model Token correctly, as behavior protocol has to allow almost any behavior (combination of method calls). Motivated by a real France Telecom project: System for providing internet access in airport lobbies Support for different types of payment and free access Motivated by a real France Telecom project: System for providing internet access in airport lobbies Support for different types of payment and free access

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story6/15 Software Component – Once Again A common computer science term – so its understanding should be unambiguous … is it? JavaBeans technology is often cited in research papers as a typical component model, i.e. a JavaBeans’ bean = a component (i.e. Java class is not a component) But: JavaBeans’ features are core part of.NET platform, i.e. every.NET class ≈ a bean → Is every.NET class a component? Software component is … What? There are several dozens of definitions. Research papers often cite a definition by Clemens Szyperski → But many component models do not fit (cited as well) – detailed analysis in the thesis

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story7/15 Our Unique View on Components (as Runtime Entities) A single definition is not sufficient. New view: Purpose of components in a specific component model is a defining aspect of components→ Categorization of component models according to a newly selected criteria Hierarchical component models: Purpose of components? Rather unclear. For development of typical desktop and enterprise applications too complex – more architectural freedom is beneficial + only service orientation (remote/queued components, etc.) and dependency injection required by software developers as sufficient (→ target of current industrial component models) Token as a component = OK?

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story8/15 Goals of the Thesis 1) Identify the key goals of hierarchical component models (purpose of components) and domains where these can be most advantageous – The True Story. 2) Show on case-studies hierarchical component models (including tooling) are really suitable in context identified as part of goal 1. 3) Enhance hierarchical component model CBSE domain to better cope with problems unique to the context (goal 1). Ideally suited for: Dynamic updates (replacing component internals with a new version or a different implementation) Application's performance modeling and prediction Verification of application's correctness ← CREF project Purpose of components in HCMs is not (just) to provide a clean architecture (SE point of view), but to provide additional information about application's structure and behavior (to advanced tools). → Token as a component = OK → HCM + Behavior Protocols need to be enhanced to capture information about architectural changes. Ideally suited for: Dynamic updates (replacing component internals with a new version or a different implementation) Application's performance modeling and prediction Verification of application's correctness ← CREF project Purpose of components in HCMs is not (just) to provide a clean architecture (SE point of view), but to provide additional information about application's structure and behavior (to advanced tools). → Token as a component = OK → HCM + Behavior Protocols need to be enhanced to capture information about architectural changes.

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story9/15 Overview of the Main Contribution (1/2) CREF project Proposal of a new case-study Validation of HCM (Hierarchical Component Models) concepts Ježek P., Kofroň J., Plášil F.: Model Checking of Component Behavior Specification: A Real Life Experience, in Electronic Notes in Theoretical Computer Science, Vol. 160, pp , Elsevier B.V., ISSN: , Aug 2006 (10 citations in total) Kofroň J., Adámek J., Bureš T., Ježek P., Mencl V., Parízek P., Plášil 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 (3 citations in total) CoCoME project Validation of HCM concepts Bulej L., Bureš T., Coupaye T., Děcký M., Ježek P., Parízek P., Plášil F., Poch T., Rivierre N., Šerý O., Tůma P.: CoCoME in Fractal, Chapter in The Common Component Modeling Example: Comparing Software Component Models, Springer-Verlag, LNCS 5153, Aug 2008 (11 citations in total)

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story10/15 Overview of the Main Contribution (2/2) Software entities in component architectures Introduction of a novel concept of dynamic entities + validation of the concept in context of HCM & CREF project case-study Bureš T., Ježek P., Malohlava M., Poch T., Šerý O.: Strengthening Component Architectures by Modeling Fine-grained Entities, in proceedings of 37th Euromicro SEAA 2011, Oulu, Finland, IEEE CS, Aug 2011 Modeling Windows driver environment Introduction of a novel approach to specify environment of software components Matoušek T., Ježek P.: DeSpec: Modeling the Windows Driver Environment, in proceedings of FESCA, ETAPS'07, Braga, Portugal, ENTCS, Mar 2007 Ježek P., Bureš T., Hnětynka P.: Supporting Real-life Applications in Hierarchical Component Systems, in proceedings of SERA 2009, Haikou, China, Studies in Computational Intelligence (SCI), Springer, Dec 2009 (3 citations in total)

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story11/15 Entities – New CBSE Concepts Goals: Provide ability to express dynamism in hierarchical component architectures Do not break existing CBSE concepts + allow reasonable implementation in HCM runtime Solution: Regular bindings and components + Unique concepts of proto-bindings and proto-components (binding and component templates) allow modeling of dynamic software entities Bureš T., Ježek P., Malohlava M., Poch T., Šerý O.: Strengthening Component Architectures by Modeling Fine-grained Entities, in proceedings of 37th Euromicro SEAA 2011, Oulu, Finland, IEEE CS, Aug 2011 FileManager Editor IFile open() read() / write() close() How to get information about architectural changes at runtime? How to get information about all possible architectural changes at design time? How to get information about architectural changes at runtime? How to get information about all possible architectural changes at design time? Key feature: The black-box view still there! File

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story12/15 Entities – Reconfiguration Actions Information about architectural changes is gathered via special annotations (reconfiguration actions – defining allowed set of changes) – triggered by method calls Interface publication: create/destroy reconfiguration actions Usage of published interfaces: link/unlink reconfiguration actions Dynamic creation of component instances: new/delete reconfiguration actions FileManager IFile IFile open()

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story13/15 Entities – Validation (1) Prototype implementation in SOFA 2 (a master thesis) Successful remodeling of CREF case-study using entities concepts and reconfiguration actions: Token component + all related allowed architectural changes (new Token, passing Token reference, destroy Token) are visible in the architecture→ Token component problem solved!

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story14/15 Entities – Validation (2) Desired properties of the proto-binding and proto- interfaces concepts verified on the case-study: Replacing FrequentFlyerDatabase implementation with a more complex one (providing own instances of Token components) does not require any changes of Arbitrator component interfaces or reconfiguration actions! Token Token 2 Arbitrator Token Arbitrator

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story15/15 Conclusion & Future Work All goals fulfilled Future work: Prepare a detailed analysis of component models with respect to presented categories. Enhancements of entities concepts and merging the nested factory pattern. Introduction of a formal method to describe and verify behavior in architectures with dynamic entities. Apply DeSpec language to domain of hierarchical component models. Summary of publications (6) and citations (27): Bulej L., Bureš T., Coupaye T., Děcký M., Ježek P., Parízek P., Plášil F., Poch T., Rivierre N., Šerý O., Tůma P.: CoCoME in Fractal, Chapter in The Common Component Modeling Example: Comparing Software Component Models, Springer-Verlag, LNCS 5153, Aug 2008 (11 citations in total) Bureš T., Ježek P., Malohlava M., Poch T., Šerý O.: Strengthening Component Architectures by Modeling Fine-grained Entities, in proceedings of 37th Euromicro SEAA 2011, Oulu, Finland, IEEE CS, Aug 2011 Ježek P., Bureš T., Hnětynka P.: Supporting Real-life Applications in Hierarchical Component Systems, in proceedings of SERA 2009, Haikou, China, Studies in Computational Intelligence (SCI), Springer, Dec 2009 (3 citations in total) Ježek P., Kofroň J., Plášil F.: Model Checking of Component Behavior Specification: A Real Life Experience, in Electronic Notes in Theoretical Computer Science, Vol. 160, pp , Elsevier B.V., ISSN: , Aug 2006 (10 citations in total) Kofroň J., Adámek J., Bureš T., Ježek P., Mencl V., Parízek P., Plášil 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 (3 citations in total) Matoušek T., Ježek P.: DeSpec: Modeling the Windows Driver Environment, in proceedings of FESCA, ETAPS'07, Braga, Portugal, ENTCS, Mar 2007

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story16/15 Q&A: PB: HCM Superior? Q: ‘The analysis of component models does not answer questions “why are hierarchical models superior”’ A: Goal of the analysis in Chapters 2 and 3 is not to show HCM are superior, but to identify domains and problems that they are very well suited to cope with.

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story17/15 Q&A: PB: Component Definitions vs. Component Frameworks Q: ‘Secondly, the author suggests that it’s a problem of the definition that many (especially run-time) frameworks are not conformant with it. Insufficient consideration is given to a reverse view: that such systems should actually not claim to be component-based.’ A: The problem is that not only some of these systems claim to be component-based, but common CBSE related research papers do put them in such a category as well. Thus, the goal was to clear this misunderstanding in the CBSE community. Also a very common view is that one has to choose a “best” component model for a specific situation. But we show that multiple component models can be (and will be) used at once.

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story18/15 Q&A: PB: Other Architectural Reconfigurations Q: ‘Also, more realistic cases of architectural reconfigurations could have been considered (What if [a component for] Lufthansa Fly Ticket Database should be added at runtime? What if a new Arbitrator needs to be installed which uses additional VIPCustomerDatabase as an authorization source through a newly added IVipCustomerAuth interface?).’ A: These are all valid questions and in fact we have considered them as well. But the problem is quite complex, and we found out that previous attempts to model reconfigurations in HCM were not sufficiently solving our problems. Thus, we targeted a clear and compact extension of HCM concepts to have a viable solution to begin with. But we plan to enhance it in our future work in similar way as proposed by the reviewer.

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story19/15 Q&A: PB: Component Models → Industry Q: ‘how do your contributions help in concrete terms make a concrete component model more relevant in industrial setting, were they (or at least how can they be) turned into practical realizations?’ A: Enhancement of SOFA 2 hierarchical component model with dynamic entities (proto-bindings) allows us to model dynamic reconfigurations as implied by the real-life case-studies. Now the final step has to be done: prepare a formal method to take advantage of this information and to use it to verify correctness of such applications. This would make SOFA 2 interesting for software correctness verification in industrial settings.

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story20/15 Q&A: PB: Capturing Reconfigurations in Architecture Q: ‘Explain how the reconfigurations should be “properly captured in application’s architecture” and how the verification techniques proposed apply when such reconfigurations occur.’ A: From a point of view of compositional correctness verification: All information on any possible/allowed runtime reconfigurations is needed at the time of the analysis. So, in a typical setting, all information should be present in the design-time architecture (accomplished by the reconfiguration actions of our dynamic entities concept).

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story21/15 Q&A: IC: Non-functional Properties Q: ‘For example non-functional properties are hardly mentioned, and these are very important and the most challenging in compositions, and in particular in hierarchical composition. For this reason it would be useful to define the hierarchy property in a more formal way and by this precisely define the scope of the research.’ A: Yes, we definitely agree with this point. However as the domain of non- functional properties is so complex, it would be out of the scope of this thesis to provide any reasonable analysis in the domain. Thus, we focus purely on problems related to compositional correctness verification. But there are other groups in our department that are addressing problems in the domain mentioned with respect to hierarchical composition.

Pavel Ježek: Ph.D. Thesis Defense, September 25 th, 2012 Hierarchical Component Models: A True Story22/15 Q&A: IC: Addressing Desired Properties of HCM Q: ‘Of the desired properties of hierarchical component models that you have listed, not all elements are addressed later in the thesis. For example you identified “performance prediction” yet it seems that the term “performance” is referred only in this list, and never elaborated later. Again a precise specification of “performance” is missing.’ A: This point is related to the previous one: We wanted to show we believe HCMs are beneficial in many domains, however as the performance related analysis of HCMs is done in another our group, provision of any detailed insight in this context was considered out of the scope of the thesis. However better references to the relevant related work should have been included in the thesis.