Next: Η Δομή Δεδομένων του
Up: Διασύνδεση με το Paragraph
Previous: PICL γεγονότα που
Στις επόμενες παραγράφους περιγράφονται σύντομα οι υπορουτίνες που
εμπεριέχονται στη βιβλιοθήκη με την οποία συνδέεται το
Paragraph. Οπως έχει ήδη αναφερθεί σε προηγούμενα κεφάλαια, σκοπός
αυτής της βιβλιοθήκης είναι η επεξεργασία από το Paragraph,
γεγονότων που έχουν σχέση με τα επιπλέον διαγράμματα που προστέθηκαν σε
αυτό, για την υποστήριξη και οπτικοποίηση των επιπλέον δυνατοτήτων που
παρέχει ο ArrayTracer.
- AT_init() : Η υπορουτίνα αυτή καλείται αρχικά από
το Paragraph και αρχικοποιεί ορισμένες δομές δεδομένων
στις οποίες αποθηκεύονται στατιστικά σχετικά με τις προσπελάσεις
στη μνήμη, το γενεαλογικό χάρτη των διεργασιών, τον αριθμό των
πετυχημένων/αποτυχημένων αλλαγών ροής του προγράμματος και τους
απόλυτους χρόνους για επικοινωνία/υπολογισμούς/συγχρονισμό.
- AT_scan() : Η υπορουτίνα αυτή καλείται από
το Paragraph στην περίπτωση που διαβαστεί κάποιο γεγονός
που σχετίζεται με τον ArrayTracer και έχει ως συνέπεια
την αποθήκευση των επιμέρους πεδίων του γεγονότος στις
αντίστοιχες μεταβλητές του προγράμματος.
- AT_preprocess() : Η υπορουτίνα αυτή καλείται από
το Paragraph κατά τη διάρκεια της προεπεξεργασίας των
γεγονότων. Συνέπεια της κλήσης της είναι ο υπολογισμός
ορισμένων μέγιστων/ελάχιστων παραμέτρων, που καθορίζουν τα
όρια και τη μορφή των διαγραμμάτων απεικόνισης πχ. μέγιστος
χρόνος επικοινωνίας/μέγιστος χρόνος υπολογισμών//μέγιστος
χρόνος συγχρονισμού, καθορίζουν την κατασκευή του τριπλού
ιστογράμματος ( Raw Time Diagram), που περιγράψαμε στο
κεφ. 5.
- AT_event() : Η υπορουτίνα αυτή καλείται από
το Paragraph σε κάθε περίπτωση που ένα XWindows
γεγονός αφορά κάποιο από τα διαγράμματα που προστέθηκαν στο
Paragraph πχ. μεταβολή του μεγέθους του αντίστοιχου
παραθύρου, εμφάνιση αντίστοιχου παραθύρου.
- AT_draw() : Η υπορουτίνα αυτή καλείται από
το Paragraph στην περίπτωση που έχει διαβαστεί κάποιο γεγονός
που σχετίζεται με τον ArrayTracer και συνέπεια της
κλήσης της είναι η σχεδίαση των αλλαγών στο διάγραμμα που
αντιστοιχεί στο γεγονός αυτό.
- AT_reset() : Η υπορουτίνα αυτή καλείται από
το Paragraph στην περίπτωση που ο χρήστης θελήσει να επαναφέρει
τα διαγράμματα στην αρχική τους κατάσταση
Μια περιγραφή της ροής δεδομένων από τη στιγμή της ανάγνωσης
κάποιου γεγονότος που σχετίζεται με τον ArrayTracer
φαίνεται στο σχ.
Figure: Ροή δεδομένων που σχετίζονται με τον ArrayTracer στο Paragraph
Κατά τη φάση της προεπεξεργασίας, σχ.
(α), στην
περίπτωση που διαβαστεί κάποιο γεγονός σχετικό με τον
ArrayTracer ο έλεγχος περνάει στη υπορουτίνα της βιβλιοθήκης
που συνδέθηκε με το Paragraph, που είναι υπεύθυνη για την προεπεξεργασία.
Κατα τη φάση της οπτικοποίησης, σχήμα
(b), στην
περίπτωση που διαβαστεί κάποιο XWindows γεγονός που
αναφέρεται στα διαγράμματα που προσθέσαμε, ο έλεγχος περνάει
στην αντίστοιχη υπορουτίνα της βιβλιοθήκης
που συνδέθηκε με το Paragraph, το ίδιο ισχύει και στην
περίπτωση γεγονότος ιχνοληψίας, όπου ο έλεγχος περνάει στη
υπορουτίνα ανάγνωσης και επεξεργασίας και στη συνέχεια
καλείται η υπορουτίνα που απεικονίζει τις μεταβολές στο
αντίστοιχο διάγραμμα.
zaras@ics.forth.gr