Specification Approaches
Outline
Specification Approaches
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 1 / 29
Outline Specification Approaches Munindar P. Singh (NCSU) - - PowerPoint PPT Presentation
Specification Approaches Outline Specification Approaches Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 1 / 29 Specification Approaches Message Sequence Diagrams Outline Specification Approaches Message Sequence Diagrams
Specification Approaches
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 1 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 2 / 29
Specification Approaches Message Sequence Diagrams
◮ Expresses global view consolidating local perspectives ◮ Excellent for describing possible interaction instances ◮ But beware the pitfalls . . .
◮ Formalizing semantics is not obvious: multiple approaches
◮ Caveat: Arrowheads and other details of these notes don’t necessarily
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 3 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 4 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 5 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 6 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 7 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 8 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 9 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 10 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 11 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 12 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 13 / 29
Specification Approaches Message Sequence Diagrams
◮ mAB excludes mCD ◮ mAB and mCD mutually exclude each other ◮ mAB requires mCD Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 14 / 29
Specification Approaches Message Sequence Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 15 / 29
Specification Approaches Message Sequence Diagrams
◮ If each party interacts correctly, is the overall behavior correct? ◮ If not, our sequence diagram is not realizable or enactable ◮ Is the design of each party obvious? ◮ Does the design of the parties preclude some legal enactments? Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 16 / 29
Specification Approaches Protocols and Policies
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 17 / 29
Specification Approaches Protocols and Policies
◮ Procedural ◮ Sequence diagrams ◮ State diagrams ◮ Activity diagrams ◮ Petri Nets ◮ Declarative ◮ Temporal logic ◮ Dynamic logic ◮ Information-based specifications
◮ Declarative, if captured formally at all ◮ Commitment machines ◮ Constitutive specifications Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 18 / 29
Specification Approaches Protocols and Policies
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 19 / 29
Specification Approaches Protocols and Policies
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 20 / 29
Specification Approaches Protocols and Policies
◮ Begin from a constraint language ◮ Standardize modular fragments as patterns, e.g., RosettaNet Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 21 / 29
Specification Approaches Protocols and Policies
◮ No private predicates in guards
◮ No self calls
◮ No business puts itself on indefinite hold waiting for its partner to
◮ No nonlocal choice ◮ No nonlocal choice that matters ◮ No control of incoming message occurrence or ordering ◮ No dependence on occurrence or ordering of remote message emission
◮ No reliance on ordering across channels ◮ No reliance on ordering within a channel unless warranted Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 22 / 29
Specification Approaches State Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 23 / 29
Specification Approaches State Diagrams
◮ Natural for summarizing states that bear similar meanings and support
◮ Cartesian product of the individual states ◮ Natural for expressing mutually independent components of the state Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 24 / 29
Specification Approaches State Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 25 / 29
Specification Approaches State Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 26 / 29
Specification Approaches State Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 27 / 29
Specification Approaches State Diagrams
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 28 / 29
Specification Approaches State Diagrams
◮ Traditional sequence diagrams often step into internal details ◮ Traditional state diagrams are low-level, just as traditional sequence
◮ We can express this from an outside, i.e., a public or an institutional,
◮ A research challenge is to ensure the social state remains sufficiently
◮ For a properly designed service engagement, its social state ought to
Munindar P. Singh (NCSU) Service-Oriented Computing Spring 2014 29 / 29