Χάρτες Ακολουθίας Μηνυμάτων Message Sequence Charts - MSC Τυπικός σχεδιασμός υπηρεσιών και πρωτοκόλλων 14 Ιουνίου 2011 1/24
2/24
H τυποποίηση των χαρτών Οι Χάρτες Ακολουθίας Μηνυμάτων (Message Sequence Charts, MSC) εμφανίσθηκαν σε τυποποιημένη μορφή το 1992 με το πρότυπο Z.120 της CCITT. Ακολούθησαν δύο επόμενες εκδόσεις το 1996, στο τέλος του 1999 και το 2004, ενώ η πιο πρόσφατη έκδοση είναι αυτή του Φεβρουαρίου του 2011 [?], που είναι και η ισχύουσα έκδοση του προτύπου μαζί με την Z.120 Annex B (βλ. πιο κάτω). Έκδοση νέου προτύπου το 2011. H Z.120 Annex B, περιγράφει τη σημασιολογία των MSC και τα θεμελιώνει ως άλγεβρα διεργασιών. 3/24
Βασική δομή στους Χάρτες Ακολουθίας Μηνυμάτων Ένας Βασικός Χάρτης Ακολουθίας Μηνυμάτων (Basic MSC) απεικονίζει την επικοινωνία μερικών περιστάσεων (instances). Κάθε περίσταση διαθέτει μια κεφαλή (head) κι ένα τέρμα (end), το μαύρο παραλληλόγραμμο, ανάμεσα στις οποίες εκτείνεται μια κατακόρυφη γραμμή που παριστάνει τον άξονα του χρόνου. Πάνω στον άξονα της περίστασης μπορεί να υπάρχουν μια ή περισσότερες δράσεις (actions). Τα βέλη των δράσεων ξεκινούν και καταλήγουν σε άξονες ή στις δύο κατακόρυφες πλευρές του εξωτερικού πλαισίου, το οποίο παριστάνει το περιβάλλον, το οποίο κατά κάποιο τρόπο αποτελεί μια πρόσθετη μοναδική περίσταση. 4/24
Παράδειγμα MSC μαζί με την αντίστοιχη φραστική μορφή msc example1 e1 e2 e3 s3 a s4 msc example1; e1 : out to env; e1 : out to e2; e2 : out s3 to e3; e3 : action a; e3 : out s4 to e1; endmsc; 5/24
Δημιουργία & τερματισμός διεργασίας msc instance_creation_termination e1 e3 e2 msc instance_creation_t e1 : out to e2; e2 : create e3; e3 : out ok to e1; e3 : stop; endmsc; 6/24
Χρονόμετρα msc timers inst1 inst2 inst3 T2(d2) T3(d3) T1 T2 7/24
Μηνύματα χαμένα και μηνύματα ευρεθέντα msc lostandfound e1 e2 m1 e1 e2 m2 8/24
Γενική διάταξη Ένα σύμβολο που λέγεται γενική διάταξη (general ordering) περιγράφει την επιθυμητή διάταξη όταν αυτή δεν είναι σαφής. msc example1a e1 e2 e3 s3 s4 a 9/24
Συνθήκες Το σύμβολο της συνθήκης καλύπτει τους άξονες όσων περιστάσεων εμπλέκονται στη συνθήκη, ενώ οι άλλες περνούν μέσα από τη συνθήκη (δηλ. ο άξονας είναι ορατός). Η φραστική περιγραφή γίνεται με τη λέξη condition, π.χ. e1, e2, e3: condition A. msc condition_example e1 e2 e3 e4 A 10/24
Συμπεριοχή (coregion) Είναι περιοχή του χρόνου όπου επιτρέπεται να συμβούν με οποιαδήποτε σειρά όσα γεγονότα εμφανίζονται. Παριστάνεται με μια διακεκομμένη γραμμή στον άξονα του χρόνου. msc scenario78 e1 e2 e3 s3 e2 : concurrent; in from e1; out s3 to e3; out to e1; endconcurrent; 11/24
Κατακόρυφη σύνθεση Πρόκειται να συντεθούν το ένα μετά το άλλο τα εξής δύο διαγράμματα: msc scenario1 msc scenario2 e1 e2 e3 e1 e2 e3 a s4 s3 12/24
Κατακόρυφη σύνθεση: Το αποτέλεσμα της σύνθεσης msc scenario12 e1 e2 e3 a s4 s3 13/24
Κατακόρυφη σύνθεση: Δεύτερο παράδειγμα Πρόκειται να συντεθούν το ένα μετά το άλλο τα εξής δύο διαγράμματα: msc scenario3 msc scenario4 e1 e2 e2 e3 a 14/24
Κατακόρυφη σύνθεση: Το αποτέλεσμα της σύνθεσης msc scenario34 e1 e2 e3 a 15/24
Οριζόντια σύνθεση Η οριζόντια σύνθεση σημαίνει ότι τα γεγονότα του ενός και του άλλου MSC μπορούν να αλληλοπαρεμβληθούν, αλλά γεγονότα που προέρχονται από το ίδιο MSC διατηρούν τη σειρά τους. 16/24
Οριζόντια σύνθεση: Παράδειγμα Πρόκειται να συντεθούν το ένα μετά το άλλο τα εξής δύο διαγράμματα: msc scenario7 msc scenario8 e1 e2 e2 e3 s3 17/24
Οριζόντια σύνθεση: Το αποτέλεσμα της σύνθεσης msc scenario78 e1 e2 e3 s3 18/24
Εναλλακτική σύνθεση Ένας άλλος τρόπος σύνθεσης είναι η διαίρεση των γεγονότων σε εναλλακτικές ακολουθίες, που παρουσιάζονται ως εναλλακτικές μέσω της κωδικής λέξης alt, που επισημαίνει την εναλλακτική συμπεριφορά. Τα γεγονότα που περιλαμβάνονται στην εναλλακτική σύνθεση βρίσκονται στο εσωτερικό ενός παραλληλογράμμου από συνεχή γραμμή και διαχωρίζονται σε δυο ομάδες με διακεκομμένη γραμμή. 19/24
Εναλλακτική σύνθεση: Παράδειγμα msc alternative_scenarios e1 e2 e3 alt s3 s4 20/24
Οριζόντια σύνθεση Η οριζόντια σύνθεση δύο MSC επισημαίνεται με την κωδική λέξη par. Τα γεγονότα μπορούν να εκτελεσθούν με οποιοδήποτε σειρά, αρκεί αυτή να σέβεται την σειρά των γεγονότων κάθε χωριστού MSC. Τα γεγονότα που περιλαμβάνονται στην οριζόντια σύνθεση βρίσκονται στο εσωτερικό ενός παραλληλογράμμου από συνεχή γραμμή και διαχωρίζονται σε δυο ομάδες με διακεκομμένη γραμμή. 21/24
Οριζόντια σύνθεση: Παράδειγμα msc parallel_scenarios e1 e2 e3 par s3 s4 22/24
Βρόχος Ο βρόχος προκαλεί την επανάληψη όσων γεγονότων περικλείονται στο παραλληλόγραμμο που επισημαίνει το βρόχο και φέρει την κωδική λέξη loop μαζί με δύο παραμέτρους m και n, εκ των οποίων η πρώτη δίνει το ελάχιστο πλήθος εκτελέσεων του βρόχου και η δεύτερη το μέγιστο. 23/24
Παράδειγμα msc loop_scenario e1 e2 e3 loop<0,3> s3 s4 24/24