Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο εκαπέντε - Aνάπτυξη Kατανοµή και Aπόκτηση Συστατικών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο εκαπέντε - Aνάπτυξη Kατανοµή και Aπόκτηση Συστατικών"

Transcript

1 Kεφάλαιο εκαπέντε - Aνάπτυξη Kατανοµή και Aπόκτηση Συστατικών 1

2 15.1 H Mεθοδολογία - Συστατικοστρεφής Προγραµµατισµός Ο συστατικοστρεφής προγραµµατισµός χειρίζεται τις προοπτικές του προγραµµατισµού µε συστατικά, για τον οποίο χρησιµοποιείται ο όρος COP (Component Oriented Programming). Τα στοιχεία υποστήριξής του είναι: Πολυµορφισµός (ικανότητα αναπλήρωσης). Ενσωµάτωση διαµορφωτών (απόκρυψη πληροφοριών σε υψηλά επίπεδα). Αργή σύνδεση και φόρτωση (ανεξάρτητη ανάπτυξη). Ασφάλεια (τύπων και διαµορφωτών). Ιδανική µεθολογία δεν βρέθηκε ακόµη και οι υπάρχουσες λειτουργούν µέσα στο συστατικό. Υπάρχει αδυναµία στις πολύπλοκες αλληλεπιδράσεις µε άλλα συστατικά. Η επιλογή αρχιτεκτονικής επιρρεάζει σε ορισµένο βαθµό την ανάπτυξη των συστατικών και των υποδοµών τους. Υπάρχουν ακόµη πολλά προβλήµατα για επίλυση Προβλήµατα A συγχρονισµού Ησυναρµολόγηση συστατικών γίνεται µε προώθηση συµβάντων. Κάθε προώθηση πυροδοτείται µε την αλλαγή κατάστασης ενός συστατικού η οποία µπορεί να ενδιαφέρει άλλα αντικείµενα. Tα συστατικά που είναι εγγεγραµµενα για ένα συµβάν το λαµβάνουν µέσω ενός µηχανισµού διανοµής συµβάντων.τα προβλήµατα αυτού του µηχανισµού: Η διανοµή συµβάντων γίνεται µε µετάδοση σε πολλούς παραλήπτες. Ενώ διεξάγεται η µετάδοση το σύστηµα βρίσκεται σε αστάθεια. Οι παραλήπτες συµβάντων µπορούν να στείλουν και οι ίδιοι άλλα συµβάντα χωρίς να έχουν αντιληφθεί την αλλαγή κατάστασης άλλων συστατικών που τους επιρρεάζουν. Υπάρχει δηλαδή πρόβληµα αιτιότητας στη σειρά µετάδοσης και παραλαβής των συµβάντων. Η αποστολή συµβάντων µπορεί να γίνεται σε δυναµικά σύνολα παραληπτών που από την στιγµή της µετάδοσης µέχρι την παραλαβή ίσως και να αλλάξουν. Μερικοί παραλήπτες ίσως να δηλώσουν εξαιρέσεις ενώ χειρίζονται παραληφθέντα αντικείµενα συµβάντων και ενώ η µετάδοση συνεχίζεται. Χρειάζεται προσεκτικός ορισµός της συµπεριφοράς του συστήµατος για την λύση των πιο πάνω προβληµάτων. Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 2

3 Πολλαπλά Nήµατα Ο όρος πολλαπλά νήµατα (multithreading) περιλαµβάνει την υποστήριξη συγχρονισµού σε περιπτώσεις που µοιράζονται τον ίδιο χώρο κατάστασης.η πολυπλοκότητα έναντι των σειριακών προγραµµάτων αυξάνει σηµαντικά. Υπάρχουν αντιθέσεις σε ταυτόχρονα reads και writes σε µεταβλητές. Για συγχρονισµό χρησιµοποιούνται τεχνικές κλειδώµατος αλλά και πάλι υπάρχει προβληµα αδιεξόδου όταν το κλείδωµα είναι πολύ συντηρητικό ή µε λάθος ακολουθία. Στη χρησιµοποίηση πολλαπλών νηµάτων υπάρχει καλύτερη κατανοµή απόδοσης αν και η ολική απόδοση µεγιστοποιείται µε την προτίµηση για εξυπηρέτηση κλήσεων µε τον ελάχιστο χρόνο εκτέλεσης. Με συγχρονισµό ακόµα και χωρίς αδιέξοδα η απόδοση µπορεί να µειωθεί. Tο παρατεινόνενο κλείδωµα συχνά χρησιµοποιούµενων κοινών πόρων πρέπει να αποφεύγεται. Η προώθηση εξαιρέσεων διά µέσου ορίων νηµάτων δηµιουργεί πρόβληµα χειρισµού ασύγχρονων εξαιρέσεων. Η διόρθωση λαθών κώδικα είναι εξαιρετικά δυσκολη όταν αυτός χρησιµοποιεί πολλαπλά νήµατα και πολύπλοκα σχήµατα κλειδώµατος. Στο πλαίσιο προγραµµατισµού µεταβολών (transactional program ming) µπορεί να παρατηρηθεί ελάττωση της πολυπλοκότητας. Αυτό λειτουργεί στη βάση απόκτησης ικανού αριθµού ασφαλειών από κάθε µεταβολή, που στην αντίθετη περίπτωση αποβάλλει αντί να παραµένει σε αδιέξοδο Eκµάθηση από το Σχεδιασµό Kυκλώµατος Χρησιµοποίηση προτύπων της ηλεκτρονικής: Αντί οι υπολογισµοί να οδηγούνται σαν αποτέλεσµα κλήσεων, οι κλήσεις µπαίνουν σε ουρά και προωθούνται σε σειρά που αποφασίζεται από το σχεδιασµό του συστήµατος παρά τη εµφάνιση κλήσεων. Έτσι υπάρχει χρησιµοποίηση διεργασιών και ασύγχρονης επικοινωνίας µεταξύ τους, παρά νήµατα µε παρενέργειες συγχρονισµού (σύστηµα πραγµατικού χρόνου µε προσέγγιση συγχρονισµού είναι το Esterel). Οι υπολογισµοί µπορούν να διαχωρισθούν σε ατοµικές εκτελέσεις ή πράξεις (atomic actions),που πυροδοτούνται από ακολουθία συµβάντων του συστήµατος. Υπάρχει πάντα µία πράξη που εκτελείται σε κάθε διεργασία. Συνθήκες µπορούν να υπάρχουν για τη διαθεσιµότητα των εκτελέσεων αυτών, και βάση αυτού µπορεί να αποφασισθεί η σειρά τους. Η επικοινωνία τους βασίζεται σε παρενέργειες από καταστάσεις συστατικών. Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 3

4 Aποφυγή ιαδοχής Eφαρµογών Η διαδοχή εφαρµογών ανάµεσα σε συστατικά καταλήγει σε προβλήµατα και οδηγεί στη χρησιµοποίηση απλής σύνθεσης αντικειµένου και προώθησης µυνηµάτων, λύσεις που ωστόσο παρουσιάζουν αδυναµίες σε µικρές προσαρµογές. Είναι απλό να δηµιουργηθούν υποτάξεις µε δεκάδες µεθόδους και να επανεγραφούν µόνο λίγες από αυτές. Αντιθέτως είναι δύσκολο να δηµιουργηθούν νέοι υποδοχείς τάξεων που απλά προωθούν µερικές κλήσεις µεθόδων. Όταν οι µέθοδοι ενός αντικειµένου σχηµατίζουν µέτρια σύνολα διασυνδέσεων, η συγκρότηση τύπου COM βοηθά στην αποφυγή συνεπειών της προώθησης στην απόδοση. Μια λύση είναι ο κώδικας για µία τάξη να βασίζεται στις διασυνδέσεις των αντικειµένων που θα προωθηθούν. Το κύριο µειονέκτηµα είναι ότι καθώς ο δηµιουργηθής κώδικας πρέπει να εκδοθεί, οι αλλαγές στις ζητούµενες διασυνδέσεις αντικειµένου απαιτούν επαναδηµιουργία και επανέκδοση ή διά χειρός διόρθωση του κώδικα που υπάρχει. Άλλη λύση είναι η χρήση ενός µηχανισµού προτύπου (templates) όπως της C++, που γεννά τον απαιτούµενο κώδικα τη στιγµή της µεταγλώττισης. Aντί να εκδίδεται ο παραγόµενος κώδικας παραµετροποιούνται τα πρότυπα. O τελικός κώδικας τότε παράγεται από το µεταγλωττιστή βάση των παραµέτρων του προτύπου.tα µειονεκτήµατα είναι: έν µπορεί να γίνει έλεγχος τύπων του προτύπου και ο µεταγλωττιστής µπορεί να αναφέρει λάθη όταν προωθεί ενάρξεις τιµών του προτύπου. Ένα πρότυπο δεν µπορεί να µεταγλωττισθεί ξεχωριστά και αυτό οδηγεί σε εξογκωµένο κώδικα και αδυναµία σύνδεσης εννοιών του προτύπου H Tάξη-Kελύφος Η τρίτη λύση είναι η χρησιµοποίηση διαδοχής εφαρµογών, δεδοµένου ότι οι τάξεις εκδίδονται µε πλήρη µορφή και παραµένουν αναλλοίωτες. Για διασυνδέσεις συστατικών που αναλαµβάνουν την προώθηση αντικειµένων, µπορεί να υπάρξει µία τάξη-κέλυφος (nutshell-class) που απλοποιεί τον προγραµµατισµό τους. Αυτή έχει την ίδια διασύνδεση όπως το αντικείµενο που προωθεί και όλες οι µέθοδοι εφαρµόζονται σαν απλές ωθήσεις στο ζητούµενο αντικείµενο. Και αυτές οι τάξεις είναι ιδεατές, παρόλο που όλες οι µέθοδοι εφαρµόζονται. Mε σκοπό την δηµιουργία προωθητή που παρεµβάλλεται µε κλήσεις µεθόδων, µπορούν να γίνουν υποτάξεις. Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 4

5 Yποστήριξη Γλώσσας Η τέταρτη και προτιµότερη θα ήταν η υποστήριξη γλώσσας. Όταν η δηµιουργία µίας προωθούµενης γλώσσας υποστηρίζεται απ ευθείας από την γλώσσα προγραµµατισµού, όλα τα µειονεκτήµατα που είδαµε ως τώρα µπορούν να αποφευχθούν. Στη C++ ο µηχανισµός εικονικών βασικών τάξεων δεν επιτρέπει το µοίρασµα βασικών τάξεων αντικειµένων σε διαφορετικά αντικείµενα. Επίσης δεν επιτρέπει δυναµικές αλλαγές βασικών τάξεων αντικειµένων, ή ξεχωριστές υποτάξεις εικονικών βασικών τάξεων. Μια γλώσσα που υποστηρίζει δυναµική διαδοχή από ένα αντικείµενο είναι η Objective-C υναµικά Bασικά Aντικείµενα µε Σηµασιολογία Προώθησης Μία υποθετική επέκταση της Component Pascal θα εισήγαγε τον απαιτούµενο µηχανισµό: εκεί που η Component Pascal ορίζει βασικούς τύπους µίας καταχώρησης, θα µπορούσε να εισαχθεί ένας βασικός δείκτης. Ακολουθεί το παράδειγµα µίας διασύνδεσης view: TYPE View=POINER TO ABSTRACT RECORD (v: View) Restore, NEW, ABSTRACT; (*many more methods*) END; Στην Component Pascal,ο τύπος αντικειµένων παρουσίασης αντικειµένων παρουσίασης κειµένου που κληρονοµεί διασύνδεση και εφαρµογή από το View θα είναι: TYPE TextView=POINTER TO RECORD (View) (v: TextView) Restore; (* implement other View methods *) (v: TextView) ThisText(): TextModel; (* other text view specific methods *) END; Οι µηχανισµοί προώθησης µπορούν να εισαχθούν µε τροποποιήσεις των βασικών τύπων. Tοακόλουθο παράδειγµα θεωρεί τους τύπους αντικειµένων που δέχονται τις µεθόδους View, αλλά ανακόπτουν τη µέθοδο Restore. Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 5

6 υναµικά Bασικά Aντικείµενα µε Σηµασιολογία Προώθησης TYPE Decorator=POINTER TO ABSTRACT RECORD (v:view) (d: Decorator) Restore; (*other View method invocations are forwarded to base object v *) (d: Decorator) GetProperties ( ), NEW, ABSTRACT; (d: Decorator) SetProperties ( ), NEW, ABSTRACT; END; PROCEDURE (d: Decorator) Restore; BEGIN d.v.restore; (*forward to base object: restore it first *) (*draw decoration *) END Restore; Tο αντικείµενο Decorator διακοσµεί την παρουσίαση βάση ιδιοτήτων που εκδίδονται. Καθώς χρησιµοποιεί δυναµικές αναφορές στο αντικείµενο View µπορεί να προστεθεί σε οποιοδήποτε αντικείµενο παρουσίασης - και αυτά που έχουν ήδη διακοσµηθεί όπως το TextView. Συντακτικά η επέκταση εισάγει ένα όνοµα πεδίου, που προαιρετικά τίθεται µπροστα από το όνοιµα του βασικού τύπου. Σηµασιολογικά αν µία µέθοδος µείνει ανεφάρµοστη σε περιέχον αντικείµενο, οι κλήσεις προωθούνται στο βασικό αντικείµενο. Tα πεδία και οι µεθόδοι που κατέχει το View έχουν διαδοχή στο Decorator. Επίσης στις υπερκλήσεις από το Decorator η κληθείσα µέθοδος ανήκει στο αντικείµενό του και όχι στο view. Με αυτή την πρόταση το αντικείµενο Decorator µπορεί να περάσει σε ένα πλαίσιο που περιµένει ένα αντικείµενο View χωρίς να παρακάµπτει τον διακοσµητή. Στη Component Pascal,η κατάσταση εξαγωγής ενός πεδίου, µπορεί να οδηγηθεί να είναι ιδιωτική σε διαµορφωτή, εξαχθείσα read-only ή πλήρως εξαχθείσα.οι ίδιοι τρεις τύποι εξαγωγής είναι πιθανοί για το πεδίο βασικού αντικειµένου. Αν το πεδίο δεν εξαχθεί τότε οι πελάτες δεν µπορούν να ξέρουν αν αυτό το αντικείµενο χρησιµοποιεί το βασικό αντικείµενο. Tο µόνο που µπορούν να δουν είναι ότι τύπος έχει ένα υπερτύπο. Αν το πεδίο εξαχθεί σαν read-only, τότε το βασικό αντικείµενο δίδει απλά πρόσβαση χωρίς δικαίωµα αντικατάστασης. Αυτό µπορεί να χρησιµοποιηθεί για ύπαρξη σταθερών βασικών αντικειµένων που ρυθµίζονται την στιγµή της δηµιουργίας τους και µένουν αναλλοίωτα. Τέλος αν τα πεδία γίνουν πλήρως εξαχθέντα τότε υπάρχει δικαίωµα αλλαγής. Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 6

7 υναµικά Bασικά Aντικείµενα µε Σηµασιολογία Προώθησης Στο παράδειγµα ένας πελάτης µπορεί να πάρει ένα διακοσµητή έξω από την τρέχουσα παρουσίασή του και να τον εισάξει σε µία νέα παρουσίαση (view): TYPE DecoratorRewrite=POINTER TO ABSTRACT RECIRD (View) v:view; (d: Decorator) Restore; (*Other view method invocations are forwarded to base object v*) (d: Decorator) GetProperties ( ),NEW, ABSTRACT; (d: Decorator) SetProperties ( ),NEW, ABSTRACT END; (*methods explicitly handled are not changed:*) PROCEDURE (D: DECORATORREWRITE) Restore; BEGIN d.v.restore; (*forward to base object:restore it first *) (* draw decoration *) END Restore; (*rewrite all View methods that are not overwritten in Decorator:*) PROCEDURE (d: DecoratorRewrite) Method ( ); BEGIN d.v.method( ) (*forward to base object*) END Method; O κανόνας επανεγγραφής (rewriting) µπορεί να ορίσει τον µηχανισµό προώθησης. Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 7

8 H Συµπερίληψη του Kαλούντος κώδικα Η υποστήριξη από γλώσσα ωφελεί και τους ορισµούς διασυνδέσεων συστατικών. Εσωτερικός κωδικας του συστατικού µπορεί να ενεργοποιεί διεργασίες που εφαρµόζουν µία διασύνδεση (outgoing interface).μόνο η Component Pascal υποστηρίζει πλήρως αυτό το πρότυπο. Εξωτερικός κώδικας προκαλεί τις διεργασίες µίας διασύνδεσης (incoming interface). Σαν παράδειγµα η βασική τάξη Object εισάγει την Object.finilize µέθοδο για συλλογή αχρήστων η οποία είναι προστατευόµενη σαν outgoing και µπορεί να ενεργοποιηθεί µε κώδικα από την εισάγουσα τάξη ή µία υποτάξη της ή τα πακέτα που τις περιέχουν. Επιπλέον µία υποτάξη µπορεί να επαναορίσει µία προστατευµένη µέθοδο σαν public δίδοντας πρόσβαση σε όλες τις άµεσες και έµµεσες περιπτώσεις υποτάξεων. Άλλα Java αντικείµενα µπορούν απλά να την εφαρµόσουν σαν incoming όπως τα FileOutputStream για αποδέσµευση εξωτερικών πηγών στις οποίες ο συλλέκτης δεν έχει πρόσβαση. Οι ιδιότητες των προστατευµένων µεθόδων εµποδίζουν τις περισσότερες λανθασµένες κλήσεις, όχι όµως στο βαθµό που να επιτρέπει στο βασικό πακέτο να υποστηρίξει ένα αµετάβλητο κανόνα που να απαγορεύει σε εξωτερικό για το πακέτο κώδικα να ενεργοποιεί τέτοιες µεθόδους. Ο µόνος τρόπος για γλώσσες όπως η Java και C++ είναι να χαρακτηρισθούν αυτές οι µεθόδοι σαν private, κάτι που δεν θα επέτρεπε την εξωτερική εφαρµογή της. Υπάρχει ανάγκη για συµπερίληψη (encapsulation) δηλ. καθορισµού ορίων του καλούντος µία µέθοδο κώδικα. Στη Component Pascal µία µέθοδος µπορεί να χαρακτηρισθεί implement only και ακολούθως µπορεί να επανεγγραφεί έξω από τον ορίζοντα διαµορφωτή σαν κανονικά εξαχθείσα µέθοδος. Ο µηχανισµός προστασίας βρίσκεται στο επίπεδο των διαµορφωτών. Οι κλήσεις µπορούν να έρθουν απο φιλικές τάξεις ή διεργασίες του ίδιου διαµορφωτή. Η Object.finilize στην Component Pascal ορίζεται σαν TYPE ANYPTR=POINTER TO ANYREC; ANYREC=ABSTRACT RECORD (A: ANYPTR) FINILIZE-,NEW,EMPTY; END; Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 8

9 H Συµπερίληψη του Kαλούντος Kώδικα O τύπος ANYREC είναι έµµεσος βασικός όλων των τύπων καταχωριτών στην Component Pascal,παρόµοια µε τη ταξη Object σαν έµµεση βασική τάξη όλων των τάξεων στη Java. Οι περιορισµοί στην πρόσβαση γίνονται µε ενδείξεις εξαγωγής (export marks) που ακολουθούν κάθε νέο ενδείκτη. Υπάρχουν µόνο δύο ενδείκτες εξαγωγής: * και -. Ένας ενδείκτης µε σήµα * εξάγεται µε τον ορισµό του, από το διαµορφωτή που τον ορίζει. Ένας ενδείκτης µε σήµα - εξάγεται σαν read-only. Ο τύπος ANYREC ορίζεται ευρέως, δηλαδή είναι µέρος της γλώσσας και ορισµένος έξω από κάθε κανονικό διαµορφωτή. Έτσι η µέθοδος FINALIZE µπορεί να κληθεί µόνο από το συλλέκτη του συστήµατος. Η συµπερίληψη του καλούντος τυγχάνει καλής χρήσης σε ορισµένα σηµεία της BlackBox. Για παράδειγµα σηµαντικές µεθόδοι παρουσίασης (view) µπορούν να κλειθούν µόνο έµµεσα από την υποδοµή. Αν η υποδοµή έχει πάρει εξαίρεση από προηγούµενη κλήση της µεθόδου στην ίδια παρουσίαση, τότε σταµατά να προωθεί τέτοιες κλήσεις. Οι ελαττωµατικές παρουσιάσεις έτσι φθείνουν χωρίς να γίνονται τελείως άχρηστες, ή να ενοχλούν το σύστηµα. Η BlackBox είναι από τις λίγες υποδοµές στις οποίες η παρουσίαση ενσωµατώνεται σε σύνθετο κείµενο χωρίς να το θέτει σε ευρύ κίνδυνο. Για παράδειγµα µία παρουσίαση µε ελαττωµατικό Restore θα επικαλυφθεί από την υποδοµή µε γκρίζα περιοχή σαρώσεως και οι κλήσεις στο Restore θα σταµατήσουν. Εν τούτοις επειδή τα χειριστήρια της παρουσίασης ακόµη δουλεύουν αυτό µπορεί να φυλαχθεί και να επαναφορτισθεί µε νέα παρουσίαση, όταν το εφαρµόζον συστατικό της µεθόδου έχει διορθωθεί. Ακόµη ένα παράδειγµα συµπερίληψης καλούντος κώδικα από την BlackBox είναι αυτή µε τις µεθόδους Externilize και Internalize ενός αντικειµένου για απόκρυψή του απο λανθασµένες κλήσεις. Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 9

10 15.2 Tο Περιβάλλον -Eπιλογή Yποδοµής Ένα αντικείµενο συστατικού δεν µπορεί να λειτουργήσει έξω από ένα καθορισµένο περιβάλλον. Εν τούτοις ένα αντικείµενο µπορεί να σχεδιασθεί για λειτουργία σε πολλαπλά περιβάλλοντα ταυτόχρονα. Ανάλογα µε την αρχιτεκτονική του συστήµατος, οι υποδοµές µπορούν να χωρισθούν σύµφωνα µε διάφορους ρόλους, όπου κάθε υποδοµή µπορεί να αναλαµβάνει ένα συγκεκριµένο µηχανισµό που λειτουργεί µεταξύ των συστατικών. Η υποδοµή κατανοµής µπορεί να είναι υπεύθυνη για την κατανοµή των περιπτώσεων των συστατικών στις µηχανές. Άλλη υποδοµή µπορεί να είναι υπεύθυνη για την ολοκλήρωση του σύνθετου κειµένου. Ένα συστατικό µπορεί να έρχεται σε επαφή και µε τις δύο υποδοµές για εφαρµογή των αντικειµένων που µπορεί και να είναι κατανεµηµένα και να λειτουργούν σε σύνθετο κείµενο. Η ανάπτυξη υποδοµών συστατικών δεν συµβαδίζει µε την ολοκλήρωση της αρχιτεκτονικής συστατικών. Η συµβατότητα διαφορετικών υποδοµών είναι σχεδόν ανύπαρκτη καθώς σχεδιάζονται αποµονωµένα και επιµένουν σε πλήρη έλεγχο Eπιλογή Γλώσσας Προγραµµατισµού Θεωρητικά ο προγραµµατισµός συστατικών µπορεί να κάνει χρήση οποιασδήποτε γλώσσας. Προϋποθέσεις: Πολυµορφικός χειρισµός άλλων συστατικών. Αργή σύνδεση (για δυναµικές αλληλεπιδράσεις µε άλλα συστατικά). Συµπερίληψη και ασφάλεια τύπων για παραµέτρους ασφάλειας - ασφάλεια διαµορφωτών. Αντικειµενοστρεφής άλλα και συναρτησιακός προγραµµατισµός. Πολλές γλώσσες δεν υποστηρίζουν συµπερίληψη, πολυµορφισµό, ή ασφάλεια τύπων και διαµορφωτών.tώρα η δεσπόζουσα συστατικοστρεφής γλώσσα είναι η Java, παρόλο που έχει κάποιες αδυναµίες στην ασφάλεια διαµορφωτών. Υποστηρίζει ασφάλεια πρόσβασης στο επίπεδο πακέτων. Οι νέες τάξεις όµως που εισέρχονται στο πακέτο αποκτούν πρόσβαση στους µηχανισµούς αφαλείας του. Άλλες συστατικοστρεφείς γλώσσες: Modula-3. Oberon. Component Pascal που υποστηρίζει ασφάλεια πρόσβασης στο επίπεδο διαµορφωτών. Ada 95. Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 10

11 Eπιλογή Γλώσσας Προγραµµατισµού Στο πλαίσιο της δυναµικής απόκτησης αρχείων τάξεων από απόµακρους εξυπηρετητές, υπάρχει περισσότερη πολυπλοκότητα. Αυτά που ανήκουν στο ίδιο πακέτο θα πρέπει να εξακριβωθεί ότι προέρχονται από την ίδια µεταγλώττιση. Για να επιτρέψει περισσότερο ανοικτές ρυθµίσεις, η Java µπορεί να ωφεληθεί από µία κλειστή δοµή διαµορφωτών όπου τέτοιοι διαµορφωτές αντιστοιχούν προς ένα µεταγλωττισµένο αρχείο για κατανοµή. Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 11

12 15.4 Kατανοµή και Aπόκτηση Συστατικών Εξ ορισµού τα συστατικά είναι µονάδες ανάπτυξης. Η ύπαρξή τους σχετίζεται µε την ολοκλήρωση προϊόντων από ανεξάρτητους πωλητές για κάποιο κοινό στόχο. Oιδύο τεχνικές πλευρές του θέµατος είναι η κατανοµή και η απόκτηση συστατικών. Το πρότυπο του Java applet είναι ένα παράδειγµα µίας εντελώς χαοτικής προσέγγισης. Η κατανοµή χρειάζεται υποστήριξη από τεχνικές αγοράς και η απόκτηση καλύτερους τρόπους εύρεσης. Η κατάσταση είναι διαφορετική για την κερδοφόρα αγορά χειριστηρίων της Visual Basic και τώρα της ActiveX. Χιλιάδες τέτοια χειριστήρια κατανέµονται επιτυχώς στην αγορά. Η απόκτηση υποστηρίζεται από καταλόγους των προς διάθεση χειριστηρίων αλλά αρκετά ακόµη αποκτούνται µε τυχαία εύρεση. Τεχνικά αυτό που χρειάζεται είναι οι χαρακτηρισµοί της λειτουργικότητας των συστατικών και των προϋποθέσεων της πλατφόρµας στην οποία θα τρέξουν, να ταξινοµηθούν σε καταλόγους. Σ αυτό το θέµα γίνεται ακόµη έρευνα. Επιπλέον πρέπει να αποφευχθεί η εισαγωγή στην αγορά ελαφρών µικροσκοπικών συστατικών. Το επόµενο πρόβληµα βρίσκεται στις υποδοµές συστατικών. Η συνένωση συστατικών απαιτεί την προσεκτική επιλογή της κατάλληλης υποδοµής.οι εξειδικευµένες υποδοµές θα µπορούσαν να είναι ένα αποτελεσµατικό κριτήριο και για την επιλογή των κατάλληλων συστατικών που δουλεύουν µε την αντίστοιχη υποδοµή. Η τοποθέτηση των συστατικών και των πωλητών τους βασιζόµενοι στις προϋποθέσεις τους είναι επίσης προβληµα. Μια προσέγγιση µε δυναµική είναι η οντολογική,όπου µία οντότητα καλύπτει την γνώση των οντοτήτων ενός σύµπαντος (βασιζοµένη σε σχήµα ανταλλαγής γνώσεων). Αυτό έχει γίνει στο Stanford από την επιτροπή ANSI X3T2. Μια οντολογική αποθήκη για αντικειµενοστρεφή συστατικά έχει γίνει από την κοινοπραξία Corinto (από ην IBM, Apple και Selfin). M ια µελέτη για αποθήκες συστατικών CORBA έχει γίνει επίσης στο Stanford. Άλλο θέµα είναι η τεχνική υποδοµή που χρειάζεται για ηλεκτρονικές διόδους κατανοµής. Καθώς τα συστατικά µπορούν να µεταφέρονται σαν µέρη συναρµολογήσεων, πρέπει να υπάρξει µηχανισµός αδειών που να διακρίνει διαφορετικές µορφές χρήσης. Στην πληρωµή ανά χρήση τα τέλη στις πλήστες των περιπτώσεων είναι χαµηλά. Υπάρχουν επίσης προµηθευτές υπηρεσιών που χρεώνουν µία σταθερή συνδροµή και πληρώνουν οι ίδιοι τέλη χρήσης στους προµηθευτές. Aνάπτυξη Kατανοµή και AπόκτησηΣυστατικών 12

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Έξη - Συνδετικά Kριτήρια Aντικειµένων και Συστατικών

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Έξη - Συνδετικά Kριτήρια Aντικειµένων και Συστατικών Kεφάλαιο Έξη - Συνδετικά Kριτήρια Aντικειµένων και Συστατικών 1 6.1 Προέλευση H διαλειτουργικότητα του λογισµικού περιοριζόταν στην κλήση συνθηκών στο επίπεδο διεργασιών. Κανένα λειτουργικό δεν υποστήριζε

Διαβάστε περισσότερα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Προοπτικές. Kεφάλαιο Tρία - Mεγέθους και ιαµελισµού Eνός Συστήµατος σε Συστατικά

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Προοπτικές. Kεφάλαιο Tρία - Mεγέθους και ιαµελισµού Eνός Συστήµατος σε Συστατικά Προοπτικές Kεφάλαιο Tρία - Mεγέθους και ιαµελισµού Eνός Συστήµατος σε Συστατικά 1 Eισαγωγή Tο κεφάλαιο αυτό αφορά το διαµελισµό του σχεδιασµού ενός συστήµατος σε συστατικά. H κατασκευή ενός γενικού συστατικού

Διαβάστε περισσότερα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Ένδεκα - Στρατηγική Σύγκριση

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Ένδεκα - Στρατηγική Σύγκριση Kεφάλαιο Ένδεκα - Στρατηγική Σύγκριση 1 11.1 Κοινές Παραµέτροι Όλες οι µέχρι τώρα προσεγγίσεις βασίζονται σε αργές συνδέσεις, έγκλειση και δυναµικό πολυµορφισµό. Επίσης όλες υποστηρίζουν διαδοχή διασυνδέσεων.

Διαβάστε περισσότερα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο εκαέξη - Συναρµολόγηση Συστατικών

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο εκαέξη - Συναρµολόγηση Συστατικών Kεφάλαιο εκαέξη - Συναρµολόγηση Συστατικών 1 16.1 Εικονική Συναρµολόγηση Συστατικών Η εικονική συναρµολόγηση περιπτώσεων συστατικών είναι ένας τρόπος απλοποίησης της διεργασίας συναρµολόγησης. Στη JavaBeans

Διαβάστε περισσότερα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο εκατρία - Aρχιτεκτονική Συστατικών

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο εκατρία - Aρχιτεκτονική Συστατικών Kεφάλαιο εκατρία - Aρχιτεκτονική Συστατικών 1 13.1 Ο Pόλος της Aρχιτεκτονικής Η σηµασία της αρχιτεκτονικής λογισµικού. Κατευθυντήριες γραµµές για σχεδιασµό και εφαρµογή. Εξασφάλιση βάσης για ανεξαρτησία

Διαβάστε περισσότερα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο ύο - Tι Eίναι και Tι δεν Eίναι Συστατικό

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο ύο - Tι Eίναι και Tι δεν Eίναι Συστατικό Kεφάλαιο ύο - Tι Eίναι και Tι δεν Eίναι Συστατικό 1 Tι Eίναι και τι δεν E ίναι Συστατικό H σύγχιση µεταξύ συστατικού (component) και αντικειµένου (object): Kαι τα δύο προέρχονται από τύπους ή κατηγορίες

Διαβάστε περισσότερα

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

Διαβάστε περισσότερα

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1 Νήµατα ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων Κατανεµηµένα Συστήµατα 10-1 ιεργασίεςκαι νήµατα ιεργασία 1 Μνήµη ιεργασία 2 Μνήµη ιεργασία 3 Μνήµη Λειτουργικό Σύστηµα

Διαβάστε περισσότερα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Πέντε - Tα Όρια του Προγραµµατισµού

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Πέντε - Tα Όρια του Προγραµµατισµού Kεφάλαιο Πέντε - Tα Όρια του Προγραµµατισµού 1 5.1 ιαφορετικές Mεθόδοι Προγραµµατισµού για ιαφορετικούς Προγραµµατιστές Πρότυπες δραστηριότητες που δεν συνταυτίζονται µε τον καθ αυτό προγραµµατισµό αλλά

Διαβάστε περισσότερα

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

Διαβάστε περισσότερα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο ώδεκα - Kαθορισµός Προτύπων Περιοχών

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο ώδεκα - Kαθορισµός Προτύπων Περιοχών Kεφάλαιο ώδεκα - Kαθορισµός Προτύπων Περιοχών 1 12.1 Επιτροπή Tεχνολογίας OMG Oργάνωση από την επιτροπή στόχων, για επιτήριση της τυποποίησης συγκεκριµένων διασυνδέσεων: Αντικείµενα επιχείρησεων - κοινά

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7.7 Πρωτόκολλο Μέχρι τώρα έχουμε αναφέρει, ότι, για να μεταδοθούν τα αυτοδύναμα πακέτα στο φυσικό μέσο, πρέπει αυτά να μετατραπούν σε πακέτα φυσικού δικτύου (π.χ. Ethernet). Όμως, δεν έχει ειπωθεί τίποτε

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13 Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις

Διαβάστε περισσότερα

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

Διαβάστε περισσότερα

Διαγράμματα Κλάσεων στη Σχεδίαση

Διαγράμματα Κλάσεων στη Σχεδίαση Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν

Διαβάστε περισσότερα

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Μεταγλωττιστής Πρόγραμμα Διαβάζει προγράμματα δεδομένης γλώσσας (πηγαία γλώσσα) και τα μετατρέπει

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού ΚΕΦΑΛΑΙΑ XIII, XIV Ένας προγραμματιστής ανεξάρτητα από το πόσο ικανός είναι, όταν δημιουργεί ένα πρόγραμμα, είναι φυσικό να κάνει ορισμένα λάθη. Σε ένα πρόγραμμα είναι δυνατό να παρουσιαστούν διαφορετικής

Διαβάστε περισσότερα

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει. οµηµένες τεχνικές Ο στόχος των δοµηµένων τεχνικών είναι: Υψηλής ποιότητας προγράµµατα Εύκολη τροποποίηση προγραµµάτων Απλοποιηµένα προγράµµατα Μείωση κόστους και χρόνου ανάπτυξης. Οι βασικές αρχές τους

Διαβάστε περισσότερα

Wrapper Classes, Abstract Classes and Interfaces

Wrapper Classes, Abstract Classes and Interfaces Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας ρ. Πάνος Φιτσιλής Περιεχόµενα Βασικές έννοιες αντικειµενοστεφούς τρόπου ανάπτυξης Τι είναι κλάση Τι είναι αντικείµενο 2 Βασικές

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το Σηµαντικά σηµεία κεφαλαίου Τα τρία στάδια επίλυσης ενός προβλήµατος: Ακριβής προσδιορισµό του προβλήµατος Ανάπτυξη του αντίστοιχου αλγορίθµου. ιατύπωση του αλγορίθµου σε κατανοητή µορφή από τον υπολογιστή.

Διαβάστε περισσότερα

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12 Διάγραμμα κλάσεων [Class diagram] Διάλεξη #12: Υπο-τύποι και πολυμορφισμός [sub-typing and polymorphism] Database Music Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών ΜΟΡΥΕ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Διαδικασιακός ή Διαδικαστικός (Procedural)

Διαβάστε περισσότερα

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

Διαβάστε περισσότερα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

Διαβάστε περισσότερα

Μεταγλωττιστές. Σημασιολογική Ανάλυση. Εργαστήριο 9. Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι

Μεταγλωττιστές. Σημασιολογική Ανάλυση. Εργαστήριο 9. Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι Μεταγλωττιστές Εργαστήριο 9 Σημασιολογική Ανάλυση Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι 2016-2017 Σύνταξη και Σημασιολογία Σε οποιαδήποτε γλώσσα (προγραμματισμού ή μη) υπάρχουν δύο βασικές

Διαβάστε περισσότερα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Tέσσερα - Πρότυπα, Yποδοµές και Aρχιτεκτονικές

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Tέσσερα - Πρότυπα, Yποδοµές και Aρχιτεκτονικές Kεφάλαιο Tέσσερα - Πρότυπα, Yποδοµές και Aρχιτεκτονικές 1 Eισαγωγή Η µηχανική λογισµικού ακολουθεί καθοδηγήσεις και παραδείγµατα από έµπρακτους σχεδιασµούς, έτσι ώστε να καταλήγει στις σωστές αποφάσεις.

Διαβάστε περισσότερα

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

Διαβάστε περισσότερα

Γενικά (για τις γραπτές εξετάσεις)

Γενικά (για τις γραπτές εξετάσεις) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 3 1. Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή 2. Δυναμικές είναι οι δομές που αποθηκεύονται σε συνεχόμενες θέσεις μνήμης 3. Ένας πίνακας

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

Διαβάστε περισσότερα

Νήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1

Νήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1 Νήµαταστην Java Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων Κατανεµηµένα Συστήµατα 11-1 Νήµαταστην Java γεννηθείσα notify notifyall έτοιµη start εκπνοή

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Με τι ασχολείται ο αντικειμενοστραφής προγραμματισμός

Με τι ασχολείται ο αντικειμενοστραφής προγραμματισμός 1 2 Η Αρχή Ο αντικειμενοστραφής προγραμματισμός άρχισε να χρησιμοποιείται από τους προγραμματιστές, όταν ουσιαστικά ο διαδικαστικός (δομημένος) προγραμματισμός, δεν μπορούσε να ανταποκριθεί στις νέες απαιτήσεις

Διαβάστε περισσότερα

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ Μηχανισµός υλοποίησης των σχέσεων γενίκευσης/εξειδίκευσης µεταξύ κλάσεων Η σχέση εξειδίκευσης «υποκλάση-της» (subclass-of)είναι γνωστή σαν σχέση «είναι ένα» (isa) ή «είναι ένα είδος» (ako:

Διαβάστε περισσότερα

class object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video

class object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video ιάγραµµα κλάσεων [Class diagram] Εβδοµάδα 2: Υπο-τύποι και πολυµορφισµός [sub-typing and polymorphism] Database Music Σχεδίαση-Ανάπτυξη Εφαρµογών Πληροφορικής Αντώνιος Συµβώνης, ΕΜΠ, Slide 1 Σχεδίαση-Ανάπτυξη

Διαβάστε περισσότερα

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Γρηγόρης Πράσινος Υποψήφιος ιδάκτωρ Τµήµα Μηχ/κων Η/Υ &

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 1: Αντικειμενοστραφής Προγραμματισμός Εισαγωγή OBJECT-ORIENTED PROGRAMMING ΔΙΔΑΣΚΟΝΤΕΣ: Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ

Διαβάστε περισσότερα

Νέα λειτουργικότητα - Βελτιώσεις. Έκδοση /02/2016. Ημ/νία έκδοσης 10/02/2016 1

Νέα λειτουργικότητα - Βελτιώσεις. Έκδοση /02/2016. Ημ/νία έκδοσης 10/02/2016 1 Έκδοση 21.28 10/02/2016 Ημ/νία έκδοσης 10/02/2016 1 Περιεχόμενα Νέα λειτουργικότητα... 3 Ελληνικά λογιστικά πρότυπα... 3 Παρακρατούμενοι φόροι... 3 Μαζικές πληρωμές... 3 Αναστολή πληρωμών... 3 Δραστηριότητα

Διαβάστε περισσότερα

Υπολογιστική Νέφους Cloud computing

Υπολογιστική Νέφους Cloud computing Υπολογιστική Νέφους Cloud computing Χρ. Ηλιούδης Clouds Cloud computing??? Διείσδυση του Cloud Ορισμός - χαρακτηριστικά Ο όρος cloud έχει τις ρίζες στου στην αρχή του internet όπου συνήθιζαν να το αναπαριστούν

Διαβάστε περισσότερα

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής ιατύπωση του προβλήματος (1) Τα συστήματα αναμονής (queueing systems), βρίσκονται

Διαβάστε περισσότερα

Επώνυµη ονοµασία. Ενότητα 13 η Σχεδίαση,Επιλογή, ιανοµή Προϊόντων 1

Επώνυµη ονοµασία. Ενότητα 13 η Σχεδίαση,Επιλογή, ιανοµή Προϊόντων 1 Επώνυµη ονοµασία Η επώνυµη ονοµασία είναι αυτή η ονοµασία που ξεχωρίζει τα προϊόντα και τις υπηρεσίες µας από αυτές των ανταγωνιστών. Οι σχετικές αποφάσεις θα επηρεαστούν από τις εξής ερωτήσεις: 1. Χρειάζεται

Διαβάστε περισσότερα

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου Αντικειμενοστρέφεια Henri Matisse, Harmony in Red, 1908 Κωστής Σαγώνας Νίκος Παπασπύρου Ορισμοί αντικειμενοστρέφειας Ποιοι είναι οι ορισμοί των παρακάτω; Αντικειμενοστρεφής

Διαβάστε περισσότερα

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών

Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Συμβολική γλώσσα Εκπαιδευτικού Υπολογιστή - Λογισμικό Υπολογιστών Πρόγραμμα σε γλώσσα μηχανής του ΕΚΥ Θέση μνήμης Περιεχόμενα μνήμης Εντολή (assembly) 0 0001 000000000011 lda 3 1 0011 000000000100 ada

Διαβάστε περισσότερα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα Η Υλοποίηση της Επικοινωνίας στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Ε Εξάµηνο, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002

Διαβάστε περισσότερα

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας

Προγραµµατισµός Ι Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Προγραµµατισµός Ι Νικόλαος Δ. Τσελίκας Εισαγωγή Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Αναδροµή Σύντοµη Αναδροµή Η γλώσσα προγραµµατισµού C είναι µία γλώσσα

Διαβάστε περισσότερα

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA 1. Εισαγωγή Τι είναι Νήµα; Κάθε νήµα εκτέλεσης είναι ουσιαστικά

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

Διαβάστε περισσότερα

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1 Επικοινωνία με μηνύματα Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Επικοινωνία με ανταλλαγή μηνυμάτων Η επικοινωνία με μηνύματα είναι ο πιο ευέλικτος τρόπος αλληλεπίδρασης σε κατανεμημένα συστήματα πιο

Διαβάστε περισσότερα

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

Διαβάστε περισσότερα

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται special report τoυ Γιώργου Φετοκάκη / gfetokakis@boussias.com Jobs scheduling Η χρυσή τοµή της αυτοµατοποίησης Μια λύση job scheduling πρέπει να είναι αρκετά περιεκτική. Πρέπει να υποστηρίζει την ενσωµάτωση

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

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

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

Μοτίβα Σχεδίασης (Design Patterns)

Μοτίβα Σχεδίασης (Design Patterns) Ενότητα 6 Μοτίβα Σχεδίασης (Design Patterns) Ορισµοί βασικές έννοιες. Σηµαντικά µοτίβα σχεδίασης: Παρατηρητής (Observer). Πρόσοψη (Façade). Προσαρµογέας (Adapter). Πληρεξούσιος (Proxy). Μοναχοπαίδι (Singleton).

Διαβάστε περισσότερα

6. 1 Η έννοια του προγράμματος

6. 1 Η έννοια του προγράμματος 6. 1 Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, τρία στάδια. 1.Τον ακριβή προσδιορισμό του προβλήματος. 2.Την ανάπτυξη του αντίστοιχου αλγορίθμου. 3.Τη διατύπωση

Διαβάστε περισσότερα

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

Διαβάστε περισσότερα

Μάθηµα 3. Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας

Μάθηµα 3. Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας Μάθηµα 3 45 Ολοκληρωµένα Συστήµατα Βιβλιοθηκών Η έννοια του «Ολοκληρωµένου» Συστατικά (modules)( Καταλογογράφηση Προσκτήσεις ανεισµός ιαχείριση Περιοδικών ηµόσιος Κατάλογος (OPAC( OPAC-On-line Public Access

Διαβάστε περισσότερα

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ «ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ 1 4.1. Οριςμόσ φνθετων τφπων κλάςεων 2 Με εξαίρεςη τουσ βαςικούσ τύπουσ τησ Java (int, float, boolean, κλπ) τα

Διαβάστε περισσότερα

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1

Σύστηµα CORBA. Κατανεµηµένα Συστήµατα 18-1 Σύστηµα CORBA οµή συστήµατος Μεταβίβαση παραµέτρων Μοντέλα επικοινωνίας υναµικές κλήσεις Αναφορές αντικειµένων Ονόµατα αντικειµένων ιαχείριση αντικειµένων Υλοποίηση συστηµάτων CORBA Κατανεµηµένα Συστήµατα

Διαβάστε περισσότερα

Περιεχόμενα. Visio / White paper 1

Περιεχόμενα. Visio / White paper 1 Περιεχόμενα Τι είναι η πλατφόρμα Visio Αρχιτεκτονική Δουλεύοντας με το Περιεχόμενο Πηγές Περιεχόμενου Διαγραφή Περιεχομένου Βασικές Λειτουργίες Προφίλ Χρήστη Διαχείριση Χρηστών Σύστημα Διαφημίσεων Αποθήκευση

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

Διαβάστε περισσότερα

MicromediaFiscalServer v.1.1.

MicromediaFiscalServer v.1.1. MicromediaFiscalServer v.1.1. Ο MicromediaFiscalServer(MFS) επιτρέπει σε εµπορικές εφαρµογές να χρησιµοποιήσουν ταµειακή µηχανή σαν φορολογικό εκτυπωτή χωρίς να υλοποιήσουν άµεση επικοινωνία µε την ταµειακή.

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 1 η Εισαγωγή στη Γλώσσα C Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.

Διαβάστε περισσότερα

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

Διαβάστε περισσότερα

Ανάπτυξη Plugins για το AgentSheets

Ανάπτυξη Plugins για το AgentSheets Ανάπτυξη Plugins για το AgentSheets Thought Amplifier AgentSheets Ανάπτυξη Plugins AgentSheets 2.5 Συγγραφείς Τεκµηρίωσης: Alexander Repenning και Ronald Sudomo Εξελληνισµός Τεκµηρίωσης: Λίνος Βίγκλας,

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

Διαβάστε περισσότερα

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

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Sites:

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός; Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή

Διαβάστε περισσότερα

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

Διαβάστε περισσότερα

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

Διαβάστε περισσότερα

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 1 Κεφάλαιο 1: Εισαγωγή στην έννοια του αλγορίθμου και στον Προγραμματισμό. Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό

ΕΝΟΤΗΤΑ 1 Κεφάλαιο 1: Εισαγωγή στην έννοια του αλγορίθμου και στον Προγραμματισμό. Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό Εισαγωγή στην έννοια του Αλγορίθμου και στον Η έννοια του προβλήματος Γενικά ως πρόβλημα θεωρούμε κάθε ζήτημα που τίθεται προς επίλυση, κάθε κατάσταση που μας απασχολεί και πρέπει να αντιμετωπιστεί. Δεδομένα

Διαβάστε περισσότερα

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ Α) Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και δίπλα το γράμμα "Σ", αν είναι σωστή, ή το γράμμα "Λ", αν είναι λανθασμένη. (Μονάδες 25) 1. Ένα αδόμητο πρόβλημα είναι ταυτόχρονα και ανοικτό

Διαβάστε περισσότερα

Εργαλεία του JDK. Β.1 Εργαλεία του JDK. Β.2 Μεταγλωττιστής javac. Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω.

Εργαλεία του JDK. Β.1 Εργαλεία του JDK. Β.2 Μεταγλωττιστής javac. Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω. Εργαλεία του JDK Β.1 Εργαλεία του JDK Τα πιο βασικά εργαλεία του JDK είναι τα παρακάτω. O µεταγλωττιστής (compiler) της Java javac. O διερµηνευτής (interpreter) της Java java. Το υπεύθυνο εργαλείο για

Διαβάστε περισσότερα

ALERTS ή EDA (Event Driven Actions)

ALERTS ή EDA (Event Driven Actions) ALERTS ή EDA (Event Driven Actions) Το ALERTS είναι ένα ευέλικτο εργαλείο ανοιχτού σχεδιασµού που αναπτύχθηκε µε σκοπό να καλύψει ιδιαίτερες απαιτήσεις διαµόρφωσης ή επέκτασης της λειτουργικότητας όλων

Διαβάστε περισσότερα

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Oκτώ - O ρόµος της Microsoft: DCO M, OLE και ActiveX

Aρχές Σπονδυλωτού Προγραµµατισµού σε Kατανεµηµένα Συστήµατα. Kεφάλαιο Oκτώ - O ρόµος της Microsoft: DCO M, OLE και ActiveX Kεφάλαιο Oκτώ - O ρόµος της Microsoft: DCO M, OLE και ActiveX 1 8.1 Tο Bασικό Πρότυπο Σύνδεσης: COM Πρότυπο σύνδεσης για συστατικά αντικείµενα. Ιδανική για εφαρµογή αυτoύ του προτύπου, η Java. Xαρακτηριστικά

Διαβάστε περισσότερα

Σύστηµα Java RMI. Κατανεµηµένα Συστήµατα 17-1

Σύστηµα Java RMI. Κατανεµηµένα Συστήµατα 17-1 Σύστηµα Java RMI οµή συστήµατος Μεταβίβαση παραµέτρων Μοντέλα επικοινωνίας Αναφορές αντικειµένων Ονόµατα αντικειµένων ιαχείριση αντικειµένων Υλοποίηση συστηµάτων Java RMI Κατανεµηµένα Συστήµατα 17-1 οµήσυστήµατος

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή

Π ρ ο γ ρ α μ μ α τ ι σ μ ό ς Β α σ ι κ έ ς έ ν ν ο ι ε ς Ι σ τ ο ρ ι κ ή α ν α δ ρ ο μ ή Η έννοια του προγράμματος Ιστορική αναδρομή Προγραμματισμός Βασικές έννοιες Ιστορική αναδρομή Η έννοια του προγράμματος Η περιγραφή της λύσης ενός προβλήματος, ως γνωστόν, γίνεται με τη βοήθεια ενός αλγορίθμου. Έτσι οι εντολές ενός προγράμματος

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα με Java. Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κατανεμημένα Συστήματα με Java. Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κατανεμημένα Συστήματα με Java Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού

Διαβάστε περισσότερα

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 6: Threads Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

Διαβάστε περισσότερα

Λειτουργικά συστήματα πραγματικού χρόνου

Λειτουργικά συστήματα πραγματικού χρόνου Λειτουργικά συστήματα πραγματικού χρόνου Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού

Διαβάστε περισσότερα