SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of.

Slides:



Advertisements
Similar presentations
IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)
Advertisements

COM vs. CORBA.
Application-layer Connector Synthesis Paola Inverardi SFM-11:CONNECT, June 15 th 2011 Bertinoro.
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Component-based Software Engineering Marcello Bonsangue LIACS – Leiden University Fall 2005 Component Model Comparison.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Lecture 23: Software Architectures
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
What Is Object-Oriented Design? (Chapter 1). Software Development Life Cycle 1. Problem statement and requirements 2. Solution specification 3. Code design.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Nikolaos Korfiatis The Java 2 Enterprise Edition Platform Dept. of Management & Technology-Athens University of Economics and Business Java 2 Platform.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Zoltán Mann: Tracing CORBA applications 1/22 Tracing CORBA applications using interceptors Zoltán Mann Supervisor: Dr. Károly Kondorosi Budapest University.
Client/Server Software Architectures Yonglei Tao.
UNIT-V The MVC architecture and Struts Framework.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Obsydian OLE Automation Ranjit Sahota Chief Architect Obsydian Development Ranjit Sahota Chief Architect Obsydian Development.
1 The Architectural Design of FRUIT: A Family of Retargetable User Interface Tools Yi Liu, H. Conrad Cunningham and Hui Xiong Computer & Information Science.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Component Architecture (CORBA – RMI) -Shalini Pradhan.
Mobile Topic Maps for e-Learning John McDonald & Darina Dicheva Intelligent Information Systems Group Computer Science Department Winston-Salem State University,
第十四章 J2EE 入门 Introduction What is J2EE ?
DEVS Namespace for Interoperable DEVS/SOA
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Paper written by Flavio Oquendo Presented by Ernesto Medina.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
Abhishek Bachchan Vishal Patangia
SWE 316: Software Design and Architecture Objectives Lecture # 18 Introduction to Components SWE 316: Software Design and Architecture To learn:  benefits.
SCA Bindings Simon Holdsworth Piotr Przybylski. Agenda n SCA Bindings Overview l Bindings TC Charter n Bindings l Web Services Binding l JMS Binding l.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
CS551 - Lecture 11 1 CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816)
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Devanshu Bawa Customization Specialist Logo Business Solutions.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Lecture 21: Component-Based Software Engineering
Distributed Computing in Life Science Research -Presenter: Yijian Yang
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Adaptive Choreographies Joint work with Mila Dalla Preda, Jacopo Mauro and Maurizio.
Redmond Protocols Plugfest 2016 Jinghui Zhang Office Interoperability Test Tools (Test Suites and Open Source Projects) Software Engineer Microsoft Corporation.
Introduction to OOAD and UML
J2EE Platform Overview (Application Architecture)
Deadlock Freedom by Construction
Dynamic Updates for Videogames
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Tools for Composing and Deploying Grid Middleware Web Services
Component--based development
Komponentbasert utvikling Den sanne objektorientering
CORBA and COM TIP Two practical techniques for object composition
Software Architecture & Design
Presentation transcript:

SYNTHESIS: a tool for automatically assembling correct and distributed component-based systems Massimo Tivoli Computer Science Department University of LAquila

Motivations CBSE is a reused-based approach to the development of software systems Compatibility and communication issues may arise One possible solution is the use of component coordinators Lack of support for the automatic synthesis of the actual adaptation/coordination code for industrial component technologies, e.g., Microsoft COM/DCOM, EJB

Our previous approach K is automatically synthesized in order to make the composed system deadlock-free... automatic synthesis of a centralized and deadlock-free coordinator...and obeying to a desired behavior + desired behavior specification uncontrolled system desired behavior enforcing controlled system KK KK its interaction may deadlock or not obey to a desired behavior

Our current approach + desired behavior specification uncontrolled system.aj controlled system f2f2f1f1 f3f3f4f4 desired behavior automaton distribution automatic synthesis of a centralized no-op coordinatorKK last-chance states distribution LC i : last-chance states table of f i an entry encodes information about which component should wait to perform an action in order not to incur in a deadlock an entry encodes information about which action can be performed according to the current state of the desired behavior automaton UA i : updating and allowed actions table of f i

The SYNTHESIS tool Input (a): the interface specification of the components forming the system to be built (augmented IDLs) Input (b): the specification of the desired behaviors that the system to be built must exhibit (LTSs) Input (c): for each component, the specification of its interaction protocol with the expected environment (XML files encoding HMSCs and bMSCs specifications) Output (d): By taking into account (a) and (c), SYNTHESIS automatically derives different behavioral models (LTSs) of the components in the system to be assembled. Output (e): These models range from the component interaction behavior model to the model of the environment expected by the component in order not to block it. By "unifying" all the different component models, SYNTHESIS automatically derives the LTS K of the centralized no-op coordinator Output (f): All the synthesized models/information is used to automatically generate the code implementing the distributed version of the correct coordinator as a set of component wrappers.

Architecture of SYNTHESIS IDLParser is an abstract superclass that has to be specialized in order to implement a parser of IDL files based on a particular IDL notation (e.g., Microsoft IDL for COM/DCOM, DCE/IDL for CORBA, Java IDL for EJB, etc.) CoordPolicy implements the visual editor of the desired behavior automaton MSC implements the visual editor used to specify/display/ process the interaction behavior of a component with its expected environment AssumptionBuilder implements the automatic generator of the different component behavioral models CoordinatorBuilder implements the automatic generator of the no-op/deadlock- free/desired-behavior- satisfying coordinator CodeGenerator implements the automatic generator of the actual composition code for the components given as inpu t

A quick demo... Simulation of a distributed cooling water-pipe management system Eclipse as development environment Components forming the simulated system 2 EJBs as server components state-less session beans running on JBOSS 3.1 as application server 2 J2EE client applications as client components

A quick demo