1/151/15 ENT Metamodel Implementation & Applications ENT metamodel, prototype implementation Component substitutability checking, ENT based component comparison.

Slides:



Advertisements
Similar presentations
JSP and web applications
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Database System Concepts and Architecture
Visual Scripting of XML
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
1 JBus, A Platform Independent Publish/Subscribe Bus for CWave 2000 M.S. Thesis Defense Joseph W. Longson March 30, 2000.
D-OSDi + Android Progress Presentation Xinyi Dong Long Qiu.
PAWN: A Novel Ingestion Workflow Technology for Digital Preservation
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
Views Dwight Deugo Nesa Matic
1 Application Specific Module for P-GRADE Portal 2.7 Application Specific Module overview Akos Balasko MTA-SZTAKI LPDS
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
OSGi.
NSI 1 Collect Process AnalyseDisseminate Survey A Survey B Historically statistical organisations have produced specialised business processes and IT.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Introducing Axis2 Eran Chinthaka. Agenda  Introduction and Motivation  The “big picture”  Key Features of Axis2 High Performance XML Processing Model.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
CSCI 6962: Server-side Design and Programming Introduction to Java Server Faces.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02.
OSGi Enablement for Tuscany Raymond Feng. Overview.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Migrating Desktop The graphical framework for running grid applications Bartek Palak Poznan Supercomputing and Networking Center The.
A language to describe software texture in abstract design models and implementation.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
STASIS Technical Innovations - Simplifying e-Business Collaboration by providing a Semantic Mapping Platform - Dr. Sven Abels - TIE -
Tuscany: a SOA framework Jeffrey Guo Accelrys, Inc.
Jaroslav Šnajberk, Přemek Brada Computer of Computer Sciences and Engineering Faculty of Applied Sciences University of West Bohemia in Pilsen 1.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
ESDI Workshop on Conceptual Schema Languages and Tools
Migrating Desktop Bartek Palak Bartek Palak Poznan Supercomputing and Networking Center The Graphical Framework.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
David Orchard W3C Lead BEA Systems Web service and XML Extensibility and Versioning.
XmlBlackBox The presentation Alexander Crea June the 15st 2010 The presentation Alexander Crea June the 15st 2010
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Getting Started with the Open Services Gateway Initiative (OSGi) CNT 5517 Dr. Sumi Helal, Ph.D. Professor Computer & Information Science & Engineering.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Introduction to OSGi +ActorFrame Surya Bahadur Kathayat
Copyright © 2007, Oracle. All rights reserved. Managing Items and Item Catalogs.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Generating XML Data from a Database Eugenia Fernandez IUPUI.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
UML Diagrams: Class Diagrams The Static Analysis Model
Heppenheim Prototype for the MOT design and for the Transfer follow-up
API Tooling An API is a contract.
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 2 Database Environment Pearson Education © 2009.
JavaServer Faces: The Fundamentals
Introduction to Data Structure
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Software Architecture & Design
Presentation transcript:

1/151/15 ENT Metamodel Implementation & Applications ENT metamodel, prototype implementation Component substitutability checking, ENT based component comparison Case Study: Component model OSGi Automated generating OSGi component versions Future work Lukáš Valenta & what are we working on…

2/152/15 ENT Metamodel Element – interface element Name, type Additional non-functional information – Tag Classification:  Nature, Kind, Role, Granularity, Construct, … Trait – related elements Equal classifier and meta-type Set of traits defines the component model Categories – „similar“ traits Defined „angle of view“ f Exports : role = { provided } f Needs : role = { required }

3/153/15 ENT Metamodel Implementation - Review of the Diploma Thesis 3 parts Definition of the concrete component model Classification system and categories ENT representation of the component Applicable for any component model (now implemented: EJB, OSGi ) New: ENT based component comparison

4/154/15 Component Substitutability Checking “a substitute component should be usable whenever the current one was expected, without the client noticing it” [Wegner, Zdonik, 1988] “instances of type T' can be bound to variables declared to be of type T if T‘ <: T (subtype)” short <: long structured types: use rules recursively until primitive types are reached Issue with statically typed languages (Java, C++, …) Although int <: long, runtime error! 1none If a = b 2 insertion if a is not defined but b is specialization if b <: a 3 deletion if b is not defined but a is generalization if a <: b 4mutation if b contains both ins/spec and del/gen differences 5unknown If b cannot be compared to a Compare two types a and b: Diff(a,b): Type x Type -> differences It returns:

5/155/15 ENT Based Component Comparison Comparing structured types (e.g. whole components) Input: ENT representations of two components (elements, tags) Appropriate parts are compared using subtyping rules = The rules for comparing various metatypes e.g. Enumeration:  Subtyping relation between values of the set must be specified  Authentication: supported <: required List, Map, … Output: comparison result

6/156/15 Comparison Result Representation Hierarchical (tree) structure Complete information for all levels of comparison  “custom” depth XML representation Log Service Mutation Mutation Mutation Mutation Insertion Generalization None

7/157/15 Case Study: Generating OSGi Component Versions Practical use of ENT component comparison for OSGi platform We are able to compare two components and get the complete information about the changes (at any „level of detail“)

8/158/15 OSGi Service Platform Open Services Gateway initiative Common architecture to develop, deploy and manage services Target range: embedded/mobile devices  enterprise servers The core formed by the Framework (= container) Supports the deployment of applications called bundles Why? Simple component model … but contain versioned dependencies, industrial importance Practical applications: Eclipse Platform (Equinox) Enterprise Component Framework (ECP)

9/159/15 OSGi Bundle Bundles can share Java packages (exporters  importers) and provide services Bundle = JAR archive Java classes + other resources needed to provide functionality Manifest file  Description of the contents  Provide information about the bundle  Specification of bundle dependencies  …  Primary source for generating the bundle ENT representation Bundle-Name: A Export-Package: cz.zcu.logging;version=1.3.0

10/15 OSGi Bundle – Versioned Dependencies Every exported package has version identifier Well-known versioning schema: major.minor.micro  major – incompatible change  minor – compatible change in component interface  micro – change not affecting interface (e.g. bugfix) Importers can specify the version range of required packages (+ other constraints) Framework resolves all constraints and link importers to the right exporters Valid version identifiers  all possible problems identified already in the deployment phase Valid version identifiers = important ! Bundle-Name: A Export-Package: cz.zcu.logging;version=1.3.0 Bundle-Name: B Import-Package: cz.zcu.logging;version=“[1.2.6, 2)”

11/15 Differences and Versioning Related In general: there is a connection between the change and the new version identifier The knowledge of difference between two subsequent versions of an interface part is sufficient to determine the new version identifier of that part d = Diff (R i-1, R i ) : difference between two consecutive revisions V old = maj old.min old.mic old : version of R i-1 The new version identifier V new = maj new.min new.mic new is defined: Diff (R i-1, R i )maj new min new mic new nonemaj old min old mic old +1 specialization, insertion maj old min old +10 deletion, generalization, mutation maj old +100 unknown

12/15 Generating OSGi Component Versions

13/15 Example Bundle-Name: A Bundle-Version: Export-Package: cz.zcu.logging;version=1.2.5 Require-Bundle: B Bundle-Name: A Bundle-Version: ?.?.? Export-Package: cz.zcu.logging;version=?.?.? Require-Bundle: B, C Previous version:New version: Exported package is specialized  new version The whole bundle has new required dependency (C)  its “needs” are specialized  bundle is generalized (backward strict incompatible)  new version 3.0.0

14/15 Future Work – My Ideas Try to find a way to solve a problem with statically typed languages (Java) Automated creation of the connectors between the „incompatible“ interfaces

15/15 Conclusion At the abstract level of the component representation we can do the substitutability checks Another component model can be added easily – implement the compare method for particular elements and tags The result can be used for another applications Thank you