Άλγεβρες Διεργασιών (Process Algebras)

Σχετικά έγγραφα
Άλγεβρες Διεργασιών και Σχέσεις Ισοδυναμίας

Χρόνος και Άλγεβρες Διεργασιών

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Άλγεβρες ιεργασιών και Τροπικές Λογικές

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Α Typing System for Privacy

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Σειρά Προβλημάτων 1 Λύσεις

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ

Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα:

Σειρά Προβλημάτων 4 Λύσεις

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

Σειρά Προβλημάτων 4 Λύσεις

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

CTL - Λογική Δένδρου Υπολογισμού (ΗR Κεφάλαιο 3.4)

Σειρά Προβλημάτων 1 Λύσεις

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο )

Σειρά Προβλημάτων 4 Λύσεις

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

HY118-Διακριτά Μαθηματικά

Σειρά Προβλημάτων 4 Λύσεις

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

Λύσεις Σειράς Ασκήσεων 4

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.

Πρόβλημα 29 / σελίδα 28

Κατανεμημένα Συστήματα Ι

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Ανάλυση της Ορθότητας Προγραμμάτων

Αυτοματοποιημένη Επαλήθευση

Σειρά Προβλημάτων 1 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

Ατομική Διπλωματική Εργασία ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΓΡΑΦΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΤΗΣ ΑΛΓΕΒΡΑΣ ΔΙΕΡΓΑΣΙΩΝ PADS. Λούκας Νεοκλέους ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Λιβανός Γιώργος Εξάμηνο 2017Β

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

Σειρά Προβλημάτων 3 Ημερομηνία Παράδοσης: 04/04/16

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ

Πρόβλημα 37 / σελίδα 207

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

Μαθηματική Λογική και Λογικός Προγραμματισμός

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Προγραμματισμός Ι (HY120)

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΥΛΟΠΟΙΗΣΗ ΕΡΓΑΛΕΙΟΥ ΓΙΑ ΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΠΛΗΘΥΣΜΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΟΝΤΕΛΟΠΟΙΗΜΕΝΩΝ ΣΤΗΝ ΑΛΓΕΒΡΑ ΔΙΕΡΓΑΣΙΩΝ PALPS

Σειρά Προβλημάτων 3 Λύσεις

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού

Κλάσεις Πολυπλοκότητας

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Σειρά Προβλημάτων 1 Λύσεις

Προδιαγραφή και Επαλήθευση Πρωτοκόλλων Ασφαλείας Συστημάτων Κινητών Επικοινωνιών με Χρήση Τυπικών Μεθόδων

Κατανεμημένα Συστήματα Ι

Δυναμικός προγραμματισμός για δέντρα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Περιεχόμενα. 2 Αριθμητικά συστήματα

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

π-λογισμός Γεώργιος Πιτσιλαδής 16 Μαΐου 2017 Εργασία για το μάθημα «Προχωρημένα Θέματα Λογικής» ΔΠΜΣ Αλγόριθμοι, Λογική και Διακριτά Μαθηματικά

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-1

Επίλυση 1 ης Εργασίας. Παραδόθηκαν: 11/12 15%

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

Σειρά Προβλημάτων 1 Λύσεις

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

Εισαγωγή στην Πληροφορική

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Πράξεις με δυαδικούς αριθμούς

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Σειρά Προβλημάτων 4 Λύσεις

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL

Σειρά Προβλημάτων 4 Λύσεις

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

Φροντιστήριο 8 Λύσεις

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 02 & 03. Δρ. Γεώργιος Χρ. Μακρής

Σειρά Προβλημάτων 4 Λύσεις

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Ε Μέχρι 18 Μαΐου 2015.

CWB-NC: The Concurrency Workbench of the New Century

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Transcript:

Άλγεβρες Διεργασιών (Process Algebrs) Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Προδιαγραφή και Επαλήθευση με άλγεβρες διεργασιών Η άλγεβρα διεργασιών CCS Ενέργειες και διεργασίες Σύνταξη Σημασιολογία ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-1

Άλγεβρες Διεργασιών Μια εναλλακτική επιλογή για προδιαγραφή και επαλήθευση συστημάτων. Έμφαση δίνεται, σε ανοικτά συστήματα, δηλαδή σε συστήματα τα οποία δυνατόν να ενθυλακωθούν σε άλλα συστήματα. Μεγαλύτερη σημασία δίνεται στις μεταβάσεις παρά στις καταστάσεις ενός συστήματος (ction-bsed vs stte-bsed) Θεωρία που μελετά τις αλληλεπιδράσεις ενός συστήματος με το περιβάλλον του. Βασικός στόχος η συνθετικότητα (compositionlity) δηλαδή η ικανότητα εξαγωγής συμπερασμάτων για ένα σύνθετο σύστημα από τις ιδιότητες των επιμέρους συνιστωσών του. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-2

Άλγεβρες διεργασιών Περιλαμβάνουν Μια γλώσσα προδιαγραφής (μοντελοποίησης) συστημάτων, που αποτελείται από ένα σύνολο τελεστών για σύνθεση συστημάτων σε μεγαλύτερα συστήματα. Αυστηρά διατυπωμένη σημασιολογία που απεικονίζει τις δυνατές λειτουργίες και αλληλεπιδράσεις ενός συστήματος διατυπωμένου στη γλώσσα προδιαγραφής. Έννοιες εκλέπτυνσης συμπεριφοράς που προσδιορίζουν πότε δύο συστήματα εμφανίζουν την ίδια συμπεριφορά, ή πότε ένα σύστημα υλοποιεί κάποιο άλλο. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-3

Προδιαγραφή και Επαλήθευση σε ΑΔ Η ανάλυση ενός συστήματος με μία άλγεβρα διεργασιών συνήθως διενεργείται σε τρεις φάσεις: 1. Διατύπωση της προδιαγραφής του συστήματος Spec (επιθυμητή συμπεριφορά και ιδιότητες) στη γλώσσα της ΑΔ 2. Δημιουργία υποψήφιας υλοποίησης συστήματος Imp 3. Έλεγχος κατά πόσο η υλοποίηση Imp ικανοποιεί την προδιαγραφή Spec δείχνοντας ότι την εκλεπτύνει/υλοποιεί. Σε ένα μοντέλο ΑΔ μπορούν επίσης να εκτελεσθούν μοντελο-έλεγχος και πειράματα. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-4

Παράδειγμα 1 Ένα ρολόι που κτυπά ασταμάτητα. Clock def tick. Clock tick το όνομα της ενέργειας Clock το όνομα της διεργασίας def συνδέει ένα όνομα διεργασίας με την έκφραση μιας διεργασίας tick.clock η διεργασία. τελεστής αλληλουχίας ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-5

Συμπεριφορά και μεταβάσεις Η συμπεριφορά μιας διεργασίας συλλαμβάνεται μέσω μεταβάσεων. Αν Ε και F είναι δύο διεργασίες και α μια ενέργεια, τότε γράφουμε E για να δείξουμε ότι η διεργασία E είναι ικανή να εκτελέσει την ενέργεια α και να εξελιχθεί στη διεργασία F. F Υπάρχει ένα σύνολο από κανόνες (η σημασιολογία της ΑΔ) που καθορίζουν τη συμπεριφορά των διεργασιών μιας άλγεβρας διεργασιών. Παράδειγμα: Clock tick Clock ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-6

Συμπεριφορά και συστήματα μεταβάσεων Μέσω των κανόνων της σημασιολογίας μιας ΑΔ η συμπεριφορά κάθε διεργασίας μεταφράζεται σε ένα γράφο με βάρη (σύστημα μεταβάσεων), όπου Οι κορυφές του γράφου αντιστοιχούν σε διεργασίες Οι ακμές συλλαμβάνουν τις μεταβάσεις των διεργασιών Τα βάρη αναφέρονται στα ονόματα των εκτελεσθέντων ενεργειών Παράδειγμα: tick Clock ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-7

Σύνολο από τελεστές. Συνήθεις τελεστές Άλγεβρες Διεργασιών - Σύνοψη 0 (NULL) αδιέξοδο/τερματισμός..e εκτέλεσε την ενέργεια, και συνέχισε σύμφωνα με το Ε. E+F συνέχισε σύμφωνα με το E ή το F. E F εκτέλεσε τα Ε και F παράλληλα Παράδειγμα:.(b+c) ή.(b.0+c.0) Σημασιολογία Συνήθης μέθοδος: σύνολο από κανόνες που συλλαμβάνουν τη συμπεριφορά κάθε ενός από τους τελεστές. Με βάση τους κανόνες η συμπεριφορά του συστήματος ορίζεται ως ένας γράφος. b c ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-8

Μοντέλα και εκτελέσεις Εκτέλεση μίας διεργασίας είναι οποιοδήποτε μονοπάτι μπορεί να ληφθεί από τον γράφο της διεργασίας. d e d e b c b c Μονοπάτια: bdbdbdcebdbd : insert coin, b: press pepsi, c: press pepsi-light d: get pepsi, e: get pepsi-light Σχέσεις ισοδυναμίας μας επιτρέπουν να καθορίσουμε πότε θεωρούμε δύο συστήματα/ διεργασίες ταυτόσημα. Τα δύο συστήματα έχουν τις ίδιες εκτελέσεις, είναι όμως διαφορετικά...! ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-9

Ενέργειες και αλληλενέργιες E F b E c F1 b F2 c G1 G2 Για κάθε ενέργεια α, υπάρχει μια αλληλενέργεια. Οι δύο ενέργειες απεικονίζουν είσοδο και έξοδο αντίστοιχα και προσφέρουν τη δυνατότητα αλληλεπίδρασης σε άλγεβρες διεργασιών. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-10

CCS: Clculus of Communicting Systems Θα μελετήσουμε τη χρήση αλγεβρών διαδικασιών για μοντελοποίηση/ανάλυση συστημάτων μέσω της άλγεβρας διεργασιών CCS. Αναπτύχθηκε από τον Robin Milner (Turing Awrd, 1991) κατά τα τέλη του 1970/αρχές 1980. Παρουσιάζει τον δυαδικό συγχρονισμό ως βασική μέθοδο επικοινωνίας. Οι διεργασίες κτίζονται από ένα σύνολο ατομικών ενεργειών με τη χρήση τελεστών σύνθεσης διεργασιών. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-11

Ενέργειες στη CCS Μπορούν να είναι ενέργειες εισόδου, ενέργειες εξόδου, ή η εσωτερική ενέργεια. Έστω σύνολο από ετικέτες (ονόματα καναλιών) Λ και η ετικέτα τ. Μια ενέργεια στη CCS μπορεί να είναι ένα από τα ακόλουθα ενέργεια εισόδου στο κανάλι λ Λ: λ ενέργεια εξόδου στο κανάλι λ Λ: λ η εσωτερική ενέργεια: τ Συμβολισμός Λ το σύνολο ετικετών και το σύνολο των ενεργειών εισόδου Λ το σύνολο των ενεργειών εξόδου Λ Λ το σύνολο των εξωτερικών ενεργειών Αct = Λ Λ τ το σύνολο όλων των ενεργειών ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-12

Ενέργειες και αλληλενέργειες Σε άλγεβρες διεργασιών όπως η CCS συστήματα επικοινωνούν με το περιβάλλον τους (και μεταξύ τους) μέσω συγχρονισμών που συμβαίνουν σε κανάλια. Αν μια διεργασία είναι διαθέσιμη για είσοδο και κάποια άλλη για έξοδο στο ίδιο κανάλι, τότε ο συγχρονισμός λαμβάνει χώρο και οι διεργασίες προχωρούν με την εκτέλεσή τους. Οι εξωτερικές ενέργειες που μπορεί να εκτελέσει ένα σύστημα μπορούν να θεωρηθούν ως η συμπεριφορά/διεπιφάνειά του. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-13

Η σύνταξη της CCS Έστω α Act, L Λ, f : Λ Λ, C C όπου C, ένα σύνολο από ονόματα διεργασιών. Η πιο κάτω γραμματική δίνει τη σύνταξη των διεργασιών της CCS: E ::= 0 τερματισμός.e διαδοχή E 1 + E 2 επιλογή E 1 E 2 ταυτοχρονισμός E\ L περιορισμός E[f] μετονομασία C κλήση Ο τελεστής. έχει μεγαλύτερη προτεραιότητα από τον +, ενώ η κατάληξη.0 και όροι όπως 0 συχνά παραλείπονται. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-14

CCS τελεστές και άτυπη ερμηνεία Με βάση την πιο πάνω περιγραφή μπορούμε να θεωρήσουμε τους τελεστές της CCS ως πράξεις για κτίσιμο και συνδυασμό κουτιών ως εξής: 0 : Διεργασία που δεν ανταποκρίνεται (τερματισμός ή αδιέξοδο).e : Διεργασία πρόθυμη να εκτελέσει την ενέργεια α και στη συνέχεια συμπεριφέρεται ως Ε E 1 + E 2 : Διεργασία η οποία προσφέρει την επιλογή ανάμεσα στις E 1 και E 2 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-15

CCS τελεστές και άτυπη ερμηνεία E 1 E 2 : Διεργασία στην οποία τρέχουν παράλληλα οι E 1 και E 2. Οι υποδιεργασίες αυτές μπορούν να εκτελούν ανεξάρτητα την εργασία τους ή και να επικοινωνούν μεταξύ τους στα κανάλια που τις συνδέουν. E \ L : Διεργασία με τα κανάλια L δεσμευμένα για χρήση αποκλειστικά εντός της Ε. E[f] : Η διεργασία Ε αφού έχουν μετονομασθεί τα κανάλια της σύμφωνα με το f ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-16

Η σύνταξη της CCS Μία CCS-έκφραση Ε ονομάζεται κλειστή (closed) αν κάθε όνομα διεργασίας που περιέχεται σε αυτή έχει δηλωθεί. Δηλώσεις έχουν τη μορφή: C E. def Παράδειγμα: Έστω ότι δηλώνουμε το όνομα διεργασίας Α ως def Α.b.A τότε οι όροι Α Α, c.a είναι κλειστοί. Διεργασίες της CCS ονομάζουμε όλες τις κλειστές CCS εκφράσεις. Γράφουμε Proc για το σύνολο των CCS διεργασιών. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-17

Μοντελοποίηση Με τη CCS είναι δυνατή η περιγραφή συστημάτων όπως το πιο κάτω ως η σύνθεση των υποκομματιών του. Sender Medium Receiver send send out out in in ckin ckin ckout ckout rec rec ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-18

Τα συστατικά του συστήματος Sender Medium Receiver send ckin in out ckout ckin in ckout out rec ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-19

Τα συστατικά του συστήματος Sender = send. out. ckin. Sender Medium = out. in. Medium + ckout. ckin. Medium Receiver = in. rec. ckout. Receiver System = ( Sender Medium Receiver ) \ { in, out, ckin, ckout} ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-20

Άσκηση Θεωρείστε ένα εργαστήριο στο οποίο αντικείμενα φθάνουν μέσω μιας ζώνης σε κάποιο χώρο όπου τυγχάνουν επεξεργασίας με τη χρήση ενός εργαλείου. Όταν η επεξεργασία τελειώσει το αντικείμενο τοποθετείται σε μία δεύτερη ζώνη από όπου απομακρύνεται από το εργαστήριο. Στο εργαστήριο υπάρχουν δύο άτομα που ασχολούνται με την συγκεκριμένη εργασία και τα οποία μοιράζονται τη χρήση ενός εργαλείου. Να ορίσετε το σύστημα στη CCS χρησιμοποιώντας (ανάμεσα σε άλλα) τα κανάλια in και out, μέσω των οποίων καταφθάνουν και απομακρύνονται τα αντικείμενα. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-21

Ερμηνεία των CCS τελεστών Έχουμε δει τους τελεστές της CCS και άτυπα την επιδιωκόμενη συμπεριφορά τους. Επόμενο βήμα είναι η τυπική διατύπωση της συμπεριφοράς των CCS τελεστών μέσω μιας σημασιολογίας. Η σημασιολογία που θα δώσουμε είναι λειτουργική (opertionl semntics), δηλαδή περιγράφει τη λειτουργία μιας CCS διεργασίας. Θα ορίζει τα βήματα εκτέλεσης της CCS μεταφράζοντας μια διεργασία σε ένα σύστημα μεταβάσεων Η σημασιολογία θα δίνει το πλαίσιο στο οποίο θα οριστούν μεθοδολογίες για ανάλυση CCS μοντέλων ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-22

Σημασιολογία της CCS H σημασιολογία της CCS ορίζεται μαθηματικά ως η σχέση Proc Act Proc όπου Ε,, F σημαίνει πως η διεργασία E μπορεί να εκτελέσει την ενέργεια α και μετά να εξελιχθεί στη διεργασία F. Γράφουμε αντί του E,, F. E F ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-23

Σημασιολογία της CCS Η σχέση ορίζεται αναδρομικά ως ένα σύνολο από κανόνες της μορφής συνθήκες μεταβάσεων συμπέρασμα επιμέρους συνθήκη Οι κανόνες δηλώνουν πως αν ισχύουν οι συνθήκες μεταβάσεων, οι οποίες έχουν τη μορφή E F, και η επιμέρους συνθήκη, τότε ισχύει το συμπέρασμα (η ζητούμενη μετάβαση). Για κάθε τελεστή της CCS υπάρχει μία ομάδα κανόνων. Για αυτό το λόγο η σημασιολογία ονομάζεται Δομική Λειτουργική Σημασιολογία (Structured Opertionl Semntics SOS). ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-24

SOS κανόνες I Act. E E Sum 1 E E E' F E' Sum 2 E F F' F F' ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-25

SOS κανόνες II Com 1 E E F E' E' F Com 2 E F F F' E F' Com 3 E E', F F' E F E' F' ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-26

SOS κανόνες III Res E E E' \ L E'\ L, L Rel E[ f E E' ˆ f ( ) ] E'[ f ] Con E C E' E' C C, C def E ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-27

Σχόλια για τους κανόνες Ο κανόνας Act δεν περιέχει συνθήκες επομένως μπορεί να θεωρηθεί ως αξίωμα. Το αποτέλεσμα του συγχρονισμού που περιγράφεται στον κανόνα Com 3 είναι η εσωτερική ενέργεια τ. Δεν υπάρχει κανόνας (δυνατή μετάβαση) για τη διεργασία τερματισμού 0. Για f : Λ Λ, ορίζουμε fˆ : Act Act ως εξής: fˆ( ) f ( ) f ( b) αν αν b, b αν ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-28

Παράδειγμα ο τελεστής + Ven 10cents. Ven Ven Ven def s b def def smll. collect big. collect s b 20centsVen. s. Ven. Ven b Ven collect s 10cents 20cents collect b Ven s Ven b smll big ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-29

Ven 10cents. Ven Ven Ven def s b def def big. collect Παράδειγμα ο τελεστής smll. collect s b 20cents. Ven s. Ven. Ven b System def Ven User User' User def 10cents. User' def smll. collect s.0 System 10cents τ Ven s User 20cents 10cents Ven s User Ven b User Ven User ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-30

Παράδειγμα ο τελεστής \ Ven 10cents. Ven Ven Ven def s b def smll. collect def big. collect s b 20cents. Ven s. Ven. Ven b User 10cents. User' User' def def smll. collect def System ( Ven User) \ L s. et. User L { 10cents,20cents, smll, big, collect s, collectb} System τ (10cents) Ven s User τ (smll) τ (collect) et ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-31

Παραδείγματα. ( b. ( c. 0 c. 0) d. 0) b. ( c. 0 c. 0) d. 0 b. ( c. 0 c. 0) d. 0 b c. 0 c. 0 b. ( c. 0 c. 0) d. 0 d 0 c. 0 c. 0 c c. 0 c. 0 c. 0 c c. 0 c. 0 c. 0 τ 0 0 c. 0 c 0 c. 0 c 0 d. 0 d 0 (( c. 0 c. 0) d. 0) \{ c,d} 00 τ ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-32

Κανόνες SOS και μεταβάσεις CCS διεργασιών Οι SOS κανόνες ορίζουν ένα σύστημα παραγωγής μεταβάσεων, όπου μια μετάβαση της μορφής E F θεωρείται αληθής αν μπορεί να κτιστεί μια απόδειξη της μετάβασης χρησιμοποιώντας τους κανόνες. Επομένως η σχέση περιέχει ακριβώς εκείνες τις μεταβάσεις που μπορούν να αποδειχθούν μέσω των κανόνων. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-33

Παράδειγμα 1 Act b b. 0 0 Sum 2. 0 b b. 0 0 Com 1 (. 0 b. 0 ).Q b 0.Q Res ((. 0 b b. 0 ).Q )\ { } ( 0.Q )\ { } b,b ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-34

Παράδειγμα 2 Act.P P Sum 1.P b. 0 P Act.Q Q Com 3 (.P b. 0 ).Q P Q Res ((.P b. 0 ).Q )\ { } ( P Q )\ { }, ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-35

Αποδείξεις και τελεστές Οι αποδείξεις κτίζονται αλυσιδωτά, ξεκινώντας από κάποια/ες εφαρμογή/ες του αξιώματος Act. Η επιμέρους συνθήκη πρέπει να ισχύει σε κάθε εφαρμογή του κανόνα Res. Για παράδειγμα η μετάβαση ((. P b.0). Q) \ { } ( P. Q) \ { } δεν μπορεί να αποδειχθεί. Με βάση τους κανόνες οι τελεστές της CCS μπορούν να χωριστούν σε δύο κατηγορίες: Δυναμικοί: 0,., + Στατικοί:, \L, [f] Βασική διαφορά: κατά πόσο διατηρούνται μετά από τους κανόνες μεταβάσεων. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-36

Συστήματα μεταβάσεων με ετικέτες Σε κάθε διεργασία της CCS αντιστοιχεί κάποιο σύστημα μεταβάσεων με ετικέτες (lbeled trnsition system, LTS) που περιγράφει τις δυνατές συμπεριφορές της διεργασίας. in ckin (.0 b.0). c.0 out ckout 0.c. 0 b 0 c.0 c b (.0 b.0) c.0 c 0 0 b.0 b.0 0 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-37

CCS και LTSs Μπορούμε να θεωρήσουμε τη CCS ως ένα LTS (με μη πεπερασμένο αριθμό καταστάσεων) χωρίς αρχική κατάσταση, όπου οι καταστάσεις είναι κλειστές διεργασίες οι μεταβάσεις δίνονται από τη σημασιολογία Οποιοδήποτε LTS μπορεί να γραφτεί ως μια CCS διεργασία Συνδέουμε ένα όνομα διεργασίας S με κάθε κατάσταση του LTS s. Στη δήλωση της διεργασίας S αθροίζουμε τους όρους.t για κάθε μετάβαση του συστήματος μεταβάσεων. s t H κωδικοποίηση χρησιμοποιεί μόνο δυναμικούς τελεστές και δηλώσεις. Και οι στατικοί τελεστές; Χρησιμοποιούνται για την κωδικοποίηση της αρχιτεκτονικής ενός συστήματος. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-38

Παράδειγμα Για το LTS in q 0 ckin out ckout οι CCS δηλώσεις είναι Q Q Q 0 1 2 q 1 q 2 out. Q in. Q 0 1 ckin. Q ckout. Q 0 και η διεργασία που περιγράφει τη συμπεριφορά του συστήματος από την αρχική κατάσταση είναι η Q 0. 2 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-39

Μοντελοποίηση μεταβλητής τύπου bit is0 set0 C0 set1 set0 C1 is1 set1 C0 = is0. C0 + set1. C1 + set0. C0 C1 = is1. C1 + set0. C0 + set1. C1 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-40

Αναπαράσταση δομής συστήματος Πως μπορούμε να περιγράψουμε τη δομή ενός συστήματος στη CCS; Sender Medium Receiver send send out out in in ckin ckin ckout ckout rec rec ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-41

Κωδικοποίηση αρχιτεκτονικής Sys Sender Medium Receiver send send w1 out in0 w3 out0 in send rec w2 ckin out1 w4 in1 ckout rec rec Sys = (Sender[w1/out, w2/ckin] Medium [w1/in0, w2/out1, w3/out0, w4/in1] Receiver[w3/in, w4/ckout] ) \ {w1, w2, w3, w4} ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-42

Επέκταση CCS με πέρασμα τιμών Είσοδος δεδομένου: (x).e Διάβασε κάποιο δεδομένο, έστω v, στο κανάλι και αντικατάστησε στο Ε όπου x το v. Έξοδος δεδομένου: (e).e Στείλε την τιμή της έκφρασης e στο κανάλι και προχώρησε ως Ε. Νέοι κανόνες: Έστω Vl(e) η τιμή της έκφρασης e. ActIn ( x). E ( v) E{ v / x} Αντικατάστησε στο Ε όπου x το v. ActOut ( e). E ( v) E, Vl( e) v ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-43

Καταχωρητής i def Παράδειγμα Reg red( i). Reg write( x). Reg Reg Reg red (32) 32 write(21) 5 i Reg Reg 32 21 x Παράλληλη Σύνθεση System def Reg 2 Increment Writer 4 Increment def red( i). write( i 1).0 Writer 4 def write(4).0 Πιθανή Εκτέλεση Reg 2 Increment Write ( red ) 4 ( write) ( write) Reg Reg Reg 4 3 2 write(3).0 Write write(3).0 0 0 0 4 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 9-44