Download presentation
Presentation is loading. Please wait.
Published byRuby Atkins Modified over 9 years ago
1
Integrated application of eODL 1 J.Fischer Integrated application of eODL Workshop Integrated application of eODL Geneva, 13 September 2003 Harald Böhme, boehme@informatik.hu-berlin.de J.Fischer
2
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
3
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
4
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
5
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
6
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
7
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
8
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
9
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
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
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
18
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
19
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
20
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
21
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
22
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
23
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
24
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
25
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
26
Integrated application of eODL 26 J.Fischer Embedded original component eODL original
27
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
28
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
29
Integrated application of eODL 29 J.Fischer Modeling: System Structure by COs
30
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
31
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
32
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
33
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
34
Integrated application of eODL 34 J.Fischer assembly Dinner { assembly (=system): configuration of COs System Definition
35
Integrated application of eODL 35 J.Fischer Philosopher assembly Dinner { p1 : o_Philosopher; p2 : o_Philosopher; p3 : o_Philosopher; System Definition
36
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
37
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
38
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
39
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
40
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
41
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
42
Integrated application of eODL 42 J.Fischer installation install uses environment MyEnv { ForkImpl -> node1; PhilosopherImpl -> node2; }; PhilosopherImpl ForkImpl Definition of Installation
43
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
44
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.