SlideShare a Scribd company logo
1




Software Engineering of Component-
    Based S stems of S stems A
          Systems-of-Systems:
       Reference Framework

                    Frédéric Loiret (*)
                                    ()
    Romain Rouvoy - Lionel Seinturier - Philippe Merle (**)


                        * KTH, Sweden
             ** University of Lille & INRIA, France

                CBSE 2011 – Boulder, Colorado
                      June 21-23, 2011


                                                              1
2

     Plan
1. Context & Motivations
2.
2 Reference Framework
3. Framework Implementations
4.
4 Evaluation
5. Conclusion




                               2
3

    1. Context & Motivations
•   Systems-of-Systems characterized by a wide diversity in terms of
     • Domain-specific requirements & analysis
                p        q                y
         • Embedded, real-time, reconfigurable IT systems
     • Technologies
         • Domain specific middleware, communication protocols
           Domain-specific middleware
     • Deployment environments (multi-scale)
         • WSN, SOA IT

•   New forms of complexity
     • High level design models centered on domain specific abstractions close to
       High-level                            domain-specific
       the problem domain
     • Applications should be adapted in the best way with a minimum effort
     • Adaptations may impact several steps of the design lifecycle
         • Implementation, analysis, compilation, execution


                                                                                    3
4

    2. Reference Framework
                                                         Domain-Specific
•   Structured in three basic parts                       Annotations

     •   Domain-agnostic invariants used
         throughout the design lifecycle                   Versatile
                                                        Component Model



                                                 Extensible                          Domain-Specific
                                                                           Modular
                              Domain-Specific   Middleware                           Interpreters
                                                                           Toolset
                                 Middleware        Platform                          (Plugins)


•   Separation of Concerns between domain-agnostic & domain-specific features
•   Two roles
     •   End-user developer
     •   Domain-expert developer
•   Versatile Component Model used homogeneously
     •   End-user application specifications
     •   For implementing middleware platforms & toolset extension points


                                                                                                       4
5

Versatile Component Model

                        •   6 generic & core architectural concepts
                        •   specialized via annotations
                             •   Simple string-based attributes as
                                 well as arbitrary complex views of
                                 the system
                             •   Used at design time, analysis
                                 time, compile time, runtime
                        •   Simple mechanisms but allowing to
                            capture a wide range of software
                            diversity
                        •   We do not impose a specific concrete
                            syntax (considered as a variation
                            point)




                                                                 5
6

    Extensible Middleware Platform
•    Container
•    Connector
•    Third-party components




                                     6
7

Modular Toolset

•   Component based
    Component-based implementation

•   Core components implementing the domain-agnostic logic of CBSoS
     • Architecture visitors, consistency checks, optimizations, synthesis
       of implementation artifacts, implementation of the toolset’s workflow

•   Plugin components implementing the domain-specific logic
     • Via cleary-defined extension points
                y                   p
     • Implementing the interface of the extension point
     • Bundled on demand

•   Can be considered as a partially complete model interpreter


                                                                               7
8
                 Front-End        Model-Artefact-Factory
                                        Reference
                                        Metamodel           Metamodel Extension

                                                                                                                                         Artefacts
                                                                                                                                         handled




                                                                                                                                                                                                                  AD files
                                                                                                                                ADL
                                    ADL             Annotations     Binding   Component   Property     Interface   Content
                                 Dispatcher
                                                                                                                               parser    by the
                                                    An ADL Loader




                                                                                                                                                                                                                    L
     1                                                                                                                                   toolset
                                                      Another ADL Loader
                 Description                           Another ADL Loader
                                                                                                                              ADL
                                 ADL L d
                                     Loader                                                                                   Files
                                                                                                                              Fil
                   Parser
     ar oolset




                                                                                                                                                                                                                  ID PD im files
                                          IDL Loader                      IDL                    Property Loader                PDL




                                                                                                                                                                                                                    L, P L, pl.
                                                                          Files                                                 Files
 odula T




                                              Description Ch k
                                              D    i ti   Checker                                Content L d
                                                                                                 C t t Loader                    Impl
                                                                                                                                 Files




                                                                                                                                                             odel instance

                                                                                                                                                                              om n-specific annotation instances
M




                 Container-Generator
                                                            Personality Factory
     2                                                                                                      Connector Factory




                                                                                                                                                                                                   ons
                                                                                                                                                     ponent mo
                  Container Generator                     Third-party Integration
                      Dispatcher
                                                                                                           Content Generation




                                                                                                                                           eferen com
                                                                  Container check




                                                                                                                                                nce

                                                                                                                                                                             D ain-

                                                                                                                                                                                                                        entation artefacts
     3                Architecture Transformation                                              Architecture Analysis




                                                                                                                                          R
     4
                 Back-End
     5             Backend                                               Bootstrap
                                                                                 p                   Property




                                                                                                                                                                                                                  Im m
                                                                                                                                                                                                                    plem
                  Dispatcher                                                                                                 Interface
                                         Assembly
                      Finalize                                            Content
                                                                                                 Component                   Binding




                                                                                                                                                                                                                          8
9

    3. Framework Implementations
•   Distributed and Real-Time Environments
      Hulotte
                                                         Hulotte
•   Large Scale SOA Environments
    L     S l       E i       t
                                                         •   Extension of Fractal-ADL (also support Think-
      FraSCAti                                              ADL, UML)
                                                         •   Back-End C & Java

Aspects shared between both approaches
                                                         •   Runtime Component reification &
                                                             reconfiguration support can be finely configured
•   Based on the reference framework
•   Java implementation, EMF metamodels
                                                         FraSCAti
                                                         F SCA i
•   Extensions expressed as partial architectures (set
                                                         •   SCA assembly language
    of plugins)
                                                         •   Invariants on the Back-End

•   default XML-based ADL
                                                              •     Java-based
                                                                    J    b   d

     •   Special XML tags for serializing syntax-free
                                                              •     Fractal API
         annotations                                     •   Reconfiguration Capabilities
     •   Used homogeneously f
         U dh            l for                                •     Bindings
           •   Application-level & Middleware-level           •     Dynamic component instantiation
               architectures                                  •     Dynamic deployment of plugins
           •   Toolsets and Plugins architectures


                                                                                                        9
10

3. Framework Implementations




                               10
11

3. Framework Implementations




                               11
12

4. Evaluation
 Complexity comparison between core features and their extensions
 Metrics from [Edwards, Medvidovic 2008]




                                                    Hulotte




                           FraSCAti




                                                                    12
13

5. Conclusion
A reference framework defining domain-agnostic invariants used throughout
   the design lifecycle
           g       y

A strong SoC between domain-agnostic and domain-specific concepts and
   interpreters
   i t     t
    • Promotes reuse, avoids redundant implementation efforts
    • Developers focused on the problem domain

One Size Fits All solution is not realistic, but Hulotte & FraSCAti already
  cover a set of various domain-specific aspects
   • ADL abstractions are intuitively “specialization-aware”
   • Components can be used for tiny devices as well as for large scale
                                                                  large-scale
      environments



                                                                                13

More Related Content

Viewers also liked

Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectures
lseinturier
 
Spirals
SpiralsSpirals
Utopophobia
UtopophobiaUtopophobia
Big bluebutton presentation
Big bluebutton presentationBig bluebutton presentation
Big bluebutton presentation
Brian Carpenter
 
Culture of Adversarialism
Culture of AdversarialismCulture of Adversarialism
Culture of Adversarialism
Peter C. Newton-Evans
 
Big bluebutton presentation
Big bluebutton presentationBig bluebutton presentation
Big bluebutton presentation
Brian Carpenter
 
Non adversarial elections
Non adversarial electionsNon adversarial elections
Non adversarial elections
Peter C. Newton-Evans
 
Releasing Culture of Mutuality from Obscurity
Releasing Culture of Mutuality from ObscurityReleasing Culture of Mutuality from Obscurity
Releasing Culture of Mutuality from Obscurity
Peter C. Newton-Evans
 
Theories that Support Adversarialism
Theories that Support AdversarialismTheories that Support Adversarialism
Theories that Support Adversarialism
Peter C. Newton-Evans
 
Cooperation theory
Cooperation theoryCooperation theory
Cooperation theory
Peter C. Newton-Evans
 
CISSPills #3.05
CISSPills #3.05CISSPills #3.05

Viewers also liked (11)

Reconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented ArchitecturesReconfigurable Service-Oriented Architectures
Reconfigurable Service-Oriented Architectures
 
Spirals
SpiralsSpirals
Spirals
 
Utopophobia
UtopophobiaUtopophobia
Utopophobia
 
Big bluebutton presentation
Big bluebutton presentationBig bluebutton presentation
Big bluebutton presentation
 
Culture of Adversarialism
Culture of AdversarialismCulture of Adversarialism
Culture of Adversarialism
 
Big bluebutton presentation
Big bluebutton presentationBig bluebutton presentation
Big bluebutton presentation
 
Non adversarial elections
Non adversarial electionsNon adversarial elections
Non adversarial elections
 
Releasing Culture of Mutuality from Obscurity
Releasing Culture of Mutuality from ObscurityReleasing Culture of Mutuality from Obscurity
Releasing Culture of Mutuality from Obscurity
 
Theories that Support Adversarialism
Theories that Support AdversarialismTheories that Support Adversarialism
Theories that Support Adversarialism
 
Cooperation theory
Cooperation theoryCooperation theory
Cooperation theory
 
CISSPills #3.05
CISSPills #3.05CISSPills #3.05
CISSPills #3.05
 

Similar to Software Engineering of Component-Based Systems-of-Systems: A Reference Framework

Open Group Conference 2011 - The Canonical Data Zone
Open Group Conference 2011 - The Canonical Data ZoneOpen Group Conference 2011 - The Canonical Data Zone
Open Group Conference 2011 - The Canonical Data Zone
Gary Farrow
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component models
Ivica Crnkovic
 
OpenSAF Symposium_Architecture_and_Roadmap_Update9.19.11
OpenSAF Symposium_Architecture_and_Roadmap_Update9.19.11OpenSAF Symposium_Architecture_and_Roadmap_Update9.19.11
OpenSAF Symposium_Architecture_and_Roadmap_Update9.19.11
OpenSAF Foundation
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
Ivano Malavolta
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
Filip Krikava
 
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Munish Gupta
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of things
Pankesh Patel
 
Foresight
ForesightForesight
Foresight
Randy Secrist
 
A Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsA Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere tools
Prolifics
 
Practical OSGi Subsystems
Practical OSGi SubsystemsPractical OSGi Subsystems
Practical OSGi Subsystems
glynnormington
 
Uml2
Uml2Uml2
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
Roopa Nadkarni
 
VA Smalltalk Update
VA Smalltalk UpdateVA Smalltalk Update
VA Smalltalk Update
ESUG
 
German in 7 Million Shared Objects
German in 7 Million  Shared ObjectsGerman in 7 Million  Shared Objects
German in 7 Million Shared Objects
ESUG
 
How to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMHow to Build Composite Applications with PRISM
How to Build Composite Applications with PRISM
DataLeader.io
 
Unit4
Unit4Unit4
Unit4
anuragmbst
 
Object orientation & it maturity
Object orientation & it maturityObject orientation & it maturity
Object orientation & it maturity
subhaprasad79
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component Model
OpenTravel Alliance
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
Paulo Gandra de Sousa
 
Continuous Delivery using Release Management Automation
Continuous Delivery using Release Management AutomationContinuous Delivery using Release Management Automation
Continuous Delivery using Release Management Automation
Premkumar Veerakumar
 

Similar to Software Engineering of Component-Based Systems-of-Systems: A Reference Framework (20)

Open Group Conference 2011 - The Canonical Data Zone
Open Group Conference 2011 - The Canonical Data ZoneOpen Group Conference 2011 - The Canonical Data Zone
Open Group Conference 2011 - The Canonical Data Zone
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component models
 
OpenSAF Symposium_Architecture_and_Roadmap_Update9.19.11
OpenSAF Symposium_Architecture_and_Roadmap_Update9.19.11OpenSAF Symposium_Architecture_and_Roadmap_Update9.19.11
OpenSAF Symposium_Architecture_and_Roadmap_Update9.19.11
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
 
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
 
Application development for the internet of things
Application development for the internet of thingsApplication development for the internet of things
Application development for the internet of things
 
Foresight
ForesightForesight
Foresight
 
A Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsA Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere tools
 
Practical OSGi Subsystems
Practical OSGi SubsystemsPractical OSGi Subsystems
Practical OSGi Subsystems
 
Uml2
Uml2Uml2
Uml2
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
 
VA Smalltalk Update
VA Smalltalk UpdateVA Smalltalk Update
VA Smalltalk Update
 
German in 7 Million Shared Objects
German in 7 Million  Shared ObjectsGerman in 7 Million  Shared Objects
German in 7 Million Shared Objects
 
How to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMHow to Build Composite Applications with PRISM
How to Build Composite Applications with PRISM
 
Unit4
Unit4Unit4
Unit4
 
Object orientation & it maturity
Object orientation & it maturityObject orientation & it maturity
Object orientation & it maturity
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component Model
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
 
Continuous Delivery using Release Management Automation
Continuous Delivery using Release Management AutomationContinuous Delivery using Release Management Automation
Continuous Delivery using Release Management Automation
 

Recently uploaded

Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
flufftailshop
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 

Recently uploaded (20)

Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfNunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 

Software Engineering of Component-Based Systems-of-Systems: A Reference Framework

  • 1. 1 Software Engineering of Component- Based S stems of S stems A Systems-of-Systems: Reference Framework Frédéric Loiret (*) () Romain Rouvoy - Lionel Seinturier - Philippe Merle (**) * KTH, Sweden ** University of Lille & INRIA, France CBSE 2011 – Boulder, Colorado June 21-23, 2011 1
  • 2. 2 Plan 1. Context & Motivations 2. 2 Reference Framework 3. Framework Implementations 4. 4 Evaluation 5. Conclusion 2
  • 3. 3 1. Context & Motivations • Systems-of-Systems characterized by a wide diversity in terms of • Domain-specific requirements & analysis p q y • Embedded, real-time, reconfigurable IT systems • Technologies • Domain specific middleware, communication protocols Domain-specific middleware • Deployment environments (multi-scale) • WSN, SOA IT • New forms of complexity • High level design models centered on domain specific abstractions close to High-level domain-specific the problem domain • Applications should be adapted in the best way with a minimum effort • Adaptations may impact several steps of the design lifecycle • Implementation, analysis, compilation, execution 3
  • 4. 4 2. Reference Framework Domain-Specific • Structured in three basic parts Annotations • Domain-agnostic invariants used throughout the design lifecycle Versatile Component Model Extensible Domain-Specific Modular Domain-Specific Middleware Interpreters Toolset Middleware Platform (Plugins) • Separation of Concerns between domain-agnostic & domain-specific features • Two roles • End-user developer • Domain-expert developer • Versatile Component Model used homogeneously • End-user application specifications • For implementing middleware platforms & toolset extension points 4
  • 5. 5 Versatile Component Model • 6 generic & core architectural concepts • specialized via annotations • Simple string-based attributes as well as arbitrary complex views of the system • Used at design time, analysis time, compile time, runtime • Simple mechanisms but allowing to capture a wide range of software diversity • We do not impose a specific concrete syntax (considered as a variation point) 5
  • 6. 6 Extensible Middleware Platform • Container • Connector • Third-party components 6
  • 7. 7 Modular Toolset • Component based Component-based implementation • Core components implementing the domain-agnostic logic of CBSoS • Architecture visitors, consistency checks, optimizations, synthesis of implementation artifacts, implementation of the toolset’s workflow • Plugin components implementing the domain-specific logic • Via cleary-defined extension points y p • Implementing the interface of the extension point • Bundled on demand • Can be considered as a partially complete model interpreter 7
  • 8. 8 Front-End Model-Artefact-Factory Reference Metamodel Metamodel Extension Artefacts handled AD files ADL ADL Annotations Binding Component Property Interface Content Dispatcher parser by the An ADL Loader L 1 toolset Another ADL Loader Description Another ADL Loader ADL ADL L d Loader Files Fil Parser ar oolset ID PD im files IDL Loader IDL Property Loader PDL L, P L, pl. Files Files odula T Description Ch k D i ti Checker Content L d C t t Loader Impl Files odel instance om n-specific annotation instances M Container-Generator Personality Factory 2 Connector Factory ons ponent mo Container Generator Third-party Integration Dispatcher Content Generation eferen com Container check nce D ain- entation artefacts 3 Architecture Transformation Architecture Analysis R 4 Back-End 5 Backend Bootstrap p Property Im m plem Dispatcher Interface Assembly Finalize Content Component Binding 8
  • 9. 9 3. Framework Implementations • Distributed and Real-Time Environments  Hulotte Hulotte • Large Scale SOA Environments L S l E i t • Extension of Fractal-ADL (also support Think-  FraSCAti ADL, UML) • Back-End C & Java Aspects shared between both approaches • Runtime Component reification & reconfiguration support can be finely configured • Based on the reference framework • Java implementation, EMF metamodels FraSCAti F SCA i • Extensions expressed as partial architectures (set • SCA assembly language of plugins) • Invariants on the Back-End • default XML-based ADL • Java-based J b d • Special XML tags for serializing syntax-free • Fractal API annotations • Reconfiguration Capabilities • Used homogeneously f U dh l for • Bindings • Application-level & Middleware-level • Dynamic component instantiation architectures • Dynamic deployment of plugins • Toolsets and Plugins architectures 9
  • 12. 12 4. Evaluation Complexity comparison between core features and their extensions Metrics from [Edwards, Medvidovic 2008] Hulotte FraSCAti 12
  • 13. 13 5. Conclusion A reference framework defining domain-agnostic invariants used throughout the design lifecycle g y A strong SoC between domain-agnostic and domain-specific concepts and interpreters i t t • Promotes reuse, avoids redundant implementation efforts • Developers focused on the problem domain One Size Fits All solution is not realistic, but Hulotte & FraSCAti already cover a set of various domain-specific aspects • ADL abstractions are intuitively “specialization-aware” • Components can be used for tiny devices as well as for large scale large-scale environments 13