draft bortzmeyer language state machines
play

draft-bortzmeyer-language-state-machines St ephane Bortzmeyer - - PowerPoint PPT Presentation

draft-bortzmeyer-language-state-machines St ephane Bortzmeyer - AFNIC IETF 68 - Prague St ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 1 / 7 The question You have two extremely different ways


  1. draft-bortzmeyer-language-state-machines St´ ephane Bortzmeyer - AFNIC IETF 68 - Prague St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 1 / 7

  2. The question You have two extremely different ways to write specs / standards: 1 Use only a formal language and write specs in Lotos or similar. Hard, very hard (may be impossible) but allows to automatic processing (checking, pretty-printing, . . . ). 2 Use only natural language. Easy but you cannot check it or translate to code automatically. An intermediate solution is to use mostly natural language with a few formal languages for specific tasks. This is what IETF does: English + (ABNF and / or MIB). Other formal languages are being developed ( draft-ietf-rohc-formal-notation for describing packet headers). St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 2 / 7

  3. State machines There are many of them in RFCs but no formal language. 1 Stuck to ASCII-ART, informal tables or lists of tuples, 2 No automatic checking possible (these checks catch a lot of ABNF mistakes, for instance) 3 No code generation possible St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 3 / 7

  4. Cosmogol, a candidate 1 Based on the “list of tuples” approach, 2 Current state, message, next state, action: a transition, 3 Formal syntax, 4 A reference implementation which can: Check the SM (for instance its connectivity), 1 Translate to Graphviz or Graph::Easy. 2 St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 4 / 7

  5. Example # RFC 2461, "Neighbor Discovery for IP Version 6" START : "Packet to send" -> INCOMPLETE : "Send multicast NS"; INCOMPLETE : "Retransmit timeout, less than N" -> INCOMPLETE : "Retransmit NS"; INCOMPLETE : "Retransmit timeout, N or more" -> START : "Send ICMP error"; INCOMPLETE : "NA not solicited" -> STALE; INCOMPLETE : "NA solicited" -> REACHABLE; St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 5 / 7

  6. Roadmap of discussions St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 6 / 7

  7. Roadmap of discussions 1 Do we want a formal SM language? St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 6 / 7

  8. Roadmap of discussions 1 Do we want a formal SM language? 2 If so, do we develop one? St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 6 / 7

  9. Roadmap of discussions 1 Do we want a formal SM language? 2 If so, do we develop one? If not, which one to use? State Chart XML, UML, Z.100/SDL? 1 St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 6 / 7

  10. Roadmap of discussions 1 Do we want a formal SM language? 2 If so, do we develop one? If not, which one to use? State Chart XML, UML, Z.100/SDL? 1 If yes, is Cosmogol a good candidate? If yes, all the following issues 2 should be for the WG to work on Named sets of states / messages? 1 Substates 2 Syntax details? 3 Unicode identifiers? 4 St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 6 / 7

  11. Creating a WG? Depends on the output of the previous discussions. Volunteers to work? See proposed charter sent on the mailing list. St´ ephane Bortzmeyer - AFNIC () draft-bortzmeyer-language-state-machines IETF 68 - Prague 7 / 7

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