Χρόνος και Άλγεβρες Διεργασιών Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Συστήματα μεταβάσεων με χρόνος Η Χρονική CCS: σύνταξη και σημασιολογία ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-1
Συστήματα πραγματικού χρόνου Κατά τη μοντελοποίηση του Alternating bit protocol στην CCS θεωρήσαμε ότι τα timeout συμβαίνουν μη-ντετερμινιστικά. Ικανοποιητικό για να δείξουμε ότι το πρωτόκολλο είναι ασφαλές, ελλιπές για άλλα ερωτήματα (π.χ. ποιος είναι ο μέσος όρος της ποσότητας του χρόνου που απαιτείται για τη μετάδοση ενός μηνύματος). Η συμπεριφορά πολλών συστημάτων περιλαμβάνει χρονικές εξαρτήσεις, τόσο στις απαιτήσεις που υπάρχουν από αυτά όσο και στην ίδια τους τη συμπεριφορά. Θα μελετήσουμε την εισαγωγή της έννοιας του χρόνου στη CCS. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-2
Παράδειγμα Έστω ένα φως το οποίο ανάβει με το πάτημα ενός κουμπιού και του οποίου η ένταση δυναμώνει αν το κουμπί ξαναπατηθεί αρκετά σύντομα μετά από το πρώτο πάτημα. Διαφορετικά, με το επόμενο πάτημα του κουμπιού σβήνει. Μια απόπειρα για να συλλάβουμε τη συμπεριφορά αυτή στη CCS έχει ως εξής: ef Light Light Bright ef ef Bright. Αυτό όμως εκφράζει ότι η απόφαση για το χειρισμό του επόμενου πατήματος του κουμπιού γίνεται μη-ντετερμινιστικα εντός του συστήματος. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-3
Ο τελεστής της καθυστέρησης Εισαγωγή μετάβασης καθυστέρησης μέσω ενός τελεστή που δηλώνει καθυστέρηση: ε(), Real. ε().p δηλώνει ότι το P είναι διαθέσιμο μετά από μονάδες χρόνου. ef Light Bright Light ef ef Bright (1.3).. Ένα χρονικό σύστημα μεταβάσεων με ετικέτες είναι η πλειάδα a (Proc, Label, { a Label} ) όπου Proc είναι το σύνολο των καταστάσεων (διεργασιών) Label = Act Real 0 είναι το σύνολο των ετικετών που μπορούν να είναι είτε ενέργειες είτε κάποιος αριθμός που δηλώνει καθυστέρηση, και a είναι η σχέση μεταβάσεων. Pr oc Pr oc ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-4
Απαιτήσεις από χρονικά συστήματα μεταβάσεων Χρονική Προσθετικότητα (Time Aitivity): Αν s s' και 0 τότε, για κάποια κατάσταση s, ισχύει Μηδενική καθυστέρηση (Zero elay): Για κάθε κατάσταση s Χρονικός ντετερμινισμός (time eterminism): Αν s s'' και s s' τότε s = s. ' ' s s'' s' s s 0 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-5
Time CCS Wang Yi 1990. H σύνταξη της ΤCCS είναι όμοια με αυτή τη CCS με την προσθήκη του κανόνα: Αν P διεργασία της ΤCCS τότε και η ε().p είναι διεργασία της TCCS. Αναμένουμε ότι ο καινούριος τελεστής θα ικανοποιεί: ( ). P ( ). P ( ). P P ' ( ' P', '). P, if P for ' ' P' ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-6
ΗσύνταξητηςΤCCS Έστω α Act, L Λ, f : Λ Λ, C C όπου C, ένα σύνολο από ονόματα διεργασιών και Real. Η πιο κάτω γραμματική δίνει τη σύνταξη των διεργασιών της TCCS: E ::= 0 τερματισμός a.e διαδοχή μετάβασης ε().e διαδοχή καθυστέρησης E 1 + E 2 επιλογή E 1 E 2 ταυτοχρονισμός E\ L περιορισμός E[f] μετονομασία C κλήση ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-7
Σημασιολογία (1) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-8
Σημασιολογία (2) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-9
Σημασιολογία Παράλληλη Σύνθεση (1) Προσπάθεια 1: Έστω τότε FastUser ef (0.3). FastUser FastUser FastUser και συνεπώς FastUser FastUser Αυτόεισηγείταιότιτοκουμπίμπορείναμηνπατηθείποτέ, κάτι όμως που δεν είναι ρεαλιστικό στην πραγματικότητα. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-10
Σημασιολογία Παράλληλη Σύνθεση (2) Επιπλέον δεν εκφράζεται ορθά η πρόθεση του FastUser να δυναμώσει το φως εφόσον είναι δυνατή η εκτέλεση: ( FastUser ) \{ press} ( (0.3). FastUser Light) \{ press} 0.3 ( FastUser Bright (1).. 1 ( FastUser Bright. ( FastUser ( FastUser ) \{ press} ) \{ press} ) \{ press} ) \{ press} ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-11
Σημασιολογία Παράλληλη Σύνθεση (1) Η ιδιότητα της μέγιστης προόδου (maximal progress): Αν μια διεργασία μπορεί να εκτελέσει εσωτερικά από μόνη της μια λειτουργία τότε θα το πράξει χωρίς καθυστέρηση: Αν P τότε P για κάθε > 0. Ορίζουμε ΝοSync(P,Q,) αν για κάθε < και επίσης P P' και ' Q Q' τότε P Q. ' Κανόνας για την καθυστέρηση στην παράλληλη σύνθεση. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-12
Παραδείγματα 1. Η διεργασία Light εμφανίζει τις πιο κάτω συμπεριφορές Bright (1.3).. press Bright Bright (1.3).. Bright (1.3 ).. Bright (0).. press 2. Θεωρείστε τις συμπεριφορές του συστήματος. ( Light SlowUser) \{ press} όπου SlowUser ef (1.7). SlowUser ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-13
Γενικά Σχόλια (1) Η TCCS αποτελεί μια συντηρητική επέκταση της CCS όσον αφορά τη σύνταξη. Ως εκ τούτου: Επωφελείται της απλής μεθοδολογίας για τη συνθετική μοντελοποίηση παράλληλων συστημάτων. Περιορισμένη εκφραστικότητα: υπάρχουν χρονικά συστήματα μεταβάσεων που δεν μπορούν να διατυπωθούν στη TCCS (αλλά είναι δυνατή η διατύπωσή τους ως χρονικά αυτόματα). Εντούτοις η χρήση των χρονικών αλγεβρών διεργασιών έχει διαδραματίσει σημαντικό ρόλο τόσο για την ανάλυση χρονικών συστημάτων (συστήματα αξιωμάτων), όσο και για την καλύτερη κατανόηση του φαινομένου του χρόνου και την ανάπτυξη προγραμματιστικών γλωσσών για χρονικά συστήματα, ειδικά για ενθυλακωμένα συστήματα (embee systems). ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-14
Γενικά Σχόλια (2) Άλλες Χρονικές Άλγεβρες Διεργασιών TPA (Temporal Process Algebra) CCS + διακριτός χρόνος (Hennessy an Regan) Συνδυάζει επίσης τις έννοιες της μέγιστης προόδου και του χρονικού ντετερμινισμού Temporal CCS (Moller an Tofts) Απορρίπτονται όι έννοιες της μέγιστης προόδου και του χρονικού ντετερμινισμού Time ACP (Baeten an Mielburg) Κάθε ενέργεια συνδυάζεται με τον χρόνο (διάστημα) στον οποίο πρέπει να λάβει χώρα. The Algebra of Time Processes (Nicollin an Sifakis). Χρονικός μη ντετερμινισμός και εξειδικευμένος τελεστής για timeout. ACSR (Lee et al). Εμπλουτίζει τη CCS με την έννοια του πόρου. Η επικοινωνία θεωρείται ότι συμβαίνει στιγμιαία και χρόνος απαιτείται κατά την κατανάλωση πόρων. Εκδοχές για διακριτό και συνεχή χρόνο. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 12-15