tasks for actors
play

Tasks for Actors Frank S. de Boer Main Problem Modeling and - PowerPoint PPT Presentation

Tasks for Actors Frank S. de Boer Main Problem Modeling and analysis of real-time distributed software systems Main Approach Executable modeling language for concurrent objects Main Research Context EU STREP Project Credo (FP6) on Modeling


  1. Tasks for Actors Frank S. de Boer

  2. Main Problem Modeling and analysis of real-time distributed software systems

  3. Main Approach Executable modeling language for concurrent objects

  4. Main Research Context EU STREP Project Credo (FP6) on Modeling and analysis of evolutionary structures in distributed services Coordinator: F.S. de Boer (CWI) Start date: 1-9-2006 End date: 1-9-2009 Main partners (involved in this work) ◮ Einar Broch Johnsen (UIO) ◮ Wang Yi (UU) ◮ Mahdi Jaghouri (CWI)

  5. Concurrent Objects Model: ◮ Objects represent dedicated processors (in distributed systems) ◮ Objects interact via asynchronous message passing ◮ Objects create processes for handling each incoming message ◮ Objects synchronize their processes Analysis: ◮ Formal semantics ◮ Maude implementation ◮ Simulation ◮ Testing ◮ Model-Checking Main challenge: Behavioral interfaces for modeling and analysis of real-time scheduling policies for concurrent objects

  6. Actors No ◮ inter-object (return) ◮ intra-object (suspended processes) synchronization

  7. Technical Overview ◮ Timed Automata ◮ Task Automata ◮ Actors ◮ Tasks for Actors ◮ Conclusion

  8. Timed Automata Clocks Real-valued States Delay: ◮ Invariant Transitions Instantaneous actions: ◮ Enabling condition ◮ Reset

  9. Semantics Timed Automata Configuration � s , c � ◮ s : a state of the automaton ◮ c : clock assignment Transitions: Delay � s , c � → δ � s , c + δ � provided c + δ | = I Instantaneous Action � s , c � → a � s ′ , c [ X := 0] � provided c | = e Timed Traces ( δ 1 , a 1 ) , . . . , ( δ n , a n ) , . . .

  10. Analysis Model-checking: Reduction to finite state-space

  11. Task Automata Extension of timed automata with dynamic task generation. ◮ Tasks are associated with states and specified by ◮ worst and best execution times ◮ deadlines ◮ Tasks are scheduled by queuing (e.g., shortest deadline first )

  12. Operational semantics Configuration � s , c , q � ◮ s : a state of the automaton ◮ c : clock assignment ◮ q : task queue ( T , w , b , d ) ◮ w : worst case execution time ◮ b : best case execution time ◮ d : deadline

  13. Task Generation → s ′ with L ( s ′ ) = T ( w , b , d ) a Given a transition s we have � s , c , ( T 1 , w 1 , b 1 , d 1 ) , . . . , ( T n , w n , b n , d n ) � a → � s ′ , c ′ , ( T 1 , w 1 , b 1 , d 1 ) , . . . , ( T , w , b , d ) , . . . , ( T n , w n , b n , d n ) �

  14. Delay � s , c , ( T 1 , w 1 , b 1 , d 1 ) , . . . , ( T n , w n , b n , d n ) � δ → � s , c ′ , ( T 1 , w ′ 1 , b ′ 1 , d ′ 1 ) , . . . , ( T n , w n , b n , d ′ n ) � where ◮ w ′ 1 = w 1 − δ ◮ b ′ 1 = b 1 − δ ◮ d ′ i = d i − δ ◮ c ′ = c + δ Termination condition: b 1 ≤ 0.

  15. Schedulability Analysis Schedulability analysis = Reachability analysis

  16. Results Note: Upperbound of the queue = Σ i d i / w i ◮ Non-preemptive scheduling is decidable ◮ Scheduling is decidable for fixed execution times ◮ Schedulability in general is undecidable

  17. Actors Semantics of message handlers m = S : Internal Action � S , q � τ → � S ′ , q � Output � m ; S , q � m → � S , q � Input Enabledness � S , q � m → � S , q · m � Message Handling � nil , m · q � τ → � S m , q � A τ → A ′ Interleaving . . . , A , . . . → . . . , A ′ , . . . A m → A ′ , B m → B ′ Communication . . . , A , B , . . . → . . . , A ′ , B ′ . . .

  18. Extending Actors with Task Scheduling ◮ Timed automata specifications T m of message handlers (output actions: m ( d )) ◮ Scheduling (e.g., shortest deadline first)

  19. Schedulability Analysis Analysis of a single actor wrt a timed automaton specification D (driver) of the environment (input actions: m ( d ))

  20. Operational Model States � s , s ′ , c , ( T 1 , c 1 , d 1 ) , . . . , ( T n , c n , d n ) � ◮ s in Driver ◮ s ′ in T 1 ◮ c : clock assignment ◮ c i ≤ d i Transitions ◮ Interleaving of instantaneous (input and output) actions ◮ Synchronization on delay

  21. Summary Construction of the Task Automaton: T m 1 , . . . , T m n , D ⇒ T A where ◮ T m i : TA of method m i of actor A ◮ D : Driver

  22. Modular Analysis: Design by Contract Possible use Driver D Actual use Use case U Compatibility by refinement (trace inclusion): U ⊑ D Verification by deadlock analysis of synchronous product : U � D (assuming D is deterministic)

  23. Conformence Testing Conformence by refinement (trace inclusion): S ⊑ Π A D A Falsification: Traces ( S ) \ Traces (Π A D A ) � = ∅ Test case ( t 1 , R 1 ) , . . . , ( t n , R n ) ◮ t i : Transition in Π A D A ◮ R i : Alternative transitions (in Π A D A ) A deadlock in the synchronous product T � S generates a counter-example

  24. What Next? ◮ Application to the ASK system (Almende) ◮ Actors2Objects (synchronization) ◮ Real-time extension of concurrent objects ◮ Software Families: EU FET IP HATS project on Highly Adaptable and Trustworthy Software Using Formal Models ◮ Distributed Implementation: Objective C

  25. References ◮ Credo: http://credo.cwi.nl. ◮ E. B. Johnsen and O. Owe. An Asynchronous Communication Model for Distributed Concurrent Objects. Software and Systems Modeling. ◮ E. Fersman, P. Krcal, P. Pettersson, and W. Yi. Task automata: Schedulability, decidability and undecidability. Information and Computation. ◮ M. M. Jaghoori, F. S. de Boer, T. Chothia, and M. Sirjani. Schedulability of asynchronous real-time concurrent objects. Journal of Logic and Algebraic Programming. ◮ F.S. de Boer, T. Chothia and M. M. Jaghoori. Modular Schedulability Analysis of Concurrent Objects in Creol. FSEN 2009, LNCS.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend