Ταυτοχρονισμός: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
μΧωρίς σύνοψη επεξεργασίας
Μοντέλα
Γραμμή 12:
== Θεωρία ==
Η θεωρία του ταυτοχρονισμού είναι ενεργό ερευνητικό πεδίο της [[Θεωρητική πληροφορική|θεωρητικής πληροφορικής]]. Μια από τις πρώτες συνεισφορές ήταν η σημαντική δουλειά του Καρλ Άνταμ Πέτρι (Carl Adam Petri) στα δίκτυα Πέτρι στις αρχές της δεκαετίας του 1960. Στο χρόνια που ακολούθησαν, αναπτύχθηκαν πολλοί φορμαλισμοί για τη μοντελοποίηση και τη συλλογιστική του ταυτοχρονισμού.
 
=== Μοντέλα ===
Έχουν αναπτυχθεί αρκετοί φορμαλισμοί για τη μοντελοποίηση και την κατανόηση των ταυτόχρονων συστημάτων, κάποιοι από αυτούς είναι:<ref>{{cite book|last=Filman|first=Robert|coauthors=Daniel Friedman|title=Coordinated Computing - Tools and Techniques for Distributed Software|year=1984|publisher=McGraw-Hill|isbn=0-07-022439-0|url=http://ic.arc.nasa.gov/people/filman/text/dpl/dpl.html}}</ref>
* Η Παράλληλη Μηχανή Τυχαίας Προσπέλασης (Parallel Random Access Machine)<ref>{{cite book | first=Jörg | last=Keller | coauthors=Christoph Keßler, Jesper Träff | title=Practical PRAM Programming | publisher=John Wiley and Sons | year=2001}}</ref>
* Το [[μοντέλο Actor]]
* Μοντέλα υπολογιστικής γεφύρωσης (computational bridging models) όπως το [[Bulk Synchronous Parallel|BSP]]
* Τα [[δίκτυο Πέτρι|δίκτυα Πέτρι]]
* Οι [[λογισμοί διεργασιών]]
* Οι χώροι ν-άδων (tuple spaces), όπως στη [[Linda (γλώσσα συντονισμού)|Linda]]
* Το μοντέλο [[SCOOP (λογισμικό)|SCOOP]]
 
Κάποια από αυτά τα μοντέλο ταυτοχρονισμού έχουν σαν κύριο σκοπό τους να υποστηρίξουν τη συλλογιστική και τον ορισμό ταυτόχρονων συστημάτων, ενώ άλλα μπορούν να χρησιμοποιηθούν σε ολόκληρο τον κύκλο ανάπτυξης, συμπεριλαμβανομένης της σχεδίασης, της υλοποίησης, της απόδειξης, της δοκιμής και της εξομοίωσης των ταυτόχρονων συστημάτων.
 
Η ποικιλία διαφορετικών μοντέλων για τον ταυτοχρονισμό έκανε κάποιους ερευνητές να αναπτύξουν τρόπους να ενοποιήσουν αυτά τα διαφορετικά θεωρητικά μοντέλα. Για παράδειγμα, οι Lee και Sangiovanni-Vincentelli έδειξαν ότι ένα μοντέλο "tagged-signal" μπορεί να είναι ένα κοινό πλαίσιο για τον ορισμό [[δηλωτική σημασιολογία|δηλωτικής σημασιολογίας]] για αρκετά μοντέλα ταυτοχρονισμού,<ref>{{cite journal|unused_data=A|last=Lee|first=Edward|coauthors=Alberto Sangiovanni-Vincentelli| title= A Framework for Comparing Models of Computation|journal=[[IEEE Transactions on CAD]]|volume=17|issue=12|pages=1217–1229|date=December, 1998|doi=10.1109/43.736561}}</ref> ενώ οι Nielsen, Sassone και Winskel έδειξαν ότι η [[θεωρία κατηγοριών]] μπορεί να χρησιμοποιηθεί για να παρέχει μια παρόμοια ενοποιημένη θεώρηση διαφορετικών μοντέλων.<ref>{{cite conference|author = Mogens Nielsen|coauthors= Vladimiro Sassone and Glynn Winskel| title = Relationships Between Models of Concurrency |booktitle = REX School/Symposium|year = 1993|url = http://citeseer.ist.psu.edu/article/nielsen94relationships.html}}</ref>
 
Το Θεώρημα Αναπαράστασης του Ταυτοχρονισμού (Concurrency Representation Theorem) στο μοντέλο Actor παρέχει έναν αρκετά γενικό τρόπο να αναπαριστώνται ταυτόχρονα συστήματα που είναι κλειστά και δε λαμβάνουν μηνύματα επικοινωνίας από τον εξωτερικό κόσμο. (Άλλα συστήματα ταυτοχρονισμού, όπως οι [[λογισμοί διεργασιών]], μπορούν να μοντελοποιηθούν στο μοντέλο Actor χρησιμοποιώντας το [[two-phase commit protocol]].<ref>Frederick Knabe. A Distributed Protocol for Channel-Based Communication with Choice PARLE 1992.</ref>) Η μαθηματική σημασία που δηλώνεται από ένα κλειστό σύστημα <tt>S</tt> κατασκευάζεται από διαδοχικές βελτιωμένες προσεγγίσεις από μια αρχική συμπεριφορά που αποκαλείται <tt>⊥<sub>S</sub></tt>, με τη χρήση μιας συνάρτησης εκτίμησης συμπεριφοράς <tt>'''progression'''<sub>S</sub></tt> για την κατασκευή μιας σημασίας για το <tt>S</tt> ως εξής:<ref name="clinger1981">{{Cite journal|author=William Clinger|authorlink=William Clinger (computer scientist)|title=Foundations of Actor Semantics|url=https://dspace.mit.edu/handle/1721.1/6935|publisher=MIT|version=Mathematics Doctoral Dissertation|date=June 1981}}</ref>
::<tt>'''Denote'''<sub>S</sub> ≡ ⊔<sub>i∈ω</sub> '''progression'''<sub>S</sub><sup>i</sup>(⊥<sub>S</sub>)</tt>
 
Κατά αυτόν τον τρόπο, το <tt>S</tt> μπορεί να χαρακτηριστεί μαθηματικά με βάση όλες τις πιθανές συμπεριφορές του.
 
== Δείτε επίσης ==