51) Why are Compositions Important? Applications of ...st.inf.tu-dresden.de/files/teaching/ss13/CBSE/... · Prof. U. Aßmann, CBSE 5 Adaptive Systems (Dynamic Variant Families) Consistent
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Component-based software engineering is built on composition systems.
Prof. U. Aßmann, CBSE 4
Product Families (Variant Family, Product Lines)
► A product family (line) is a consistently managed set of products ► sharing a common platform (framework) and components ► With a component model and composition technique that enables variability and
extensibility ► With a composition language
► Consistent variation of component variants, while interfaces and contracts are invariant ► Conformant replacement of components ► Contract checking for all components of the system
Product Lines are based on Composition Systems
Prof. U. Aßmann, CBSE 5
Adaptive Systems (Dynamic Variant Families)
► Consistent variation of component variants at run-time (reconfiguration), while interfaces and contracts are invariant ► Conformant replacement of components at run time ► Dynamic contract negotiation: does the implementation of a new variant fit to a
contract?
► Reconfiguration is controlled by a cost-utility function (CUF) to arrive at an optimal configuration with regard to a CUF ► Reconfiguration can be based on multi-objective optimization (MOO)
► Reconfiguration strategy is important
Adaptive Systems are based on Composition Systems
Prof. U. Aßmann, CBSE 6
CPS Composition Systems
Ø Cyber-physical systems (CPS) are systems in the internet of things and services. These need quality specifications (real-time, energy, safety, movements) and need to be quality-verified.
• Robot swarms • Car trains • Virtual factories
Ø A Multi-Quality-controlled composition system provides a component model with quality contracts.
• Technical space bridges are necessary to bridge
Prof. U. Aßmann, CBSE 7
Smart Factory mit CPS
• Embedded System: maschines, robots, presses, transport systems • CPS: Autonomous control of the factory • Self assembly of the products • Autonomous control of logistics • Pull of products instead of push
Prof. U. Aßmann, CBSE 8
Smart Traffic/Transport/Logistics mit CPS
• Embedded System: Railcabs are autonomous train cars (Paderborn)
• CPS: Optimization of the German logistics
Prof. U. Aßmann, CBSE 9
Smart Grid
• Embedded System: Isolated measuring • CPS: distributed control based on
Smart Metering • Control of natural energy
Prof. U. Aßmann, CBSE 10
Further Examples of CPS
• Smart Metering – Optimization of all energy consumers
in the home or office
• Smart Grid: intelligent power grids – Optimization of all energy traffic
nation-wide
• Smart Traffic: – Car trains on the motorway – Optimization of all traffic nation-wide
• Smart Logistics – Control of transports
Smart Factory: Self-assembly of products Pull instead of push
Smart Construction: Robot swarms for constructions of
tunnels
Smart Office: World wide workflows Cyber-physical search engines
Smart City: Mobile instantaneous commuting Car sharing
Prof. U. Aßmann, CBSE 11
The Revolution of CPS
• All domains in transport, logistics, assembly, housing will change • Nothing will stay as it is • All engineering disciplines will change until 2020
So far:
Miniaturization of the world in the computer
To make decisions
about it
With CPS:
All objects of the real world have an „object Computer“
and are connected
Control of the place of things in space and time
Prof. U. Aßmann, CBSE 12
Component A
Real-time
Safety
Dyna mics
Energy
Component B
Real-time contract checking (Technical Space 1)
Safety contract checking (Technical Space 2)
Dynamics contract checking (Technical Space 3)
Energy contract checking (Technical Space 4)
HRC: Multi-Quality Contracts in CPS (Multi-Technical Space)
Prof. U. Aßmann, CBSE 13
Multi-Quality Contract Specifications in CPS (Multi-TS)
Ø Bridge technology for Technical spaces required Ø Guided software development important for certification
13
System architecture
model
Safety contracts + Safety
Checker
Dynamics Contract + Dynamics language
Syntactic Technical Space Eclipse EMOF
Semantic Technical Space Safety
Semantic Technical Space Hybrid Automata
Real-time contract + Real-time analysis
Semantic Technical Space Real-Time
Prof. U. Aßmann, CBSE 14
Multi-Quality Contracts for CPS needs Several Semantic Technical Spaces Ø A CPS has components with contracts in multiple qualities with semantic Ø Every semantic has a separate technical space Ø A Technical Space is a metahierarchy based on a specific metalanguage
Static Semantic World
Ontologies
Abstract Interpretation
Model checking
Structural (syntactic) Modeling World
Structure
Hierarchies Contracts
Graphs
Static Semantic
Expert
Software Engineer
Dynamic Semantic World
Interpretation
State systems
Simulation
Dynamics Semantic
Expert
EMOF UML-CD
MOF
OWL CTL
Petri nets SOS
Nat.Semantics
Domain world
Ontologies
Domain models
Domain Expert
OWL
Prof. U. Aßmann, CBSE 15
CPS-Composition Systems Must Be Multi-Technical Space
Ø Multi-Technical-Space Development
15
Composition Systems
Composition Systems with Semantics
Multi-Technical-Space Composition Systems
Development in one technical space
Development with two technical spaces
Development with multiple technical spaces
Prof. U. Aßmann, CBSE 16
CPS Composition Systems
Classic Composition System
Multi-Quality-Controlled Composition System
Multi-Technical-Space Composition Systems for Cyber-Physical Systems
51.2 Software Ecosystems: a New Economic Use of Composition Systems
Staying Power [Cusomano, Gawer]
Prof. U. Aßmann, CBSE 19
Platforms and Ecosystems
• „Platforms, not only products“ (Buch „Staying Power“ Michael Cusumano)
• Markets need market platforms • With Vendor Lock-In
Platform
Complementors
Platform leader
Chip
Software Providers
Intel, Infineon, AMD
Prof. U. Aßmann, CBSE 20
Plattform Leadership
• Platform leadership und „platform wannabie“ • Platform can be open or closed • Platform can be for end users or for developers
App Store
App Providers
Apple, Intel, Google
AutoSAR
Module Providers
BMW, Bosch,...
Eclipse
Plugin Providers
IBM, Itemis, many
Genivi Multimedia Infotainment Platform
Component Providers
Genivi consortium
Prof. U. Aßmann, CBSE 21
Software Platforms and Software Ecosystems
Ø Software ecosystems are platforms plus complements (plugins) Ø Interdependent companies and value creation Ø [Gawer/Cusomano] describe 4 levels of software ecosystems:
• Scope of the firm • Modularity technology
• Composition system • Extensibility concept for complements (plugins) • IPR strategy • Interface openness
• Relationship with external complementors • Internal organization of the firm
Prof. U. Aßmann, CBSE 22
Software Ecosystem
Modularity technlogoy
Scope Rules
Complements App Stores
Platform Leader
Complementors
Third party management
App Services
Software Platforms and Software Ecosystems
Ø Value creation is shared between platform leader and complementor Ø Companies want to be platform leader („platform wannabie“) Ø Apple iPad, iPhone AppStores
Market Rules
Apps Apps Apps
Prof. U. Aßmann, CBSE 23
Software Ecosystem
Component Model with plugin concept Plugin Tools
Uncertified App Store Certified App Store
Platform Leader Consortium
Plugin/App Provider
Platform Services
App Services
Apps Apps Apps
Consortial Software Ecosystems a la AutoSAR, GENIVI
Ø Platforms can be owned by a consortium, a steering committee Ø www.autosar.org, www.genivi.org, Android, ..
Prof. U. Aßmann, CBSE 24
Software Ecosystems
Domain-independent platform Eclipse RCP, RAP
Platform Domain 1 Business Intelligence
Platform Domain 2 Modeling
Plugin/App Providers
Platform Domain 3 Automotive
Domain-specific platforms
Many more layers possible (platforms and ecosystems)
► Composition systems are the basis of ► Product families ► Adaptive systems ► Platforms and Ecosystems ► CPS composition systems are multi-technical space
► Who will get the CPS software ecosystem?
Prof. U. Aßmann, CBSE 34
The End
Prof. U. Aßmann, CBSE 35
Two-level Algebra
► Algebren sind einstufig ► Man braucht eine Fragment-Collaboration zur Definition einer
zweistufigen Algebra, der Definition von Ports ► Der Lambda-Kalkül ist der erste sehr primitive zweistufige Algebra ► LambdaN macht es allgemeiner ► Fragment-Collaborations noch allgemeiner
► Port-lokale Verträge vs Komponenten-lokale verträge, die die Ports verknüpfen, aber innerhalb der Komponente bleiben