1 / 23

Basic Protocols, Message Sequence Charts, and the Verification of Requirements Specifications

WITUL04. Basic Protocols, Message Sequence Charts, and the Verification of Requirements Specifications. A. Letichevsky, J. Kapitonova, A. Letichevsky Jr., V. Volkov Glushkov Institute of Cybernetics, National Academy of Science, Kiev, Ukraine ISS Ltd S. Baranov, V. Kotlyarov

orly
Télécharger la présentation

Basic Protocols, Message Sequence Charts, and the Verification of Requirements Specifications

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. WITUL04 Basic Protocols, Message Sequence Charts, and the Verification of Requirements Specifications A. Letichevsky, J. Kapitonova, A. Letichevsky Jr., V. Volkov Glushkov Institute of Cybernetics, National Academy of Science, Kiev, Ukraine ISS Ltd S. Baranov, V. Kotlyarov Motorola, St.Petersburg, Russia T. Weigert Motorola, Schaumburg, Illinois, United States

  2. Formalization Review Using formal methods in requirement capturing Testing scenarios START Checking consistency Informal reqs related to behavior Formal models Verdict MSC Basic Protocols Scenarios MSC UML Proving annotations MSC Formal Specs Generating traces Verified requirements Manual Automated WITUL

  3. Logics Temporal Logic linear/branching, propositional/predicate -calculus propositional/predicate Dynamics Process Algebras CCS, CSP, pi-calculus,… Automata Buchi, Muller, … ASM Requirement Specification Languages Agents and Environments (insertion programming) Basic protocols Annotated scenarios Extended MSC,SDL,UML WITUL

  4. Basic Protocols SYRaSRMenu 430Upon determining that the setup greeting prompt has been completedand if a Voice Recognition Session is active and menu level is “Main Phone Setup”then the system shall request the audio input channeland shall allow the user sessionsilence timeout time to speak a voice command. SYRaCSTATE 701 While in the no phone call stateand upon detecting that the SelectedDevice is set to a valid deviceand the Selected Device’s call status indicates a call inprogress, the system shall assume it is in cip. Process Attributes Precondition Parameters Postcondition WITUL

  5. MS m ACG a DAP d precondition: DAP(d, paging m) & ACG(a, serving d) & (MS m.serving_acg = a) & valid m & not_empty(DAP d.page_list) Two basic protocols with MSC diagrams MS m ACG a DAP d precondition: MS(m, respond a) & ACG(a, serving d) postcondition: (DAP d.group_list := (m,DAP d.group_list) & MS(m, idle) postcondition: (DAP d.paging_ms := head (DAP d.page_list)) & (DAP d.page_list := tail (DAP d.page_list)) & MS (m, respond a) & DAP(d, paging(DAP d.paging_ms)) WITUL

  6. What is new? Not Hoare like triples, but *Special language of pre- and postconditions based on the model of interaction of agents and environments * The algebra of basic protocols * Applications to real life projects Using MSC is not essential. It can be UCM, wave diagr,… Important is interpretation as behaviors of transition systems. WITUL

  7. The logic language is based on interaction of Agents and Environments n environment agent environment Insertion function agent agent WITUL

  8. a a b Δ a a Δ Agents Labeled or attributed (states are labeled by attribute values) transition systems with terminal and divergent statesconsidered up to bisimilarity (x1:z1,…,xn:zn) a s ' s Behaviors Continuous complete behavior algebra F(A) over action algebraА(vs. final coalgebra) term div Recursive definitions can be used to extend the signature: a.0+a.b.(a.0+a. Δ+ Δ) WITUL

  9. Environments Agent Eover action set Cwithcontinuous insertion functionIns Insertion equivalence of agents: Multilevel environments: WITUL

  10. Phone n Phone m Network Phone n Network phone(m,dial) phone(n,idle) dial(m,n) offhook n dialtone n phone(m, dial n) phone(n, dial) call setup initial call setup dialing 1 Two basic protocols for telephone system Precondition Postcondition WITUL

  11. Phone m Network Phone n phone(m, dial n) & valid n ring ring phone(m, ringing n) & phone(n,ringing) Two more protocols Phone m Network Phone n phone(m, dial n) & ~(valid n) busy phone(m, busy) call setup dialing 2 call setup failure 2 WITUL

  12. Phone m Network Phone n Annotatedscenario phone(m,idle) Guarded conditions Initial condition offhook dialtone dial(m,n) alt when valid n Annotations Постусловие ring ring anno phone(m, ringing n) when ~(valid n) busy anno phone(m, busy) WITUL

  13. environment( attributes: obj(Nil); parameters: obj(Nil); agent_types: obj( phone:obj( valid:symb,cw:symb, twc:symb, connector:bool,onhook:int, number:int ) ); axioms:Nil; reductions:(x)( equ_zero(0)=1, equ_zero(x)=0 ); instances: … agents: … initial: … ); Environment description for telephone example instances: (Phone 1, Phone 2, Phone 3, Phone 4, Network); agents: obj( p1:phone, p2:phone, p3:phone, p4:phone ); initial: env( obj( attributes: obj(Nil); agent_attributes:obj( p1:obj(valid:1,cw:0,twc:0,connector:0,onhook:0,number:1), p2:obj(valid:1,cw:0,twc:0,connector:0,onhook:0,number:2), p3:obj(valid:1,cw:0,twc:0,connector:0,onhook:0,number:3), p4:obj(valid:1,cw:0,twc:0,connector:0,onhook:0,number:4) ); numeric_restrictions: 1; logic_restrictions:Nil ), state(phone(p1,idle),phone(p2,idle), phone(p3,idle),phone(p4,idle)) ) WITUL

  14. System defined by basic protocols For MSC diagrams it is a weak sequential composition Behavior of a system in a state with property alpha Environment transition WITUL

  15. Partially sequential composition permutability Permutable Not commute Not permutable WITUL

  16. What will be after? Predicate transformers postcondition: (DAP d.paging_ms := head (DAP d.page_list)) & (DAP d.page_list := tail (DAP d.page_list)) & MS (m, respond a) & DAP(d, paging(DAP d.paging_ms)) easy case Predicate transformer: more general case Example: WITUL

  17. Main verification problems • Consistency and completeness of basic protocols • Decomposition of scenarios to basic protocols • Annotation consistency of scenarios composed by basic protocols (implemented for MSC and SDL) • Reachability in the system defined by basic protocols Solved in verification environment of VRS. Integration of modeling and automatic theorem proving WITUL

  18. Inconsistent protocols(feature interaction between 3way Calling and Call Waiting) Phone n Phone m Network Phone k Phone m Network Phone k Phone n phone(k,connected m)& phone(n,cw_wait k) phone(k,3way connect(m&n) ) onhook onhook dialtone busy dialtone flash phone(k, idle) phone(m, idle) phone(k,connected n)& phone k.cw:=0 phone(m,dial) & phone(n,dial) phone(n, dial) phone(m, dial) Protocol cw teardown 1 Protocol 3way teardown 2 WITUL

  19. Phone m Phone z Network Phone k Phone n offhook dialtone offhook Scenarioconfirminginconsistency dialtone dial ring ring dial ring ring offhook offhook flash phone(z,connected m) dialtone dial k phone(k,connected n) ring ring phone(z,dial) pone(m, 3way wait z) flash flash phone(k,connected z) phone(n, cw wait k) annophone(z,3way connect(m&k)) annophone(k,connected z)&phone(n,cw wait k) Phone m WITUL

  20. Inconsistent state onhook z ??? z <cw teardown 1> phone(k,connected n) 3 way connect m&k n k m n cw_wait k <3way teardown 2> phone(k,dial) WITUL

  21. Piloting VRS WITUL

  22. What next? Next project where VRS will be applied contains about 10 000 requirements. Special technology is under development to reduce states and trace spaces. More UML to logic language WITUL

  23. Thank You! WITUL

More Related