1 / 12

Apostolos Niaouris Newcastle University

Mobility Plug-in. Apostolos Niaouris Newcastle University. Industry Day. People. Alexei Iliasov Main engine of the tool Victor Khomenko Model checking engine Maciej Koutny Translation for the input to the MC engine Apostolos Niaouris Integration with the platform

Download Presentation

Apostolos Niaouris Newcastle University

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mobility Plug-in Apostolos Niaouris Newcastle University Industry Day

  2. People • Alexei Iliasov • Main engine of the tool • Victor Khomenko • Model checking engine • Maciej Koutny • Translation for the input to the MC engine • Apostolos Niaouris • Integration with the platform • All of us together with Alexander Romanovsky worked in theory behind the plug-in

  3. Motivation • Mobile Agent Systems (MAS) • Easier deployment • Low maintenance costs • Scalability • Autonomous reconfiguration • Challenging to model check • Asynchronous communication of agents • Highly dynamic • No single recognised standard • Using formal methods could be advantageous

  4. Our approach • A hybrid high level programming notation • ‘MobileB Systems’ MeMoT workshop 2007. CS-TR-1032 • Event-B together with constructs inspired from KLAIM and π-calculus • L.Bettini et al.: The KLAIM Project: Theory and Practice. LNCS 2874 • R.Milner et al.: A Calculus of Mobile Processes. Information and Computation 100 • Development of tool for the model checking of MAS modelled with this language

  5. What’s in the language? • Roles Agents Locations John’s shop • Functional model Shop owner Debt collector John move(shop1) Tim move(shop1).askfordebt askfordebt BEGIN pay; END cry BEGIN skip; END VARIABLES int : money = 3 INVARIANT money ∈ 0 . . . 10 pay = IF money > 0 THEN money := money - 1; cry;

  6. Mobility Plug-in Event-B Process Algebra Translation to MobileB notation Translation to Petri nets Model Checker

  7. Mobility Plug-in • Petri nets are good for you but no need to know anything about them • As soon as you finished your modelling, the tool works with the press of a single button. • Translating is hidden from the user • The results from the tool (error traces) point to the modelling language • Animator also provided • Added bonus. Capable of model checking Event-B specifications

  8. Mobility Plug-in • Support for a larger subset of Event-B • functions • More expressive process algebra for agent scenarios • loops, guards • system invariants • action parameters • reference to Event-B variables • Automatic translation of Event-B invariants

  9. How about fault tolerance? • Properties • Success on recovery from faults • Agents responsible for local handling of exceptions • Dealing with lost/crashed agents • … • Success in applying FT mechanisms • Correctness of scoping structure • No information smuggling between scopes • These properties are supported by the tool

  10. CS5.3-based example • Virtual campus: • Software agents interact and migrate in virtual space • Registration protocol expressed in B • Statically defined locations – each location hosts a unique university agent

  11. CS5.3-based example • The student needs to have at least two documents to register • Distribution model shows the possible actions of a role • Behaviour part drives the interaction betweem agents • Scenario part is responsible for traversing all the different locations

  12. DEMO

More Related