SlideServe
Menu
Préférences
© SlideServe · v2026

Verification of Specifications in Modeling Languages using Basic Protocols

varden avatar
22 diapositives · 359 Views · Aug 22, 2014

This document provides an overview of the verification of specifications in various modeling languages, including MSC, SDL, and UML, utilizing basic protocols like Hoare triples. It discusses the formalization of models, the automatic translation techniques, and specialized verification tools such as static and model checking. The focus is on the structure and behavior of agents and environments, emphasizing their attributes, states, and control flows. The usage of SDL and UML for system specification is explored, along with examples of control flow labeling and decision processing.

Verification of Specifications in Modeling Languages using Basic Protocols - slide 1
01 / 22Verification of Specifications in Modeling Languages using Basic Protocols
1 / 17

Télécharger la présentation

Verification of Specifications in Modeling Languages using Basic Protocols
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Verification of Specifications in Modeling Languages using Basic Protocols Stepan Potiyenko 27.08.2007

  2. Technology overview Requirements Specifications English text Formal Model MSC, SDL, UML, ... manual formalization automatic translation Basic Protocols (Hoare triples) Specialized verification tools (static checking, model checking, …)

  3. Agent • states • local attributes • behavior Agents and Environment Environment with attributes b a x

  4. Basic Protocols Basic Protocol is a triple where: • x is a list of parameters, •  – is a precondition, • u – process (action), • b– post condition Forall ms;

  5. MSC usage 27.08.2007

  6. Basic protocols alt loop i=0,i<N opt MSC diagram

  7. Basic protocols alt loop i=0,i<N opt MSC diagram

  8. MSC diagram Basic protocols alt loop i=0,i<N opt

  9. Basic protocols alt loop i=0,i<N opt MSC diagram

  10. Basic Protocols for the MSC diagram MSC usage

  11. SDL usage 27.08.2007

  12. SDL in terms of BP SDL usage System specification – ENVIRONMENT Process, functional system component - AGENT Signals, timers – EVENTS

  13. e n v I r o n m e n t system block 1 block 3 block 2 process 2 process 4 process 1 process 3 process 5 e n v i r o n m e n t system process 1 (block 1) process 2 (block 1,2) process 3 (block 1,2) process 4 (block 3) process 5 (block 3) Linearized structure Example of structure description of SDL model Structure linearization SDL usage

  14. state s1; • input i; • task x:=x+y; • task • call prc(x); • nextstate s2; • state s2 ... s1 i x := x+y; call prc(x); s2 Control flow labeling SDL usage p_1: state s1; input i; p_1_s_1: task x:=x+y; p_1_s_2: task call prc(x); p_1_s_3: nextstate s2; p_1: state s2 ... Control flow label is agent state expression

  15. ProcP#p ProcP(p, p_1 ); (ProcP p.state = s1) & get_head(p.queue) = i ProcP(p, p_1_s_1 ); last_signal := i; SENDER := sender(i); remove_head(p.queue) States processing SDL usage task x:=x+y; p_1_s_2: task call prc(x); p_1_s_3: nextstate s2; p_1: state s1; input i; p_1_s_1: p_1: state s2; ProcP(p, p_1); (ProcP p.state = s2) & ...

  16. ProcP#p ProcP(p, p_1 ); (ProcP p.state = s1) & get_head(p.queue) = i • state s1; • save k; • input i; • ... • input j; • ... s1 ProcP#p ProcP#p ProcP(p, p_1 ); (ProcP p.state = s1) & get_head(p.queue) = k ProcP(p, p_1 ); (ProcP p.state = s1) & ~(get_head(p.queue) = i) & ~( … = j) & ~( … = k) k ProcP(p, p_1_s_1 ); last_signal := i; SENDER := sender(i); remove_head(p.queue); copy_head(p.queue, p.saved); i j ProcP(p, p_1 ); add_tail(p.saved, k); remove_head(p.queue) ProcP(p, p_1_s_1 ); remove_head(p.queue) Input and save processing SDL usage

  17. x 1 <0 p_1_d_1: decision x; (x=1):(task t1:=1; join p_1_d_2); (x<0): (output sig; join p_1_d_2); enddecision; p_1_d_2: ... t1 := 1; sig Decision processing (labeling) SDL usage decision x; (1): task t1:=1; (<0): output sig; enddecision; ...

  18. ProcP#p ProcP(p, p_1_d_1 ); (x = 1) ProcP(p, p_1_d_2 ); t1 := 1 ProcP#p ProcP(p, p_1_d_1 ); (x < 0) ProcP(p, p_1_d_2 ); add_tail(T1 P1.queue, sig) Decision processing (BP) SDL usage p_1_d_1: decision x; (x=1):(task t1:=1; join p_1_d_2 ); (x<0): (output sig; join p_1_d_2 ); enddecision; p_1_d_2: ...

  19. ProcP#p ProcP(p, p_7 ) ProcP#p ProcP(p, return ); [ret values]; [flush loc vars] ProcP(p, return ) ProcP(p, fun_name ); add_head(return_seq, p_8); loc_v := t1 ProcP(p, head(return_seq)) Procedure calls processing SDL usage task t1:=1; p_7: task call fun_name(t1); p_8: PROCEDURE fun_name FPAR loc_v; Local variables declaration start: desicion (loc_v) (1): task u:=1; (<0): task u:=0; enddecision; return; ENDPROCEDURE; stack return_seq: (ret_control_flow, …, Nil)return_val: (values_set, …, Nil)

  20. UML usage 27.08.2007

  21. Diagram types and perspectives UML usage • Sequence diagrams – analogously to MSC. • Architecture diagrams, state chart diagrams – analogously to SDL system with blocks, processes and state transitions. • Packages and classes structure is linearized (multiplicity, generalization).

  22. Plans • It would be great completely to specify subset of UML notations that are translated to BPSL. • The problem of N instances should be resolved.