Integrated application of eODL 1 J.Fischer Integrated application of eODL Workshop Integrated application of eODL Geneva, 13 September 2003 Harald Böhme,

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Configuration management
Component Oriented Programming 1 Chapter 2 Theory of Components.
Tool support for Distributed Object Technology
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Modeling Notations.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
SIVOES-MONA (Dresden, October the 1 st ) - Pr. F. Terrier & Dr. S. Gérard (L-LSP) 1 UML 2: Component model & RT feedback of AIT-WOODDES project to the.
Persistent State Service 1 CORBA Component  Component model  Container programming model  Component implementation framework  Component packaging and.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
R R R CSE870: Advanced Software Engineering: Extending and Using UML (Cheng) Supplementary: Using and Extending UML.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
OpenCCM: The Open CORBA Components Platform OSMOSE WP3 CCM Meeting 14th November 2003, LIFL, Lille, France Philippe Merle Jacquard Project.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Component-Based Software Engineering (CBSE) Speaker: Jerry Gao Ph.D. San Jose State University URL:
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 2.
Chapter 10 Introduction to Components. Process Phases Discussed in This Chapter Requirements Analysis Design Implementation ArchitectureFramework Detailed.
DOT’98 Heidelberg 1 A. Hoffmann & M. Born Requirements for Advanced Distribution and Configuration Support GMD FOKUS Andreas Hoffmann & Marc Born
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Introduction to MDA (Model Driven Architecture) CYT.
Configuration Management (CM)
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Software Architecture in Practice Architectural description (The reduced version)
Master Worker Paradigm Support in Software Component Models Hinde Bouziane, Christian Pérez PARIS Research Team INRIA/IRISA Rennes ANR CIGC LEGO (ANR-05-CICG-11)
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
XASTRO-2 Overview Presentation CCSDS SAWG Athens Meeting 12 th April 2005.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
SWE 316: Software Design and Architecture Objectives Lecture # 18 Introduction to Components SWE 316: Software Design and Architecture To learn:  benefits.
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.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
8:15 AM Tuesday September 15, 2009 Karl Frank, Point of Contact for Constellation Projects Validating Integration Requirements Diagrams for illustrative.
Design Model Lecture p6 T120B pavasario sem.
03 October 2006Kaiser: COMS W4156 Fall COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Software Engineering Lecture 8 Object-Oriented Analysis.
UML / UML 2.0 Diagrams (Part I) 1. Overview of the 13 diagrams of UML Structure diagrams 1.Class diagram 2.Composite structure diagram (*) 3.Component.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Architecture Analysis and Design Language: An Overview Drew Gardner.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Slide no. 1  =====!"§!“!Nova§ ITU-T work on technical languages and general software issues Amardeo Sarma Chairman, ITU-T Study Group 10.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
09 October 2007Kaiser: COMS W4156 Fall COMS W4156: Advanced Software Engineering Prof. Gail Kaiser
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy
TTCN-3 Testing and Test Control Notation Version 3.
UML (Unified Modeling Language)
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.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
UML Profile for SDR Hardware/Software Adequacy Verification
Course Outcomes of Object Oriented Modeling Design (17630,C604)
COMPONENT & DEPLOYMENT DIAGRAMS
Notification Service May 19, 2006 Jon Atherton Mark Mara.
Software Design Methodology
Krishnakumar Balasubramanian
Service-centric Software Engineering
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
IMPORTANT NOTICE TO STUDENTS:
Analysis models and design models
Architecture Description Languages
Chapter 7 –Implementation Issues
Software Development Process Using UML Recap
Franca+ Bernhard Hennlich and Manfred Bathelt
Presentation transcript:

Integrated application of eODL 1 J.Fischer Integrated application of eODL Workshop Integrated application of eODL Geneva, 13 September 2003 Harald Böhme, J.Fischer

Integrated application of eODL 2 J.Fischer Outline eODL – a simple language model views for the development components eODL is technology independent representation forms of eODL component development integration of legacy components

Integrated application of eODL 3 J.Fischer Applications with eODL eODL talk about COs, assemblies, nodes and links COs provides some functionalities collections and interconnections are called assemblies –structure of the system nodes and links –structure of target environment deployment –assignment

Integrated application of eODL 4 J.Fischer supporting the development of software components for -existing and -coming-up component platforms in combination with other techniques for modelling the components from different views: -computational, Mapping: eODL  SDL -implementation, -deployment technology independent from the used platforms for that mappings to technology dependent platforms exist -implementation languages supported by the target component platform Mapping: eODL  CIDL  C++, SDL  C++… eODL – a simple Language

Integrated application of eODL 5 J.Fischer superset of ITU-IDL (CORBA IDL 2.4.2) where concepts of -name scoping -data types -operational signatures and interfaces are well-defined not designed -for (complete) behaviour description -for implementation of the components (business logic) but attention -behaviour description and implementation are possible after mapping eODL – a simple Language

Integrated application of eODL 6 J.Fischer Unsolved yet : QoS aspects Case-oriented description of interaction rules und requirements binding, contract type, contract Configuration aspects of software components port (provided, used) Implementation View Implementation aspects of Software Components artefact, implementation element, state attribute Deployment View aspects of production and integration of software components: component, assembly, realize Model Views for the Development of Software Components Computational View Target Environment View properties of nodes and links/connections Views and Model Concepts structural aspects of functional decompositions: CO type, interface, interaction element, data types Behaviour aspects of CO- Types (new invention) Blackbox, Greybox, Whitebox

Integrated application of eODL 7 J.Fischer Unsolved yet : QoS aspects Case-oriented description of interaction rules und requirements binding, contract type, contract Configuration aspects of software components port (provided, used) Implementation View Implementation aspects of Software Components artefact, implementation element, state attribute Deployment View aspects of production and integration of software components: component, assembly, realize Concepts of Model Description: eODL (ITU) Computational View Target Environment View properties of nodes and links/connections Views and Model Concepts structural aspects of functional decompositions: CO type, interface, interaction element, data types Behaviour aspects of CO- Types (new invention) Blackbox, Greybox, Whitebox

Integrated application of eODL 8 J.Fischer Configuration aspects of software components port (provided, used) Implementation View Implementation aspects of Software Components artefact, implementation element, state attribute Deployment View aspects of production and integration of software components: component, assembly, realize Concepts of Model Description: eODL (ITU) Computational View Target Environment View properties of nodes and links/connections Views and Model Concepts structural aspects of functional decompositions: CO type, interface, interaction element, data types eODL= ODL+ = IDL++ SDL UML CIDL

Integrated application of eODL 9 J.Fischer eODL is technology independent Concept Space of eODL modell concepts and relations different component platforms mapping of concepts (code generation) different notations syntactical representation of concepts xxxxx xxxxxx xx xxxxxx xxxx Meta Model CCM IDL-like

Integrated application of eODL 10 J.Fischer Representation forms of eODL (1)textual IDL-like (2)XML as exchange format (defined by XMI) (3)grafical not yet available, but possible candidate: UML-Profile for eODL advantage: UML tools are available

Integrated application of eODL 11 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation real component infrastructure eODL editor used tool

Integrated application of eODL 12 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation real component infrastructure generated CIDL code used tool eODL compiler

Integrated application of eODL 13 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation generated CIDL code generated C++ code generated C++ code & business logic real component infrastructure imagined model of system behaviour C++ editor used tool CIDL compiler

Integrated application of eODL 14 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation generated CIDL code generated C++ code generated C++ code & business logic real component infrastructure imagined model of system behaviour software component C++ compiler used tool

Integrated application of eODL 15 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation generated CIDL code generated C++ code generated C++ code & business logic software component real component infrastructure imagined model of system behaviour eODL model VIEW: deployment eODL editor used tool

Integrated application of eODL 16 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation generated CIDL code generated C++ code generated C++ code & business logic software component eODL model VIEW: deployment real component infrastructure imagined model of system behaviour eODL model VIEW: target environment eODL editor used tool

Integrated application of eODL 17 J.Fischer Component Development with eODL imagined model of a system structure eODL model VIEW: structural and implementation generated CIDL code generated C++ code generated C++ code & business logic software component eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour eODL deployer used tool

Integrated application of eODL 18 J.Fischer Component Development (alternative) imagined model of a system structure eODL model VIEW: structural and implementation eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour

Integrated application of eODL 19 J.Fischer Component Development (alternative) imagined model of a system structure eODL model VIEW: structural and implementation eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour generated SDL code eODL compiler used tool

Integrated application of eODL 20 J.Fischer Component Development (alternative) imagined model of a system structure eODL model VIEW: structural and implementation eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour generated SDL code SDL editor used tool generated SDL code & abstract business logic

Integrated application of eODL 21 J.Fischer Component Development (alternative) imagined model of a system structure eODL model VIEW: structural and implementation eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour generated SDL code SDL compiler used tool generated SDL code & abstract business logic generated C++ code & business logic

Integrated application of eODL 22 J.Fischer Component Development (alternative) imagined model of a system structure eODL model VIEW: structural and implementation eODL model VIEW: deployment eODL model VIEW: target environment real component infrastructure real running system imagined model of system behaviour generated SDL code C++ compiler used tool generated SDL code & abstract business logic generated C++ code & business logic software component

Integrated application of eODL 23 J.Fischer Integration of legacy components bound to fixed component platform –need mapping to that kind of platform –map component layout to eODL level –use at eODL level for assemblies

Integrated application of eODL 24 J.Fischer eODL is technology independent Concept Space of eODL modell concepts and relations selected component platforms mapping of concepts (code generation) Meta Model

Integrated application of eODL 25 J.Fischer Integration of legacy components bound to fixed component platform –need mapping to that kind of platform –map component layout to eODL level –use at eODL level for assemblies standalone software component –target component platform ? what will be the preferred platform –realize wrapper component for the standalone software component design at eODL level deployment at platform level

Integrated application of eODL 26 J.Fischer Embedded original component eODL original

Integrated application of eODL 27 J.Fischer The Dining Philosophers Example CO design in eODL environment model in eODL assembly definition in eODL realisation language open

Integrated application of eODL 28 J.Fischer The Dining Philosophers Example Thinking Hungry Starving Eating Dead Kant Thinking Hungry Starving Eating Dead Descartes Thinking Hungry Starving Eating Dead Aristotle Fork

Integrated application of eODL 29 J.Fischer Modeling: System Structure by COs

Integrated application of eODL 30 J.Fischer Fork Philosopher name = Aristotle Philosopher name = Descartes Philosopher name = Kant CO provided port used port Observer Modeling: System Structure by COs

Integrated application of eODL 31 J.Fischer exception ForkNotAvailable { } ; exception NotTheEater { } ; interface i_Fork { void obtain_fork ( in o_Philosopher eater ) raises ( ForkNotAvailable ); void release_fork ( in o_Philosopher eater ) raises ( NotTheEater ); }; CO o_Fork { provide i_Fork fork; }; Fork Fork Definition

Integrated application of eODL 32 J.Fischer valuetype Pstate { public e_PState state; public string name; public o_Philosopher philosoph; }; signal PhilosopherState { PState carry_pstate; }; interface i_Observer { consume PhilosopherState pstate; }; CO o_Observer { provide i_Observer observer; }; Observer Observer Definition

Integrated application of eODL 33 J.Fischer enum e_Pstate { EATING, THINKING, SLEEPING, DEAD, CREATED, HUNGRY } ; CO o_Philosopher { use i_Fork left; use i_Fork right; use I_observer observer; attribute string name; }; Philosopher name = … Philosopher Definition

Integrated application of eODL 34 J.Fischer assembly Dinner { assembly (=system): configuration of COs System Definition

Integrated application of eODL 35 J.Fischer Philosopher assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; System Definition

Integrated application of eODL 36 J.Fischer Philosopher assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; f1 : o_Fork; f2 : o_Fork; f3 : o_Fork; System Definition Fork

Integrated application of eODL 37 J.Fischer Philosopher assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; f1 : o_Fork; f2 : o_Fork; f3 : o_Fork; o : o_Observer; System Definition Fork Observer

Integrated application of eODL 38 J.Fischer assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; f1 : o_Fork; f2 : o_Fork; f3 : o_Fork; o : o_Observer; connect c1 { p1.left = f1.fork; p2.right = f2.fork; … }; Fork Philosopher Observer System Definition

Integrated application of eODL 39 J.Fischer assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; f1 : o_Fork; f2 : o_Fork; f3 : o_Fork; o : o_Observer; connect c1 { p1.left = f1.fork; p2.right = f2.fork; … }; connect c2 { o.observer = p.observer; }; }; Fork Philosopher Observer System Definition

Integrated application of eODL 40 J.Fischer softwarecomponent ForkImpl realizes o_Fork { requires { property os = [ { name = "WINNT"; version = "4,0,0,0"; } ]; }; softwarecomponent PhilosopherImpl realizes o_Philosopher, o_Observer { requires { property os = [ { name = "WINNT"; version = "4,0,0,0"; } ]; }; ForkImpl PhilosopherImpl Fork Philosopher Observer Definition of Software Components

Integrated application of eODL 41 J.Fischer environment MyEnv { node node1 { property os = { name = "WINNT"; version = "4,0,0,0"; }; property memory = 256; }; node node2 { property os = { name = "WINNT"; version = "4,0,0,0"; }; property memory = 128; }; link link1 { node n1, n2; }; }; Definition of the Target Environment

Integrated application of eODL 42 J.Fischer installation install uses environment MyEnv { ForkImpl -> node1; PhilosopherImpl -> node2; }; PhilosopherImpl ForkImpl Definition of Installation

Integrated application of eODL 43 J.Fischer installation install uses environment MyEnv { Philosopher -> node2; Fork -> node1; }; instantiation instantiate uses environment MyEnv uses assembly Dinner { p1, p2, p3, o -> node2; f1, f2, f3 -> node1; }; Fork Philosopher Observer Definition of Instantiation

Integrated application of eODL 44 J.Fischer installation install uses environment MyEnv { Philosopher -> node2; Fork -> node1; }; instantiation instantiate uses environment MyEnv uses assembly Dinner { p1, p2, p3, o -> node2; f1, f2, f3 -> node1; }; Fork Philosopher Observer Definition of Configuration