SlideShare una empresa de 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]

Más contenido relacionado

Similar a An Integrated Approach for Designing and Developing Component-based Real-time Java Systems

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
 

Similar a An Integrated Approach for Designing and Developing Component-based Real-time Java Systems (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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
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
 
🐬 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
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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
 

Último (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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)
 

An Integrated Approach for Designing and Developing Component-based Real-time Java Systems

  • 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