SlideShare a Scribd company logo
1 of 39
Download to read offline
Logical Time @ work: the                   project

        Julien DeAntoni, Frédéric Mallet
                I3S/UNS/INRIA

       Frédéric Thomas, Gonzague Reydet
                    Obeo

            Jean-Philippe Babau
                   UBO
                  and more...


                                FSE 2010        1
Logical Time @ work: the                   project

        Julien DeAntoni, Frédéric Mallet
                I3S/UNS/INRIA

       Frédéric Thomas, Gonzague Reydet
                    Obeo

            Jean-Philippe Babau
                   UBO
                  and more...


                                FSE 2010        2
Logical Time...
•   focuses on causal relations between events
•   Is independent of the abstraction level
•   Is multi-clock (polychronous)
•   Provides a partial order between events

        After 23 starts of the computer, a disk check is done

        The computation duration is 156 processor ticks




                                                                3
Logical Time...
•   focuses on causal relations between events
•   Is independent of the abstraction level
•   Is multi-clock (polychronous)
•   Provides a partial order between events

        After 23 starts of the computer, a disk check is done

        The computation duration is 156 processor ticks


                                 In modern laptop, tick is logical since the
                               processor speed depend on the battery level



                                                                               4
Logical Time...
•   focuses on causal relations between events
•   Is independent of the abstraction level
•   Is multi-clock (polychronous)
•   Provides a partial order between events




                                  LOGICAL TIME
                                  Friedemann Mattern
                                  Darmstadt University of Technology




                                                                       5
Physical Time...
• Can be seen as a special case of logical time


                   After 5 secondes, it stops...
                                ≅
          After 5 events of the “second” clock, it stops




                                                           6
Logical Time @ work: the                    project

        Julien DeAntoni, Frédéric Mallet
                I3S/UNS/INRIA

         Frédéric Thomas, Étienne Juliot
                     Obeo

            Jean-Philippe Babau
                   UBO
                   and more...


                                 FSE 2010        7
Retro-ingénierie de Traces d'analyse de
              SIMulation
et d'EXécution de systèmes temps-réel




                                          8
Context : help the designer




     Designer        Code         Real time
                                  Multi-task
                                  execution




                Analysis of the
                  execution
                                               9
                                                   9
Context: execution traces



              Designer             Code            Real time
                                                   Multi-task
                                                   execution




JumpShot , Vampir,
Linux Tool Eclipse Project   Exection analysis   Temporal execution traces
                               and reports

                                                            OTF, VCD
                                                                 10
                                                                       10
observations


Designer   Model             Code         Real time
                                          Multi-task
                                          execution
               SDL,
               AADL ...



                           Execution     Temporal execution
                          analysis and        traces
                             report

                                                       11
                                                            11
RT-Simex objectives


Designer        Models            Code     Real time
                                           Multi-task
                                           execution
UML MARTE




   Eclipse
             Execution analysis
                                         Temporal execution
             and report AT THE                traces
               MODEL LEVEL

                                                        12
                                                              12
Processus RT-Simex




                     13
                          13
Logical Time @ work: the                   project


        Julien DeAntoni, Frédéric Mallet
                I3S/UNS/INRIA

       Frédéric Thomas, Gonzague Reydet
                    Obeo

            Jean-Philippe Babau
                   UBO
                  and more...


                                FSE 2010       14
MARTE TIME MODEL
• SubProfile of the MARTE UML profile
    standardized by the OMG (Object
    Management Group)
     – Reviewed and accepted by the community
     – Implemented in Papyrus, magic draw, etc
     – Under Implementation in other UML tools


• A Domain Model integrated with eclipse and
    usable with Domain Specific Language




                                                 15
                                                      15
MARTE TIME MODEL
• The main concept is the Clock.
    – It is a way to specify a, possibly infinite,
         ordered set of instants
    – It can be logical or chronometric, discrete or
         dense
    – Its type is a ClockType

                           itsResolution = 1


                                            = TAI
            = discrete
                                     tick




                                                    16
                                                         16
MARTE TIME MODEL
                                   1..*




             itsResolution = 1


                           = TAI

   Simplified view of the MARTE Time meta-Model




                                                  17
                                                       17
MARTE TIME MODEL
 • Sketchy example of its use

               Producer          Consumer
                            c1
User model




                                            18
                                                 18
MARTE TIME MODEL
 • Sketchy example of its use

               Producer                           Consumer
                                      c1
User model
                          sendEvent    receiveEvent




                                                             19
                                                                  19
MARTE TIME MODEL
 • Sketchy example of its use

                      Producer                               Consumer
                                               c1
User model
                                   sendEvent    receiveEvent

                                   on                     on
              c1.sendEvent: LogicalClock               c1.receiveEvent: LogicalClock

MARTE model

               LogicalClock : ClockType
               IsLogical : True
               Nature : discrete           The ordered set of sendEvent
                                           is bijective with the ordered set
                                            of instants of c1.sendEvent


                                                                                       20
                                                                                            20
CCSL
• Clock Constraint Specification Language
    – Firstly introduced in the MARTE TIME
        profile
    – Declarative model-based language
        integrated with Eclipse
    – Formal semantics (both denotational
        and operational)
    – Tooled (TimeSquare)

→ Explicitly represents / specifies relations
 between clocks


                                                21
                                                     21
CCSL       (Clock Constraint Specification Language)


 – Relations: dependencies between clocks
      •   Coincidence     →   =
      •   Exclusion       →   #
      •   Precedence      →   <
      •   Alternance      →   ~


 – Expressions: a mean to create new clocks
    from others
      •   Delay           → delayedFor X on aClock
      •   Filtering       → aClock filteredBy aBinaryWord
      •   Union           → aClock union anotherClock
      •   Intersection    → aClock inter anotherClock
      •   Periodicity →   periodicOn aClock period X offset Y
      •   …
                                                                22
                                                                     22
CCSL       (Clock Constraint Specification Language)


 – Relations: dependencies between clocks
      •   Coincidence     →   =
      •   Exclusion       →   #
      •   Precedence      →   <
      •   Alternance      →   ~
 – Expressions: a mean to create new clocks
    from others
      •   Delay           → delayedFor X on aClock
      •   Filtering       → aClock filteredBy aBinaryWord
      •   Union           → aClock union anotherClock
      •   Intersection    → aClock inter anotherClock
      •   Periodicity →   periodicOn aClock period X offset Y

 – Libraries: user-defined relations and
     expressions
      • …                                                       23
                                                                     23
CCSL
 • Sketchy example of its use

                      Producer                               Consumer
                                               c1
User model
                                   sendEvent    receiveEvent

                                   on                     on
              c1.sendEvent: LogicalClock               c1.receiveEvent: LogicalClock

MARTE model

               LogicalClock : ClockType
               IsLogical : True
               Nature : discrete           The ordered set of sendEvent
                                           is bijective with the ordered set
                                            of instants of c1.sendEvent


                                                                                       24
                                                                                            24
CCSL
 • Sketchy example of its use

                      Producer                                     Consumer
                                                  c1
User model
                                   sendEvent       receiveEvent

                                   on                             on
              c1.sendEvent: LogicalClock                     c1.receiveEvent: LogicalClock

MARTE model

               LogicalClock : ClockType
               IsLogical : True
                                           left
               Nature : discrete                              right
                                                  R1 : Precedes




                                                                                             25
                                                                                                  25
Graphical formal annotation over a UML model
for RT-Simex...




                                           26
                                                26
Simulate and animate the UML/MARTE model
                           in TimeSquare
(http://www-sop.inria.fr/aoste/dev/time_square/)




                                           27
                                                27
Processus RT-Simex




                     28
                          28
Processus RT-Simex


   CCSL
 specification




                     29
                          29
Processus RT-Simex


        CCSL
    specification



For a specific platform, this is a total order...




                                                    30
                                                         30
Processus RT-Simex


        CCSL
    specification



For a specific platform, this is a total order...
   For two communicating platforms,
       the traces are multi-clocks...




                                                    31
                                                         31
Processus RT-Simex


    CCSL
 specification



If simulated it replays the execution...



                                             CCSL
                                           specification
                                                           32
                                                                32
Processus RT-Simex


     CCSL
  specification



 If simulated it replays the execution...
So you can have a timing diagram,
 animate the model and so on...
                                              CCSL
                                            specification
                                                            33
                                                                 33
A specification and the actual execution




                                           34
                                                34
Processus RT-Simex


   CCSL
 specification




                   CCSL
                 specification
                                 35
                                      35
Processus RT-Simex


  CCSL
 assertions




                CCSL
              specification
                              36
                                   36
Processus RT-Simex


   CCSL
  assertions     You can simulation both together to
   CCSL          see if a violation occurs
 specification




                                              37
                                                   37
Processus RT-Simex


                You can simulation both together to
                see if a violation occurs
  CCSL                     Violation of “Clk3b isSubClockOf clk3”

 assertions

  CCSL
specification



                                                       38
                                                             38
Conclusion




             39
                  39

More Related Content

Similar to FSE_RTSimex

1 Vampir Overview
1 Vampir Overview1 Vampir Overview
1 Vampir OverviewPTIHPA
 
Simple Drools Examples
Simple Drools ExamplesSimple Drools Examples
Simple Drools ExamplesMatteo Mortari
 
360|Flex Greenthreading In Flex
360|Flex Greenthreading In Flex360|Flex Greenthreading In Flex
360|Flex Greenthreading In FlexHuyen Tue Dao
 
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Jakarta_EE
 
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019The Eclipse Foundation
 
Renesas DevCon 2010: Starting a QT Application with Minimal Boot
Renesas DevCon 2010: Starting a QT Application with Minimal BootRenesas DevCon 2010: Starting a QT Application with Minimal Boot
Renesas DevCon 2010: Starting a QT Application with Minimal Bootandrewmurraympc
 
Scrumbox ece2011.pptx
Scrumbox ece2011.pptxScrumbox ece2011.pptx
Scrumbox ece2011.pptxda152
 
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareBeyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareQuantum Leaps, LLC
 
Dori waldman android _course_2
Dori waldman android _course_2Dori waldman android _course_2
Dori waldman android _course_2Dori Waldman
 
Arakoon: A distributed consistent key-value store
Arakoon: A distributed consistent key-value storeArakoon: A distributed consistent key-value store
Arakoon: A distributed consistent key-value storeNicolas Trangez
 
Dori waldman android _course
Dori waldman android _courseDori waldman android _course
Dori waldman android _courseDori Waldman
 
Live to e-Learning, 
a lecture capture and delivery service based on MediaMosa
Live to e-Learning, 
a lecture capture and delivery service based on MediaMosaLive to e-Learning, 
a lecture capture and delivery service based on MediaMosa
Live to e-Learning, 
a lecture capture and delivery service based on MediaMosaMediaMosa
 
Quickr support enablement
Quickr support enablementQuickr support enablement
Quickr support enablementAustin Chang
 
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...Nicolas Navet
 
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOQuick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOChris Simmonds
 

Similar to FSE_RTSimex (20)

Mastering Real-time Linux
Mastering Real-time LinuxMastering Real-time Linux
Mastering Real-time Linux
 
Open GeoSocial API
Open GeoSocial APIOpen GeoSocial API
Open GeoSocial API
 
1 Vampir Overview
1 Vampir Overview1 Vampir Overview
1 Vampir Overview
 
Simple Drools Examples
Simple Drools ExamplesSimple Drools Examples
Simple Drools Examples
 
360|Flex Greenthreading In Flex
360|Flex Greenthreading In Flex360|Flex Greenthreading In Flex
360|Flex Greenthreading In Flex
 
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
 
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
 
Renesas DevCon 2010: Starting a QT Application with Minimal Boot
Renesas DevCon 2010: Starting a QT Application with Minimal BootRenesas DevCon 2010: Starting a QT Application with Minimal Boot
Renesas DevCon 2010: Starting a QT Application with Minimal Boot
 
Scrumbox ece2011.pptx
Scrumbox ece2011.pptxScrumbox ece2011.pptx
Scrumbox ece2011.pptx
 
Realtime
RealtimeRealtime
Realtime
 
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded SoftwareBeyond the RTOS: A Better Way to Design Real-Time Embedded Software
Beyond the RTOS: A Better Way to Design Real-Time Embedded Software
 
Dori waldman android _course_2
Dori waldman android _course_2Dori waldman android _course_2
Dori waldman android _course_2
 
Arakoon: A distributed consistent key-value store
Arakoon: A distributed consistent key-value storeArakoon: A distributed consistent key-value store
Arakoon: A distributed consistent key-value store
 
Eosp summer 2011
Eosp summer 2011Eosp summer 2011
Eosp summer 2011
 
Dori waldman android _course
Dori waldman android _courseDori waldman android _course
Dori waldman android _course
 
Live to e-Learning, 
a lecture capture and delivery service based on MediaMosa
Live to e-Learning, 
a lecture capture and delivery service based on MediaMosaLive to e-Learning, 
a lecture capture and delivery service based on MediaMosa
Live to e-Learning, 
a lecture capture and delivery service based on MediaMosa
 
Quickr support enablement
Quickr support enablementQuickr support enablement
Quickr support enablement
 
EEDC Programming Models
EEDC Programming ModelsEEDC Programming Models
EEDC Programming Models
 
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...Lean Model-Driven Development through  Model-Interpretation: the CPAL design ...
Lean Model-Driven Development through Model-Interpretation: the CPAL design ...
 
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOQuick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
 

Recently uploaded

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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
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
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
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
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Recently uploaded (20)

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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
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
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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, ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

FSE_RTSimex

  • 1. Logical Time @ work: the project Julien DeAntoni, Frédéric Mallet I3S/UNS/INRIA Frédéric Thomas, Gonzague Reydet Obeo Jean-Philippe Babau UBO and more... FSE 2010 1
  • 2. Logical Time @ work: the project Julien DeAntoni, Frédéric Mallet I3S/UNS/INRIA Frédéric Thomas, Gonzague Reydet Obeo Jean-Philippe Babau UBO and more... FSE 2010 2
  • 3. Logical Time... • focuses on causal relations between events • Is independent of the abstraction level • Is multi-clock (polychronous) • Provides a partial order between events After 23 starts of the computer, a disk check is done The computation duration is 156 processor ticks 3
  • 4. Logical Time... • focuses on causal relations between events • Is independent of the abstraction level • Is multi-clock (polychronous) • Provides a partial order between events After 23 starts of the computer, a disk check is done The computation duration is 156 processor ticks In modern laptop, tick is logical since the processor speed depend on the battery level 4
  • 5. Logical Time... • focuses on causal relations between events • Is independent of the abstraction level • Is multi-clock (polychronous) • Provides a partial order between events LOGICAL TIME Friedemann Mattern Darmstadt University of Technology 5
  • 6. Physical Time... • Can be seen as a special case of logical time After 5 secondes, it stops... ≅ After 5 events of the “second” clock, it stops 6
  • 7. Logical Time @ work: the project Julien DeAntoni, Frédéric Mallet I3S/UNS/INRIA Frédéric Thomas, Étienne Juliot Obeo Jean-Philippe Babau UBO and more... FSE 2010 7
  • 8. Retro-ingénierie de Traces d'analyse de SIMulation et d'EXécution de systèmes temps-réel 8
  • 9. Context : help the designer Designer Code Real time Multi-task execution Analysis of the execution 9 9
  • 10. Context: execution traces Designer Code Real time Multi-task execution JumpShot , Vampir, Linux Tool Eclipse Project Exection analysis Temporal execution traces and reports OTF, VCD 10 10
  • 11. observations Designer Model Code Real time Multi-task execution SDL, AADL ... Execution Temporal execution analysis and traces report 11 11
  • 12. RT-Simex objectives Designer Models Code Real time Multi-task execution UML MARTE Eclipse Execution analysis Temporal execution and report AT THE traces MODEL LEVEL 12 12
  • 14. Logical Time @ work: the project Julien DeAntoni, Frédéric Mallet I3S/UNS/INRIA Frédéric Thomas, Gonzague Reydet Obeo Jean-Philippe Babau UBO and more... FSE 2010 14
  • 15. MARTE TIME MODEL • SubProfile of the MARTE UML profile standardized by the OMG (Object Management Group) – Reviewed and accepted by the community – Implemented in Papyrus, magic draw, etc – Under Implementation in other UML tools • A Domain Model integrated with eclipse and usable with Domain Specific Language 15 15
  • 16. MARTE TIME MODEL • The main concept is the Clock. – It is a way to specify a, possibly infinite, ordered set of instants – It can be logical or chronometric, discrete or dense – Its type is a ClockType itsResolution = 1 = TAI = discrete tick 16 16
  • 17. MARTE TIME MODEL 1..* itsResolution = 1 = TAI Simplified view of the MARTE Time meta-Model 17 17
  • 18. MARTE TIME MODEL • Sketchy example of its use Producer Consumer c1 User model 18 18
  • 19. MARTE TIME MODEL • Sketchy example of its use Producer Consumer c1 User model sendEvent receiveEvent 19 19
  • 20. MARTE TIME MODEL • Sketchy example of its use Producer Consumer c1 User model sendEvent receiveEvent on on c1.sendEvent: LogicalClock c1.receiveEvent: LogicalClock MARTE model LogicalClock : ClockType IsLogical : True Nature : discrete The ordered set of sendEvent is bijective with the ordered set of instants of c1.sendEvent 20 20
  • 21. CCSL • Clock Constraint Specification Language – Firstly introduced in the MARTE TIME profile – Declarative model-based language integrated with Eclipse – Formal semantics (both denotational and operational) – Tooled (TimeSquare) → Explicitly represents / specifies relations between clocks 21 21
  • 22. CCSL (Clock Constraint Specification Language) – Relations: dependencies between clocks • Coincidence → = • Exclusion → # • Precedence → < • Alternance → ~ – Expressions: a mean to create new clocks from others • Delay → delayedFor X on aClock • Filtering → aClock filteredBy aBinaryWord • Union → aClock union anotherClock • Intersection → aClock inter anotherClock • Periodicity → periodicOn aClock period X offset Y • … 22 22
  • 23. CCSL (Clock Constraint Specification Language) – Relations: dependencies between clocks • Coincidence → = • Exclusion → # • Precedence → < • Alternance → ~ – Expressions: a mean to create new clocks from others • Delay → delayedFor X on aClock • Filtering → aClock filteredBy aBinaryWord • Union → aClock union anotherClock • Intersection → aClock inter anotherClock • Periodicity → periodicOn aClock period X offset Y – Libraries: user-defined relations and expressions • … 23 23
  • 24. CCSL • Sketchy example of its use Producer Consumer c1 User model sendEvent receiveEvent on on c1.sendEvent: LogicalClock c1.receiveEvent: LogicalClock MARTE model LogicalClock : ClockType IsLogical : True Nature : discrete The ordered set of sendEvent is bijective with the ordered set of instants of c1.sendEvent 24 24
  • 25. CCSL • Sketchy example of its use Producer Consumer c1 User model sendEvent receiveEvent on on c1.sendEvent: LogicalClock c1.receiveEvent: LogicalClock MARTE model LogicalClock : ClockType IsLogical : True left Nature : discrete right R1 : Precedes 25 25
  • 26. Graphical formal annotation over a UML model for RT-Simex... 26 26
  • 27. Simulate and animate the UML/MARTE model in TimeSquare (http://www-sop.inria.fr/aoste/dev/time_square/) 27 27
  • 29. Processus RT-Simex CCSL specification 29 29
  • 30. Processus RT-Simex CCSL specification For a specific platform, this is a total order... 30 30
  • 31. Processus RT-Simex CCSL specification For a specific platform, this is a total order... For two communicating platforms, the traces are multi-clocks... 31 31
  • 32. Processus RT-Simex CCSL specification If simulated it replays the execution... CCSL specification 32 32
  • 33. Processus RT-Simex CCSL specification If simulated it replays the execution... So you can have a timing diagram, animate the model and so on... CCSL specification 33 33
  • 34. A specification and the actual execution 34 34
  • 35. Processus RT-Simex CCSL specification CCSL specification 35 35
  • 36. Processus RT-Simex CCSL assertions CCSL specification 36 36
  • 37. Processus RT-Simex CCSL assertions You can simulation both together to CCSL see if a violation occurs specification 37 37
  • 38. Processus RT-Simex You can simulation both together to see if a violation occurs CCSL Violation of “Clk3b isSubClockOf clk3” assertions CCSL specification 38 38
  • 39. Conclusion 39 39