SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Dernier

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
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
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Dernier (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
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
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

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