Download presentation
Presentation is loading. Please wait.
Published byAron Daniels Modified over 8 years ago
1
SOFA 2 Component Model Tomáš Bureš, Petr Hnětynka, František Plášil CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Czech Republic
2
SOFA 2 Component model Components in general ● A component ~ black-box entity ● Problem – every component system has its own definition of a component ● Component model the collection of the related abstractions, their semantics and the rules for component composition (through-out of all the component application phases) ● The concept of a “component” has always to be interpreted in the semantics of a particular component model
3
SOFA 2 Component model Components in general ● Key component abstractions interfaces ● provide & required bindings ● direct vs. via connectors ● Types of composition flat ● one level of nesting hierarchical ● Development lifecycle component lifecycle ● development of separated components application lifecycle ● assembling components together
4
SOFA 2 Component model Components in general ● Many component systems exit JavaBeans EJB CCM COM/DCOM Darwin Wright C2 ACME Koala Robocop Fractal SOFA 2 ArchJava Java/A ProCom.....
5
SOFA 2 Component model SOFA 2 components ● Components defined by component type (called frame) ● defines component's provided and required interfaces interfaces defined by interface types ● defines component's behavior component implementation (called architecture) ● glass-box view ● implements a frame ● either primitive or composite directly implemented or composed of other components at runtime – architectures are instantiated ● there can be multiple instances of a single architecture
6
SOFA 2 Component model Development with components ● Split to two parallel activities Component development ● Component types, contracts, implementations, etc. ● Components in a repository ● Multiple versions possible System development ● (Re)Use of components ● Their integration in an application Repository Development environment Adding new components Using existing components
7
SOFA 2 Component model SOFA 2 component/application lifecycle 1.Development (of components) composing existing components together ● components stored in the repository newly developed ones also stored in the repository 2.Assembly (of an application) subcomponents primarily defined by frames recursively replacing frames by architectures 3.Deployment and executing (of an application) where particular components have to be executed ● information stored in a deployment plan connector generation applying control aspects execution
8
SOFA 2 Component model Runtime environment ● Runtime environment (called SOFAnode) consists of several units repository deployment docks dock registry global connector manager Deploymen t Node 2 Repository DockA DockB DockC DockD Developing new components Uploading new components Deploymen t Node 3 Deploymen t Node 1
9
SOFA 2 Component model Runtime environment ● Runtime environment (called SOFAnode) consists of several units repository deployment docks dock registry global connector manager Deploymen t Node 2 Repository DockA DockB DockC DockD Developing new components Uploading new components Deploymen t Node 3 Deploymen t Node 1 Generated from the EMF meta-model Eclipse Modeling Framework de-facto standard for defining meta-models Remotely accessible Supports versioning Used at both development time and run time
10
SOFA 2 Component model Runtime environment ● Runtime environment (called SOFAnode) consists of several units repository deployment docks dock registry global connector manager Deploymen t Node 2 Repository DockA DockB DockC DockD Developing new components Uploading new components Deploymen t Node 3 Deploymen t Node 1 A container executing components Automatically downloads code of components from the repository
11
SOFA 2 Component model Runtime environment ● Runtime environment (called SOFAnode) consists of several units repository deployment docks dock registry global connector manager Deploymen t Node 2 Repository DockA DockB DockC DockD Developing new components Uploading new components Deploymen t Node 3 Deploymen t Node 1 Inter-component links by automatically generated connectors Seamless distribution Different communication styles ~ middleware
12
SOFA 2 Component model Runtime environment ● Runtime environment (called SOFAnode) consists of several units repository deployment docks dock registry global connector manager Deploymen t Node 2 Repository DockA DockB DockC DockD Developing new components Uploading new components Deploymen t Node 3 Deploymen t Node 1 Components' content weaved with component aspects The way of parameterizing the runtime platform
13
SOFA 2 Component model Current status ● Implementation available http://sofa.ow2.org/ LGPL license ● All features are implemented repository, docks,... development tools ● IDE + cmd-line
14
SOFA 2 Component model Future/current work ● Extra-functional properties of components performance models resource consumption Q-Impress (FP7 STREP) ● Supporting dynamic architectures i.e. changes of an architecture at run-time mainly for hierarchical component models
15
SOFA 2 Component model Future/current work ● SOFA “profiles” (modularization) core – determines a generic part of SOFA Component model, Control part, Assembly, Deploy, Repository specific profiles – restrict/enhance the core according to requirements of a target environment (implementation language, limited runtime,...) SOFA-HI for real-time software ● Component framework as product-line (meta- component system) configure features of component framework according to requirements on an application configure ● meta-model (via profiles) ● runtime environment ● support tools
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.