SlideShare a Scribd company logo
1 of 13
Download to read offline
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 (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 ZoneGary Farrow
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component modelsIvica 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.11OpenSAF 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 ModelsFilip 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 - CloudConnect2012Munish 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 thingsPankesh Patel
 
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 toolsProlifics
 
Practical OSGi Subsystems
Practical OSGi SubsystemsPractical OSGi Subsystems
Practical OSGi Subsystemsglynnormington
 
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 PatilRoopa Nadkarni
 
VA Smalltalk Update
VA Smalltalk UpdateVA Smalltalk Update
VA Smalltalk UpdateESUG
 
German in 7 Million Shared Objects
German in 7 Million  Shared ObjectsGerman in 7 Million  Shared Objects
German in 7 Million Shared ObjectsESUG
 
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 PRISMDataLeader.io
 
Object orientation & it maturity
Object orientation & it maturityObject orientation & it maturity
Object orientation & it maturitysubhaprasad79
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel Alliance
 
Continuous Delivery using Release Management Automation
Continuous Delivery using Release Management AutomationContinuous Delivery using Release Management Automation
Continuous Delivery using Release Management AutomationPremkumar 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

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Recently uploaded (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

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