SlideShare uma empresa Scribd logo
1 de 51
SOLEIL : An Integrated Approach for Designing and Developing Component-based Real-time Java Systems   AlešPlšek INRIA Lille, team ADAM Université de Lille, France Supervisors:  Prof.LionelSeinturier Dr.PhilippeMerle 14.9.2009 Lille, France
Introduction Context Domains ,[object Object]
Real-time Java Programming  (RTSJ)Our Approach ,[object Object]
High-Level AbstractionsThesis Statement.  An effective development process of RTSJ-compliant systems must consider RTSJ concerns at early stages of the system design and must provide their high level abstractions as the only way to avoid tedious and error-prone process when implementing them. 2
Introduction Outline Introduction State of the Art Proposal Validation Conclusion 3
Introduction Outline Introduction State of the Art Proposal Validation Conclusion 4
Why Real-Time? Introduction Real-time Programming A little interest in Real-time from the mainstream software engineering community Deadlines, interruption handling, too low-level… Real-Time Systems Trends Large-scale, heterogeneous systems Dynamically highly adaptable systems Systems composed from hard-, soft-,  	and non-real-time units Many software engineering techniques can be applied in the real-time domain Component oriented programming, Generative Programming, Model Driven Engineering, Formal Verification, etc. 5
Successful Stories Introduction Shipboard computing US navy Zumwalt-class Destroyer 5mio lines of Java code Red Hat Linux, RT GC the key part  Avionics 787 Dreamliner saves 900kgs       of weight A380 saves a half of the processing units  Financial Information Systems 100 milliseconds deadlines Thomson Reuters Market Data System (powered by SUN RTS Java) 6
Why Java? Introduction Java Easy to use, familiar Popular programming language Libraries Portable across platforms But – non-predictable RTSJ – Real-time Specification for Java Making Java predictable Thread and Memory model 7
RTSJ Illustration Example Introduction SweetFactory A helloworld RTSJ example developed by IBM [GHMS07] Output statistics control, reporting anomalies and wrong values Real-time and non-real-time concerns coexist in the system RTSJ Implementation How to express RTSJ? RTSJ concerns mixed with system architecture 8
Introduction RTSJ Thread Model  2 New Types of Threads ,[object Object]
NoheapRealtime threads
Cannot be preempted by Garbage Collector
No heap memory access9 Thread Management Issues ,[object Object]
Bootstrapping threads
Cross-ThreadCommunication,[object Object]
Objects are collected when the application terminates (live forever…)
Memory Scope
Size is fixed and pre-declared
Lifetime of objects in the Scope10 Memory Management Issues ,[object Object]
Communication Rules
RTSJ patterns,[object Object]
Non-intuitive rules and restrictions
Functional code tangled by the RTSJ code
Introducing a new programming style11
Remedy? Component-based Software Engineering (CBSE) ,[object Object]
Separation of Concerns
Runtime Infrastructure
Component Container
Generative programming
Container Implementation automatically generated
Adaptation SupportComponent Framework for Real-time Java  ,[object Object],Introduction 12
State of the Art Outline Introduction State of the Art Proposal Validation Conclusion 13
State of the Art Component Frameworks for Real-time Systems ,[object Object],Component Frameworks for Real-time Java Systems ,[object Object],State of the Art 14
Component Frameworks for Real-time Systems State of the Art Separation of Real-time and Functional Concerns AADL [FLV06], AdaCCM [PMPL08] Development Methodology AADL [FLV06], AdaCCM [PMPL08] Component-Oriented Containers SOFA HI [MWP+08] Active/Passive Components Fractal [BCL+06] Formalization Support Fractal in Alloy [MS08] Towards a specific programming language AdaCCM [PMPL08] Matured component models employed 15
Component Frameworks for RTSJ State of the Art CBSE Criterions Weak Component Models Only event-oriented Compadres [HGCK07], Golden Gate [DBC+04]  Matured Model Etienne et al. [ECB06] Inspired by Fractal Development Methodology Compadres [HGCK07] Features not supported Component-Oriented Containers Formalization of the model 16
Component Frameworks for RTSJ State of the Art RTSJ criterions Memory model “one memory area per component” No other granularity or flexibility Compadres [HGCK07] No support for heap memory Etienne et al. [ECB06] Thread model Active/Passive components Etienne et al. [ECB06] No abstractions of RTSJ complexities provided Development process not facilitated RTSJ concepts not separated, this hinders  reuse of components No support for cross-memory and cross-thread communication 17
Proposal Outline Introduction State of the Art Proposal Validation Conclusion 18
Our Goal Our Philosophy RTSJ considerably influences the architecture of the system, therefore has to be considered earlier than during the implementation Ultimate Goal: Component Framework for RTSJ Isolate RTSJ–related properties in clearly identified entities Manipulate RTSJ-concerns during the development lifecycle Separation of Concerns State of the Art 19
Proposal SOLEIL  Design Framework HULOTTE Implementation Framework SOLEILMetamodel Contributions – Big Picture Domain Component RTSJ abstractions 20 ,[object Object]
Runtime Infrastructure Generation
Methodology
Metamodel Formalization
Validation Support,[object Object]
SOLEILMetamodel Proposal 22 Metamodel ,[object Object]
Hierarchical model
Component sharingNew concepts: ,[object Object]
Active and Passive Components
Implement functional services
Domain Component
Represents non-functional services,[object Object]

Mais conteúdo relacionado

Semelhante a Soleil: A Component Framework for RTSJ

A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Toolsghodgkinson
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference ArchitectureJohan Eltes
 
Real-time Programming in Java
Real-time Programming in JavaReal-time Programming in Java
Real-time Programming in JavaAleš Plšek
 
Sdlc cource in_mumbai
Sdlc cource in_mumbaiSdlc cource in_mumbai
Sdlc cource in_mumbaivibrantuser
 
Performance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsPerformance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsSpace Codesign
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David AmellerDavid Ameller
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...ghodgkinson
 
200923 01en
200923 01en200923 01en
200923 01enopenrtm
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayDivya Watson
 
Il product development - 20 01 2011
Il  product development - 20 01 2011Il  product development - 20 01 2011
Il product development - 20 01 2011nakham
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksSunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworksSunil Patil
 
Micro Front Ends for Micro Services using Oracle JET
Micro Front Ends for Micro Services using Oracle JETMicro Front Ends for Micro Services using Oracle JET
Micro Front Ends for Micro Services using Oracle JETVijay Nair
 
JAVA J2EE LEAD coming out of CITI
JAVA J2EE LEAD coming out of CITIJAVA J2EE LEAD coming out of CITI
JAVA J2EE LEAD coming out of CITIvravi123
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models MohsinAli773
 
Legacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the EnterpriseLegacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the EnterpriseAnatole Tresch
 

Semelhante a Soleil: A Component Framework for RTSJ (20)

A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference Architecture
 
Real-time Programming in Java
Real-time Programming in JavaReal-time Programming in Java
Real-time Programming in Java
 
Sdlc cource in_mumbai
Sdlc cource in_mumbaiSdlc cource in_mumbai
Sdlc cource in_mumbai
 
Performance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsPerformance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL Models
 
.net Framework
.net Framework.net Framework
.net Framework
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
200923 01en
200923 01en200923 01en
200923 01en
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
 
Il product development - 20 01 2011
Il  product development - 20 01 2011Il  product development - 20 01 2011
Il product development - 20 01 2011
 
Microservices.pdf
Microservices.pdfMicroservices.pdf
Microservices.pdf
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Micro Front Ends for Micro Services using Oracle JET
Micro Front Ends for Micro Services using Oracle JETMicro Front Ends for Micro Services using Oracle JET
Micro Front Ends for Micro Services using Oracle JET
 
JAVA J2EE LEAD coming out of CITI
JAVA J2EE LEAD coming out of CITIJAVA J2EE LEAD coming out of CITI
JAVA J2EE LEAD coming out of CITI
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
Legacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the EnterpriseLegacy Renewal of Central Framework in the Enterprise
Legacy Renewal of Central Framework in the Enterprise
 

Último

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Último (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Soleil: A Component Framework for RTSJ

  • 1. SOLEIL : An Integrated Approach for Designing and Developing Component-based Real-time Java Systems AlešPlšek INRIA Lille, team ADAM Université de Lille, France Supervisors: Prof.LionelSeinturier Dr.PhilippeMerle 14.9.2009 Lille, France
  • 2.
  • 3.
  • 4. High-Level AbstractionsThesis Statement. An effective development process of RTSJ-compliant systems must consider RTSJ concerns at early stages of the system design and must provide their high level abstractions as the only way to avoid tedious and error-prone process when implementing them. 2
  • 5. Introduction Outline Introduction State of the Art Proposal Validation Conclusion 3
  • 6. Introduction Outline Introduction State of the Art Proposal Validation Conclusion 4
  • 7. Why Real-Time? Introduction Real-time Programming A little interest in Real-time from the mainstream software engineering community Deadlines, interruption handling, too low-level… Real-Time Systems Trends Large-scale, heterogeneous systems Dynamically highly adaptable systems Systems composed from hard-, soft-, and non-real-time units Many software engineering techniques can be applied in the real-time domain Component oriented programming, Generative Programming, Model Driven Engineering, Formal Verification, etc. 5
  • 8. Successful Stories Introduction Shipboard computing US navy Zumwalt-class Destroyer 5mio lines of Java code Red Hat Linux, RT GC the key part Avionics 787 Dreamliner saves 900kgs of weight A380 saves a half of the processing units Financial Information Systems 100 milliseconds deadlines Thomson Reuters Market Data System (powered by SUN RTS Java) 6
  • 9. Why Java? Introduction Java Easy to use, familiar Popular programming language Libraries Portable across platforms But – non-predictable RTSJ – Real-time Specification for Java Making Java predictable Thread and Memory model 7
  • 10. RTSJ Illustration Example Introduction SweetFactory A helloworld RTSJ example developed by IBM [GHMS07] Output statistics control, reporting anomalies and wrong values Real-time and non-real-time concerns coexist in the system RTSJ Implementation How to express RTSJ? RTSJ concerns mixed with system architecture 8
  • 11.
  • 13. Cannot be preempted by Garbage Collector
  • 14.
  • 16.
  • 17. Objects are collected when the application terminates (live forever…)
  • 19. Size is fixed and pre-declared
  • 20.
  • 22.
  • 23. Non-intuitive rules and restrictions
  • 24. Functional code tangled by the RTSJ code
  • 25. Introducing a new programming style11
  • 26.
  • 32.
  • 33. State of the Art Outline Introduction State of the Art Proposal Validation Conclusion 13
  • 34.
  • 35. Component Frameworks for Real-time Systems State of the Art Separation of Real-time and Functional Concerns AADL [FLV06], AdaCCM [PMPL08] Development Methodology AADL [FLV06], AdaCCM [PMPL08] Component-Oriented Containers SOFA HI [MWP+08] Active/Passive Components Fractal [BCL+06] Formalization Support Fractal in Alloy [MS08] Towards a specific programming language AdaCCM [PMPL08] Matured component models employed 15
  • 36. Component Frameworks for RTSJ State of the Art CBSE Criterions Weak Component Models Only event-oriented Compadres [HGCK07], Golden Gate [DBC+04] Matured Model Etienne et al. [ECB06] Inspired by Fractal Development Methodology Compadres [HGCK07] Features not supported Component-Oriented Containers Formalization of the model 16
  • 37. Component Frameworks for RTSJ State of the Art RTSJ criterions Memory model “one memory area per component” No other granularity or flexibility Compadres [HGCK07] No support for heap memory Etienne et al. [ECB06] Thread model Active/Passive components Etienne et al. [ECB06] No abstractions of RTSJ complexities provided Development process not facilitated RTSJ concepts not separated, this hinders reuse of components No support for cross-memory and cross-thread communication 17
  • 38. Proposal Outline Introduction State of the Art Proposal Validation Conclusion 18
  • 39. Our Goal Our Philosophy RTSJ considerably influences the architecture of the system, therefore has to be considered earlier than during the implementation Ultimate Goal: Component Framework for RTSJ Isolate RTSJ–related properties in clearly identified entities Manipulate RTSJ-concerns during the development lifecycle Separation of Concerns State of the Art 19
  • 40.
  • 44.
  • 45.
  • 47.
  • 48. Active and Passive Components
  • 51.
  • 52. Abstracting the complexities of real-time development
  • 53. Evaluate RTSJ compatibility earlier than “after the implementation”23
  • 54.
  • 55.
  • 56.
  • 57. Methodology how to gradually construct and merge design components with functional architecture
  • 58. Defining and distinguishing between real-time and non-real-time parts of the system
  • 59. Designing RTSJ concerns independently from the rest of the system26
  • 60.
  • 61. Alloy specification languageabstractsigComponent { interface: setInterface superComponent : setComposite } sigComposite in Component { subComponents : setComponent } sigPrimitive inComponent { } sig FunctionalComponent { } fact { all f : FunctionalComponent| f in Primitive or f in Composite and not f in (Primitive and Composite) } 27
  • 62. Proposal fact EveryCompHasMemory { all f : Component | one m: MemoryArea| f inm.^subComponent } Architecture Validation Process Composition Rules Validation Consistence with RTSJ RTSJ communication Patterns Formalized in the model The process facilitates Incremental design Reasoning about the system before starting with implementation Using the Formalized Metamodel 28
  • 63. Proposal Outline Introduction State of the Art Proposal RTSJ-specific Metamodel SOLEIL Design Framework HULOTTE Implementation Framework Validation Conclusion 29
  • 64. HULOTTE Implementation Framework Proposal Motivation Keep components also at the implementation layer Distinguish functional and domain components Implementation of Domain Components Component-Oriented Containers Hidden Intercepting and control mechanisms to manage RT concerns Component Refinement 30
  • 65. HULOTTEMetamodel Proposal Metamodel Specifics Application and Container Level Fractal Component model concepts Container level Implements Domain Components Container architectures Component Refinement Process 31 Application Level Container Level Container Level Application Level Container Level
  • 66. Component Refinement Example Proposal 32 Application Level Container Level
  • 67. Component Refinement Example cont. Proposal 33 Application Level Container Level
  • 68.
  • 69. Hulotte internal is implemented using CBSE
  • 70.
  • 72.
  • 73. Validation Outline Introduction State of the Art Proposal RTSJ-specific Metamodel SOLEIL Design Framework HULOTTE Implementation Framework Validation Conclusion 36
  • 74.
  • 77. Ambient and Distributed Programming in Hulotte
  • 78. Goals
  • 82.
  • 85. OO - IBM’s object-oriented
  • 86. SOLEIL - SOLEIL implemented and optimized implementations38
  • 87. Validation Performance Benchmarks Measuring overhead of the framework Different levels of optimization Memory Footprint Memory Footprint 5% Execution Time Distribution 39
  • 88. Validation Real-time Collision Detector Real-Time Collision Detector Algorithm computing collision courses of aircraft in real-time A software engineering challenge A well-known Real-time Java benchmark [PFHV04, ABG+08] Goals of the Case Study Evaluation on a large real-life application Comparison with the state-of-the-art approaches Componentization of the Application 40
  • 89. Validation Realtime Collision Detector RCD Architecture Results RTSJ concerns separated from the functional logic of the system Simplified design and development No trade-offs caused by RTSJ Separation of concerns 41 Refined Architecture
  • 90. Validation Ambient and Distributed Programming Goals Evaluate SOLEIL&HULOTTE in a more general perspective Face challenges from different domains Targeted Domains Distributed Programming To provide a transparent implementation of a distributed system Ambient Programming To provide implementation of ambient services 42
  • 91. Validation Distributed Programming A new domain component DistributedNode Execution infrastructure Distribution support implemented Transparent implementation for the functional components Using RTZenmiddleware [RZP+05] RTZen Stubs/skeletons 43
  • 92. Outline Introduction State of the Art Proposal RTSJ-specific Metamodel SOLEIL framework HULOTTE framework Validation Conclusion and Perspectives 44
  • 93.
  • 96. Automatic instantiation of runtime infrastructures
  • 100. Conclusion Selected Publications International Conferences FrédéricLoiret, Michal Malohlava, AlešPlšek, Philippe Merle, Lionel Seinturier. Constructing Domain-Specific Component Frameworks through Architecture Refinement. SEAA 2009 AlešPlšek, FrédéricLoiret, Philippe Merle, Lionel Seinturier. A Component Framework for Java-based Real-time Embedded Systems, Middleware 2008 AlešPlšek, JiříAdámek. Carmen: Software Component Model Checker. QoSA 2008 AlešPlšek, Philippe Merle, Lionel Seinturier. A Real-Time Java Component Model, ISORC 2008 International Workshops Tomas Kalibera, Jeff Hagelberg, FilipPizlo, Ales Plsek, Ben Titzer, Jan VitekCDx: A Family of Real-time Java Benchmarks. JTRES 2009 Michal Malohlava, AlešPlšek, FrédéricLoiret, Philippe Merle and Lionel Seinturier. Introducing Distribution into a RTSJ-based Component Framework, JRWRTC 2008 AlešPlšek, Philippe Merle, Lionel Seinturier. Ambient-Oriented Programming in Fractal. ECOOP Workshop 2007 46
  • 101. Conclusion Contributions cont. Developed Software SOLEILandHULOTTEFrameworks Alloy: 400 signatures, facts, and predicates in 4.5KLoC 55kLoC Available at http://adam.lille.inria.fr/soleil/ Real-time Collision Detector 30kLoC Available at www.ovj.org/cdx Works influenced by the Dissertation Annotation Framework for Domain-Specific Component Applications [NL09] Homogenous validation of architectural and implementation concepts towards OCL rules Domain Components expressed as annotations 47
  • 102. Conclusion Future Work Short-Term Perspective Taxonomy of Domain Components Resolve conflicts and dependencies between different Domain Components Long-Term Perspective Run-time Adaptation of RTSJ-based System Reconfiguration support specified by domain components Reconfiguration in the context of RTSJ Model-Checking of RTSJ-based Components 48