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

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

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

Transcript

1 Kεφάλαιο Πέντε - Tα Όρια του Προγραµµατισµού 1

2 5.1 ιαφορετικές Mεθόδοι Προγραµµατισµού για ιαφορετικούς Προγραµµατιστές Πρότυπες δραστηριότητες που δεν συνταυτίζονται µε τον καθ αυτό προγραµµατισµό αλλά είναι σχετικές. Σύνταξη απαιτήσεων. Eισαγωγή των οντοτήτων µίας εφαρµογής. Περιοδικές σχέσεις και µεταβολές. Κατασκευή οπτικών εφαρµογών και αρµολόγηση συστατικών. Eισδοχή και λειτουργία προκατασκευασµένων συστατικών, βάση σταθερών εξαρτήσεων. Eστιασµός στη λειτουργικότητα. υτό είναι καλό για µικρό αριθµό συστατικών. Για µεγαλύτερους αριθµούς χρειάζεται η προσθήκη οπτικών ιδιοτήτων για βελτίωση της αντίληψης του συστήµατος. Γραφή. Στις οπτικές εφαρµογές τα σύµβολα µπορούν να χρησιµοποιούνται σαν λέξεις. Εισαγωγή συµπεριφοράς αλλά όχι νέων θέσεων.στοχεύει στο να δέσει τα υπάρχοντα συστατικά (σε ψηλό επίπεδο). υτό είναι πιθανό να καταλήξη σε συστατικά γραφής. Για κάθε µία από τις πρότυπες δραστηριότητες υπάρχει και το κατάλληλο πρότυπο προγραµµατισµού. Tα Όρια του Προγραµµατισµού 2

3 5.2 Προγραµµατισµός για ένα Σύστηµα Oι κατάλληλες θεωρητικές έννοιες για υποστήριξη του προγραµµατισµού εξαρτώνται από το πρότυπο προγραµµατισµού. Στο παραδοσιακό πρότυπο υπάρχει σύνθεση από βιβλιοθήκες εννοιών επεξεργασίας, συν η αυστηρή και άµεση αξιολόγηση (πρότυπο καλέσµατος επεξεργασίας). Eπίσης το ίδιο συµβαίνει µε τον αντικειµενοστρεφή προγραµµατισµό µε το κάλεσµα µεθόδων. Παροµοίως και σε ψηλότερες βαθµίδες προγραµµατισµού όπου δεν υπάρχουν στατικές αναφορές σε συγκεκριµένες επεξεργασίες ή µεθόδους. Ο καλών και ο καλούµενος δεν ελέγχουν το σύνδεσµό τους και οι διασυνδέσεις περιγράφουν και τους δύο. Tα καινούργια πρότυπα κοιτούν για συνδέσµους παρά για κλήσεις. Οι σύνδεσµοι είναι συµµετρικοί σε αντίθεση µε τις ασύµµετρες κλήσεις. Στις διασυνδέσεις εισαγωγής υπάρχουν κλήσεις σηµείων. Οι διασυνδέσεις εξαγωγής δίδουν τις δυναµικές διεργασίες (πιθανά συµβάντα). Tα Όρια του Προγραµµατισµού 3

4 5.3 Συνδεσµοστρεφής Προγραµµατισµός Στις κλήσεις του σπονδυλωτού προγραµµατισµού υπάρχει αλληλοδιαδοχή συστατικών. Eπίσης µπορεί ένα συστατικό να κληθεί από άλλο που έχει παρατηρήσει ένα συγκεκριµένο συµβάν (event).σε αυτή τη µεθοδολογία µε την εξάρτηση παρατηρητών από συµβάντα οι πληροφορίες ωθούνται προς τα έξω αµέσως µετά τη λήψη τους (πρότυπο ωθήσεως). Στόν παραδοσιακό προγραµµατισµό η κάθε επεξεργασία ξέρει πια άλλη καλεί και υπάρχει σύνδεσµος ή παράκαµψη (indirection) µεταξύ καλούσης και καλούµενης (πρότυπο έλξεως). Στο πρότυπο ωθήσεως, οι παρακάµψεις είναι αναπόφευκτες λόγω άγνοιας της πηγής του συµβάντος για τους ενδιαφερόµενους παραλήπτες. Και στις δύο περιπτώσεις παρακάµψης τα πρότυπα τα χειριζόµαστε µε τον ίδιο τρόπο. Όταν οι παρακάµψεις (µε ρύθµιση κατά την εκτέλεση µίας διεργασίας) αντικαθιστούν τις εξαρτήσεις κλήσεων, αυτό καλείται συνδεσµοστρέφεια (connection-oriented program ming). υτοί οι µηχανισµοί συνδέσµων µπορούν να αποτελέσουν ένα ενδιάµεσο συστηµα επικοινωνιών, µε βάση τη διανοµή µηνυµάτων. Αυτό καλείται µηνυµατοστρεφής ενδιάµεσος (message-oriented middleware).σε αντικειµενοστρεφείς ενδιάµεσους όπως η DCO M και η COR τα συµβάντα και τα µηνύµατα είναι το ίδιο σηµαντικά. O συνδεσµοστρεφής προγραµµατισµός εφαρµόζεται κυρίως στο συνδυασµό προκατασκευασµένων συστατικών ή παραγώγων τους αντικειµένων. υτό µπορεί να παροµοιαστεί µε την περίπτωση ενώσεως ολοκληροµένων κυκλωµάτων στα οποία υπάρχει συµµετρία συνδέσµων για εισαγωγή και εξαγωγή πληροφοριών. Η διαφορά στις διασυνδέσεις εισαγωγής και εξαγωγής έγκειται στη σχέση τους µε ένα συστατικό. Στη περίπτωση διασύνδεσης εξαγωγής, αυτή καθορίζει τα δυνατά συµβάντα και µηνύµατα. Στη περίπτωση του ασύνδετου συµβατού προτύπου, καθορίζονται άµεσοι ή στατικοί συνδέσµοι, δηλ.υπάρχει άµεση παραµετροποίηση µε αναφορές διεργασιών και µεθόδων. Tα Όρια του Προγραµµατισµού 4

5 Συνδεσµοστρεφής Προγραµµατισµός Οι ίδιες οι συνδέσεις είναι ανεξάρτητες από τις έννοιες της εισαγωγής, εξαγωγής και επιπέδων. Ένα συστατικό υποδοµής µπορεί να δίνει σε ένα κοινό επίπεδο πολλές διασυνδέσεις. Ένα συστατικό γι αυτή την υποδοµή εισάγει το κοινό επίπεδο και δηλώνει ποιές διασυνδέσεις χρησιµοποιεί. Tέτοιες συνδέσεις υπάρχουν οριζόντια σε αυτό το επίπεδο των συστατικών ή λογικά σ ένα ψηλότερο επίπεδο που εδραιώνει τις συνδέσεις. Στο σχήµα 5.1 επεξηγούνται οι συνδέσµοι δύο αντοκειµένων. Tο συστατικό Ψ1 έχει διασυνδέσεις εξαγωγής και V και εισαγωγής και U. Σύνδεσµοι έχουν αποκατασταθεί µεταξύ των διασυνδέσεων και. U X C1 C2 V Y Σχ. 5.1 Συνδέσεις, διασυνδέσεις εισαγωγής - εξαγωγής. Tα Όρια του Προγραµµατισµού 5

6 5.4 νώτερος Συνδεσµοστρεφής Προγραµµατισµός Πολλαπλές συνδέσεις γίνονται από µία διασύνδεση εξαγωγής σε µία οµάδα εισαγωγής. Στο σχ. 5.2 η εξαγωγή συνδέεται µε δύο διασυνδέσεις εισαγωγής των συστατικών C2 και C3. Φυσικά µπορεί να συµβεί και το αντίθετο. U X C2 C1 Y V Z C3 Σχ. 5.2 Πολλαπλές συνδέσεις. Tα Όρια του Προγραµµατισµού 6

7 νώτερος Συνδεσµοστρεφής Προγραµµατισµός H συσχέτηση διασυνδέσεων µπορεί να γίνεται µέσω άλλων συστατικών-αντικειµένων, όπως φαίνεται από το σχ Tέτοια συστατικά-διόδοι διηθούν, µετρούν,καταχωρούν για επανάληψη και γενικά διαχειρίζονται κλήσεις. U X C2 C1 Y G V Z C3 Σχ. 5.3 O διαχωρισµός της οµάδας των παραληπτών από τις πηγές και υποδοχές των µηνυµάτων (ή της διόδου των συµβάντων από τις πηγές και τις υποδοχές των συµβάντων). Tα Όρια του Προγραµµατισµού 7

8 νώτερος Συνδεσµοστρεφής Προγραµµατισµός ν µία οµάδα υποστηρίζει συγκεκριµένες διασυνδέσεις όπως η (σχ. 5.3), τότε απλά η διαχείρηση της οµάδας περνά µηνύµατα στα µέλη. ν οι κλήσεις γίνονται δια µέσου των ιδίων µεθόδων ή διαδικασιών (µεταβιβαζόµενες µεταξύ συστατικών), τότε η δηµιουργία οµάδων διόδων για την µετάδοσή τους είναι εύκολη. Tέτοια τυποποιηµένα µυνήµατα αποκαλούνται αντικείµενα συµβάντων. Ο κώδικας που ακολουθεί επεξηγεί την µετάδοση µηνυµάτων σε οµάδες. Η σύνταξηείναι ComponentPascal. DEFINITION MessageGroups; TYPE Sink()=POINTER TO STRCT RECORD (s:sink()) Receive (VR message: ), NEW, SRCT END Group()= POINTER TO STRCT RECORD (g:group()) Register (s:sink()),new,srct; (g:group()) Unregister (s:sink()),new,strct; (g:group()) Send(VR message: ),NEW,STRCT END; END MessageGroups. Η παράµετρος NEW ορίζει την µέθοδο σαν νέα. Η παράµετρος STRCT ορίζει την µέθοδο σαν µη συγκεκριµένη. Η χρησιµοποίηση παραµέτρων στους διαµορφωτές µηνυµάτων εξασφαλίζει τη συµβατότητά τους µε τους υποδοχείς. Σε αυτό το παράδειγµα η παραµετροποίηση δείχνει ότι οι τύποι οµάδων και υποδοχέων µπορούν να εφαρµοσθούν µε απόλυτους τύπους µηνυµάτων. Mία υποδοχή που δέχεται µόνο µηνύµατα τύπου MyMessage θα δηλωθεί σαν: TYPE MyMessage=RECORD END; MySink=RECORD (MessageGroups,Sink(MyMessage)) END; Και για να δέχεται υπο-τύπους του MyMessage: TYPE MyMessage=EXTENSILE RECORD END; H ιδιότητα EXTENSILE δείχνει ότι ο τύπος του My Message δεν είναι τελικός. Tα Όρια του Προγραµµατισµού 8

9 νώτερος Συνδεσµοστρεφής Προγραµµατισµός Ο πάρακάτω κώδικας δείχνει την οµαδοποίση µετάδοσης από το διαµορφωτή roadcast. MODULE roadcast; IMPORT Sets, MessageGroups; TYPE caster(a)=pointer TO RECORD(MessageGroups.Group()) sinks: Sets.Set(MessageGroups.Sink()) END; PROCEDURE<> SendOne(s:MessageGroups.Sink(a);VR message: ); (* aux for send *) EGIN s.send(message) END SendOne; PROCEDURE<> (g:caster()) Register(s:MessageGroups.Sink()); EGIN g.sinks.include(s) END Register; PROCEDURE<> (g:caster()) Unregister (s:messagegroups.sink()); EGIN g.sinks. Exclude(s) END Unregister; PROCEDURE<> (g:caster()) Send(VR message:); EGIN Sets.Do(g.sinks,SendOne,m) END Send; PROCEDURE<> New*():MessageGroups.Group(); (*simple factory*) VR bc:caster(); EGIN NEW(bc);bc.sinks:=Sets.New(); RETURN bc END New; END roadcast. Tα Όρια του Προγραµµατισµού 9

10 νώτερος Συνδεσµοστρεφής Προγραµµατισµός Στη Component Pascal ο αστερίσκος χρησιµοποιείται για να προσδιορίζει διεργασίες που δύνανται να εισαχθούν και σε άλλους διαµορφωτές. υτό συµβαίνει µε τη διεργασία roadcast.new. Οι διεργασίες δεν παραµετροποιούνται άµεσα. Υπονοούνται στις παραµέτρους τη στιγµή της κλήσης. Ο ορισµός του διαµορφωτή Sets: DEFINITION Sets; TYPE Set()=POINTER TO LIMITED RECORD (s:set()) Include (elem: POINTER TO ); (s:set()) Exclude (elem:pointer TO ); (s:set()) Contains(elem:POINTER TO ):OOLEN; (s:set()) Size():INTEGER END; Op(,)=PROCEDURE (elem:pointer TO ;VR arg: ); PROCEDURE<> New():Set(); PROCEDURE<> Do(s:Set();op:Op(<);VR arg:); (*other definitions deleted*) END Sets. Η ιδιότητα LIMITED εµποδίζει την επέκταση του καταχωρητή και περιορίζει την ενεργοποίησή του στο συγκεκριµένο διαµορφωτή. Ο διαµορφωτής Sets µπορεί να διαθέσει το αντικείµενο Set. Η µέθοδος Send (του roadcast) χρησιµοποιεί τη διεργασία Sets.Do για να καλέσει την SendOne άπαξ για κάθε στοιχείο του Set. Αντίθετα µε την Java η Component Pascal µπορεί να ορίσει απλαισίωτους τύπους αντικειµένων. Η γενική παράµετρος µπορεί να δοθεί στο πλαίσιο της καλούσης διεργασίας. Tα Όρια του Προγραµµατισµού 10

11 5.5 Συµβάντα και Mηνύµατα ήλωση και µετάδοση µηνυµάτων. Με µικρές διαφοροποιήσεις έτσι δουλεύει η Javaeans, η COR Event Service, η CO M connection points,και η Microsoft messaging service. Στο παράδειγµα της Connection Pascal ο καλών µία διεργασία πρέπει να περάσει από δύο στάδια. ηµιουργία του αντικειµένου (µηνύµατος) και παροχή αρχικών τιµών. Αντίθετα µε τη Component Pascal(απλαισίωτοι τύποι αντικειµένων) η δηµιουργία αντικειµένων-τάξεων στην Javaeans είναι δαπανηρή. Επίσης απαραίτητη είναι η χρησιµοποίηση κατασκευαστών συµβάντων-αντικειµένων που να εξασφαλίζουν την παροχή αρχικών τιµών. Αποστολή µηνύµατος στις υποδοχές. Ο παραµετρικός πολυµορφισµός της Component Pascal υποστηρίζει τον προσδιορισµό του τύπου µηνύµατος που πρέπει να περασθεί. Ενώ µε τις Javaeans και COR Event Service η χρησιµοποίηση συγκεκριµένων τύπων συµβάντων- αντικειµένων, αφήνει την πιθανότητα χρησιµοποίησης αγνώστων τύπων µηνυµάτων στις πηγές και τις υποδοχές. Oι διόδοι µετάδοσης: Μπορούν να ορίζονται από το Event Service (COR ). Μπορούν να διασυνδέονται µε παρακάµψεις από το σύστηµα (ή τα µηνύµατα θα ταξιδεύουν κατ ευθείαν από την πηγή στην υποδοχή -Javaeans,CO M). Σχετικά µε τις υποδοχές οι υποδοχές: Μπορεί να υπάρχει ξεχωριστή υποδοχή-αντικείµενο για κάθε σύνδεση στο ίδιο αντικείµενο (CO M). Μπορεί να χρησιµοποιηθεί αποδιανοµέας-µετασχηµατιστής για ξεχωρισµό διαφορετικών καλεσµάτων από διαφορετικές πηγές (Javaeans). Tα δυνατά συµβάντα ή διασυνδέσεις είναι γνωστά αν καθορίζονται στον ορισµό του συστατικού. Στη Javaeans η διασύνδεση των αντικειµένων περιέχει µία µέθοδο για κάθε δυνατό συµβάν που µπορεί να ακουστεί. Mέ τη δυναµική απόσπαση των µεθόδων αυτών γίνονται γνωστά και τα αντίστοιχα συµβάντα. Tα Όρια του Προγραµµατισµού 11

12 5.6 Συµβάντα Έναντι Kλήσεων Tα συµβάντα αντιστοιχούν µε κλήσεις διαδικασιών µε τη διαφορά ότι Έχουν άγνωστες υποδοχές. εν αναµένονται αποτελέσµατα. Ειδοποιούν άλλες διεργασίες. H COR EventServices και η Javaeans δεν επιτρέπουν επιστροφή τιµών µε συµβάντα. Σε περίπτωση που απαιτείται ανταπόκριση τότε το συµβάν-αντικείµενο µπορεί να µεταφέρει κάποια αναφορά στη διεργασία που το συλλέγει, που να προκαλεί την αποστολή απαντητικού συµβάντος. Άλλοι µηχανισµοί όπως το CO M Connectable Objects υποστηρίζουν απ ευθείας επιστροφή αποτελεσµάτων σε αντικείµενα-συµβάντα. Tα Όρια του Προγραµµατισµού 12

13 5.7 ιαδοχή Συµβάντων -ιτιότητα, Συναγωνισµός και στάθεια Kαταστάσεων H επικοινωνία βασιζόµενη σε συµβάντα είναι ασύγχρονη. H σχετική σειρά µε την οποία τα συµβάντα φθάνουν στις υποδοχές είναι ακαθόριστη. Στο σχ. 5.4 παρατείθεται ένα παράδειγµα. νη πηγή πυροδοτεί το συµβάν σ1 ενώ οι υποδοχές και Γ προσέχουν, η υποδοχή δέχεται το σ1 και αµέσως πυροδοτεί το σ2, για το οποίο προσέχουν η Γ και η. H σειρά µε τη οποία τα συµβάντα παρατηρούνται από τη Γ δεν καθορίζεται.σε µονονηµατικό (single-threaded) σύστηµα ευνοήται η άφιξη του σ2 πριν από το σ1 στη Γ. Tοπέρασµα του συµβάντος ελέγχεται από τη που προκαλεί την παρατήρηση του σ2 από τη Γ.Συνήθως η παρατήρηση των συµβάντων µε τη σειρά που πηγάζουν εξασφαλίζεται µόνο όταν αυτά έχουν την ίδια πηγή. σ2 Γ σ1 Σχ. 4 Προώθηση συµβάντων Το ακόλουθο σχήµα 5.5περιγράφει τη φυσική σειρά δηλ. αυτήν που είναι πιό κοντά στην αιτιατή κατανοµή των συµβάντων. Το κάτω του σχήµατος περιγράφει την επαναληπτική σειρά κλήσεων, που είναι και η φυσική σειρά σε συστήµατα που δεν χρησιµοποιούν ενδιάµεσους καταχωρητές και ξεχωριστά νήµατα κατανοµής συµβάντων.h σειρά κατανοµής είναι τυχαία. Ένα ακόµη πιο σοβαρό θέµα στην υποδοχή σηµάτων είναι αυτό της ασταθούς κατάστασης την ώρα της λήψης του συµβάντος. υτή η αστάθεια γίνεται αισθητή σε άλλα αντικείµενα για ένα µικρό χρονιικό διάστηµα. υτό διορθώνεται µε µηχανισµό καθυστέρησης. Άν η σχετική σειρά της άφιξης γεγονότων εξαρτάται από δυναµικές συνθήκες, τότε τα συµβάντα µπορεί να φθάσουν στη σωστή σειρά µόνο σε ορισµένες περιπτώσεις. Κατά κάποιο τρόπο υπάρχει συναγωνισµός στα συµβάντα για το πιο θα φθάσει πρώτο στο στόχο του. H µη αιτοκρατία στο χρόνο αντικαθίσταται από ένα πολύ µεγάλο αριθµό σειρών καταστάσεων, σε ένα πολύπλοκο σύστηµα συστατικών. Tα Όρια του Προγραµµατισµού 13

14 ιαδοχή Συµβάντων -ιτιότητα, Συναγωνισµός και στάθεια Kαταστάσεων σ1 Γ σ2 σ1 Γ σ2 Σχ. 5.5 Σειρά συµβάντων.φυσική σειρά (πάνω) έναντι σειράς επαναληπτικής κλήσης (κάτω). Tα Όρια του Προγραµµατισµού 14

15 5.8 ργή Σύνδεση: πόσπαση ιασυνδέσεων και Mεταπρογραµµατισµός Οι διασυνδέσεις, ειδοποιήσεις και συµβάντα είναι περιπτώσεις αργής σύνδεσης (very late binding). Oι τύποι διασύνδεσης είναι γνωστοί αφού γίνει η µεταγλώττιση. Η σύνδεση καλούντως και καλουµένου συµβαίνει αφού αρχίσει η εκτέλεση. Συµβαίνει εντούτοις οι τύποι των διασυνδέσεων να γίνονται γνωστοί την ώρα της εκτέλεσης (περιπτώσεις µεταφραστών- Web browser-applets). Φύλαξη πληροφοριών από µεταγλώττιση για έλεγχο την ώρα της εκτέλεσης (διαδικασία επαναυπόθεσης - reification) - αντανακλαστικά λέγονται τα συστήµατα που χρησιµοποιούν τέτοιες πληροφορίες. Ο χειρισµός τέτοιων πληροφοριών λέγεται µεταπρογραµµατισµός. Tο I M s system objectmodel(som) είναι ένα τέτοιο σύστηµα που υποστηρίζει µεταπρογραµµατισµό - ορισµός νέων διασυνδέσεων και σύνθεση νέων τάξεων κατά την εκτέλεση καθώς και δηµιουργία νέων περιπτώσεων.το SO M εποµένως µπορεί να επεµβαίνει στο εκτελεστικό πρότυπο. Tο Java Core Reflection Service: δέν επιτρέπει µεταπρογραµµατισµό. Αφήνει στοιχειώδεις εκτελεστικού τυπου πληροφορίες στη Java Language, δηλ. Επιτρέπει τη διαδικασία επαναυπόθεσης για όλες τις πλευρές ενός αντικειµένου, ή µίας τάξης, ή µίας διασύνδεσης και δυναµική ενεργοποίηση του. Tο CO M type library που εξοπλίζει συστατικά µε τύπους διασυνδέσεων αποσπάσεως (dispatch interface) για τους οποίους επιτρέπει τον έλεγχο (σύµφωνα µε τους τύπους που περιέχει). Οι διασυνδέσεις απόσπασης µπορούν να ενεργοποιηθούν δυναµικά. H παροχή διασυνδέσων αποσπάσης έχει µεγαλύτερο κόστος από την απ ευθείας κλήση διαδικασιών. H παροχή διαδικασιών σε συστατικά και µε τους δύο τρόπους καλείται διπλή διασύνδεση. Tέλος στην COR αποθήκες διασυνδέσεων επαναυποθέτουν όλες τις Object Management Group /Interface Definition Language πληροφορίες (αν συγκεκριµένα αντικείµενα µπορούν να εφαρµόσουν συγκεκριµένες διασυνδέσεις). Οι κλήσεις σε τέτοιες διασυνδέσεις γίνονται µε δυναµικές ενεργοποιήσεις διασυνδέσεων και δυναµικές διασυνδέσεις προσαρµογής. Tα Όρια του Προγραµµατισµού 15

16 ργή Σύνδεση: πόσπαση ιασυνδέσεων και Mεταπρογραµµατισµός Οι αποσπασµένες διασυνδέσεις µπορούν εύκολα να κατασκευάσουν διεργασίες αναµετάδοσης και προσαρµογής χωρίς εξειδικευµένο κώδικα. υτό βέβαια υπονοεί τη χρησιµοποίηση αντανακλαστικών διαδικασιών ακόµα και αν η διασύνδεση είναι στατικά γνωστή. Για διεργασίες που στοιχίζουν πολύ απο µόνες τους αυτό µπορεί να δικαιολογηθεί. Αλλοιώτικα εµποδίζει τον αποτελεσµατικό ευθύ προγραµµατισµό του ως συστατικού και πρέπει να αποφεύγεται. Επίσης τα στατικά είναι λιγότερο ασφαλούς τύπου από τις συµβατικές διασυνδέσεις.οι διπλές διασυνδέσεις είναι συµβιβασµός των δύο. λέποντας τις διαφορετικές µεθόδους κλήσεων και συνδέσεων: Κλήσεις διεργασιών και στατικές µεθόδοι κλήσεων: στατικός έλεγχος και σύνδεση στη µεταγλώττιση. Αντανακλαστικές κλήσεις: δυναµικός έλεγχος και σύνδεση κατά την εκτέλεση. Μεταβλητές διεργασίες και απόσπαση µεθόδων: στο ενδιάµεσο των προηγούµενων βρίσκεται ο στατικός έλεγχος µε δυναµική σύνδεση. Tα Όρια του Προγραµµατισµού 16

17 5.9 ιαβάθµηση Eλευθερίας: ποµόνωση Λαθών και Στατική σφάλεια Tο θέµα της ασφάλειας λαθών συνήθως το εξασφαλίζει η γλώσσα προγραµµατισµού. ν όχι τότε η ασφάλεια αφήνεται σε χαµηλότερα επίπεδα. Παραδοσιακά,στο επίπεδο του λειτουργικού συστήµατος εφαρµόζεται η αποµόνωση διεργασίας (process isolation), µε τη βοήθεια του µηχανικού εξοπλισµού. Στην περίπτωση των συστατικών αυτό κοστίζει πολύ. H µέθοδος αποµόνωσης λαθών λογισµικού συνίσταται στην ενίσχυση του κώδικα συστατικού κατά τη φόρτωση του Kαταγραφή και Γραφή Πρότυπα συµβάντων και αποσπασµένες διασυνδέσεις υποστηρίζουν την καταγραφή δραστηριοτήτων. Η αναµετάδοση όταν όλα τα σχετικά αντικείµενα είναι δραστήρια µπορεί να προκαλέση αστάθεια αναλόγως της κατάστασης των αντικειµένων. H καταχώρηση συµβάντων δεν είναι αρκετή στήν περίπτωση συστηµάτων αυτόµατης γραφής για επανεκτέλεση. Αυτή η γραφή θα πρέπει να είναι εφαρµόσιµη σε παρόµοιες παρά σε ίδιες καταστάσεις. Θα ήταν δηλαδή υπερβολικό να καταγράφεται επακριβώς η ταυτότητα των σχετικών αντικειµένων. θα ήταν βασικό να χρησιµοποιείται µία συµβολική αναφορά αντικειµένων που είναι κατανοητή στο πλαίσιο του αντικειµένου. Στην επανάληψη µία γραφή θα µπορεί να ερµηνευθεί στο τρέχων πλαίσιο και στις συµβολικές αναφορές. Tα Όρια του Προγραµµατισµού 17

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εφάλαιο ύο - 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) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ε-85: Ειδικά Θέµατα Λογισµικού

Ε-85: Ειδικά Θέµατα Λογισµικού Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων

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

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

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

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

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

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

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

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

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

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

procedure P ( < pars > ) < type> f( < pars > ) begin { < local vars > < local vars > < procedure body> < procedure body> end; }

procedure P ( < pars > ) < type> f( < pars > ) begin { < local vars > < local vars > < procedure body> < procedure body> end; } Σχεδίαση Γλωσσών & Μεταγλωττιστές Ενότητα 2: Εμβέλεια Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που

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

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

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

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

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

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

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

Καλώς ήλθατε στην παρουσίαση του έργου SmartGov.

Καλώς ήλθατε στην παρουσίαση του έργου SmartGov. Καλώς ήλθατε στην παρουσίαση του έργου SmartGov http://www.smartgov-project.org project.org Αθήνα,, 1η1 Οκτώβρη 2004 1 Γενικά για το έργο SmartGov SmartGov: Μια πλατφόρµα βασισµένη στη γνώση για την ανάπτυξη

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα. ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων. Όταν ένα τμήμα προγράμματος επιτελεί ένα αυτόνομο

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

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

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

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

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 Σχεδίαση-Ανάπτυξη

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

Εγγραφές Δραστηριοποίησης

Εγγραφές Δραστηριοποίησης Εγγραφές Δραστηριοποίησης Ερώτηση για δέσιμο Κατά την εκτέλεση του προγράμματος, οι μεταβλητές δένονται (δυναμικά) με τιμές Οι τιμές αυτές πρέπει να αποθηκευτούν κάπου Κατά συνέπεια, οι μεταβλητές πρέπει

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

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

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

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

Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers). Εξυπηρέτης: παθητικός,

Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers). Εξυπηρέτης: παθητικός, Αρχιτεκτονική web εφαρµογών Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 1 Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

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

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που 1 Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που μπορούμε να χρησιμοποιήσουμε σε μία JDBC εφαρμογή. Υπάρχει

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 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 Χρήση λογισμικού που ήδη υπάρχει Τα πολύπλοκα συστήματα αναπτύσσονται σταδιακά, «χτίζοντας» πάνω σε υπάρχουσα λειτουργικότητα

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας

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

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

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

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

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed

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

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

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

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Ύλη του Μαθήµατος Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Βιβλίο Μαθήµατος: α) Tanenbaum, A.:ΣύγχροναΛειτουργικάΣυστήµατα, 2ηΈκδοση, Εκδόσεις Κλειδάριθµος. β) Wrightson, K.,

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

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

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

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος

Κεφάλαιο 10 Υποπρογράμματα. Καραμαούνας Πολύκαρπος Κεφάλαιο 10 Υποπρογράμματα 1 10.1 Τμηματικός προγραμματισμός Τμηματικός προγραμματισμός ονομάζεται η τεχνική σχεδίασης και ανάπτυξης των προγραμμάτων ως ένα σύνολο από απλούστερα τμήματα προγραμμάτων.

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

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

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

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12 Αρχιτεκτονικές κατανεμημένων συστημάτων Στόχοι Εξήγηση των πλεονεκτημάτων και των μειονεκτημάτων των αρχιτεκτονικών κατανεμημένων συστημάτων Εξέταση των αρχιτεκτονικών συστημάτων πελάτηδιακομιστή και των

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

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

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

Περιπτώσεις αλλαγής Λογιστικού Σχεδίου.

Περιπτώσεις αλλαγής Λογιστικού Σχεδίου. Μετατροπή Κωδικοποίησης Λογιστικού Σχεδίου Παράµετρος & Προτιµήσεις Εργασίες Έναρξης Οικονοµικές Χρήσεις Μετατροπή Κωδικοποίησης Λογιστικού Σχεδίου Μέσω της εργασίας αυτής, αναλύεται ο τρόπος µε τον οποίο

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

ALERTS ή EDA (Event Driven Actions)

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

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

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή ΚΕΦΑΛΑΙΟ 17: Web Services 17.1. Εισαγωγή Με τον όρο WebService αναφερόμαστε σε ένα σύστημα λογισμικού το οποίο σχεδιάστηκε με τρόπο τέτοιο ώστε να υποστηρίζει την ανεμπόδιστη συνεργασία δύο μηχανών μέσω

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

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

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

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

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

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

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Παρουσιάζεται

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

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

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

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

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

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

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

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

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

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

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

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

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

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

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

Γενικά. Σχήµα Ι: Επικοινωνία Client-Server, ExecuteCommand TuniConnection

Γενικά. Σχήµα Ι: Επικοινωνία Client-Server, ExecuteCommand TuniConnection ΕΚΤΕΛΕΣΗ ΕΡΓΑΣΙΩΝ ΣΤΟΝ SERVER (EXECUTE COMMAND) Γενικά Για την ανάπτυξη εφαρµογών που απαιτούν την εκτέλεση εργασιών στον Server που ορίζονται δυναµικά από µια επικοινωνία Client-Server ακολουθείται µια

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

ΣΧΕ ΙΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΕ ΑΡΜΟ ΙΟΤΗΤΕΣ. Ορισµός σχεδιαστικών προτύπων Εφαρµογή των 9 GRASP προτύπων

ΣΧΕ ΙΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΕ ΑΡΜΟ ΙΟΤΗΤΕΣ. Ορισµός σχεδιαστικών προτύπων Εφαρµογή των 9 GRASP προτύπων ΣΧΕ ΙΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΕ ΑΡΜΟ ΙΟΤΗΤΕΣ Ορισµός σχεδιαστικών προτύπων Εφαρµογή των 9 GRASP προτύπων 1 Γενικά Εξαιρετικά σηµαντικά: η απόφαση για το που ανήκουν οι µέθοδοι, και πως αλληλεπιδρούν τα αντικείµενα

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

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

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

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

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

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

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

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

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

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

Εισαγωγή στον προγραμματισμό

Εισαγωγή στον προγραμματισμό Ενότητες: Εισαγωγή στον προγραμματισμό Η έννοια του προγράμματος Ιστορική αναδρομή Φυσικές και τεχνητές γλώσσες Τεχνικές σχεδίασης προγραμμάτων Ιεραρχική Σχεδίαση Τμηματικός Προγραμματισμός Δομημένος προγραμματισμός

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

Εισαγωγή στα Αντικείμενα

Εισαγωγή στα Αντικείμενα 1 CSE-391: Artificial Intelligence University of Pennsylvania Matt Huenerfauth Εισαγωγή στα Αντικείμενα Δεκέμβριος 2016 2 Όλα είναι αντικείμενα Στην Python ότι χρησιμοποιούμε είναι αντικείμενο: hello.upper()

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

Κεφάλαιο 2: Μεταφραστές

Κεφάλαιο 2: Μεταφραστές Κεφάλαιο 2: Μεταφραστές Αρχές Γλωσσών και Προγραμματισμού Λειτουργία Μετάφρασης ΑΡΧΙΚΗ ΓΛΩΣΣΑ (Source) L A ΓΛΩΣΣΑ ΥΛΟΠΟΙΗΣΗΣ ΜΕΤΑΦΡΑΣΤΗ (Implementation) L Y ΤΕΛΙΚΗ ΓΛΩΣΣΑ (Target) L T Αρχικό Πρόγραμμα

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

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

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

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

Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι

Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Generic Types Τα Generics έχουν προστεθεί στη JAVA από το 2004 ως μέρος του J2SE 5.0 Με τη χρήση

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

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Κεφάλαιο 4: ικτύωση και ιαδίκτυο Η Επιστήµη των Υπολογιστών: Μια Ολοκληρωµένη Παρουσίαση (δέκατη αµερικανική έκδοση) J. Glenn Brookshear Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

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

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

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

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

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1 Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας

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

ΑΦAΙΡΕΤΙΚΟΣ (ή ΑΦΗΡΗΜΕΝΟΣ) ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) - σύνολο δεδομένων (data, objects) - σύνολο πράξεων στα δεδομένα

ΑΦAΙΡΕΤΙΚΟΣ (ή ΑΦΗΡΗΜΕΝΟΣ) ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) - σύνολο δεδομένων (data, objects) - σύνολο πράξεων στα δεδομένα Τύπος Δεδομένων: ΑΦAΙΡΕΤΙΚΟΣ (ή ΑΦΗΡΗΜΕΝΟΣ) ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) - σύνολο δεδομένων (data, objects) - σύνολο πράξεων στα δεδομένα - Ένας ΑΤΔ είναι ένα μαθηματικό μοντέλο (οντότητα)

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

Εγγραφές Δραστηριοποίησης

Εγγραφές Δραστηριοποίησης Εγγραφές Δραστηριοποίησης Ερώτηση για δέσιμο Κατά την εκτέλεση του προγράμματος, οι μεταβλητές δένονται (δυναμικά) με τιμές Οι τιμές αυτές πρέπει να αποθηκευτούν κάπου Κατά συνέπεια, οι μεταβλητές πρέπει

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

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

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

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

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

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

VOICE MODULE Πλακέτα χειρισμού / τηλεφωνητή Ο ΗΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. ΟΛΟΚΛΗΡΩΜΕΝΗ ΣΕΙΡΑ ΣΥΣΤΗΜΑΤΩΝ ΣΥΝΑΓΕΡΜΟΥ IDS HELLAS www.idshellas.

VOICE MODULE Πλακέτα χειρισμού / τηλεφωνητή Ο ΗΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. ΟΛΟΚΛΗΡΩΜΕΝΗ ΣΕΙΡΑ ΣΥΣΤΗΜΑΤΩΝ ΣΥΝΑΓΕΡΜΟΥ IDS HELLAS www.idshellas. ΑΣΦΑΛΕΙΑ HELLAS ΕΓΓΥΗΣΗ ΛΥΣΕΙΣ ΠΟΙΟΤΗΤΑ ΚΑΙΝΟΤΟΜΙΑ ΛΥΣΕΙΣ ΕΞΕΛΙΞΗ ΥΠΟΣΤΗΡΙΞΗ ΠΟΙΟΤΗΤΑ ΕΜΠΙΣΤΟΣΥΝΗ VOICE MODULE Πλακέτα χειρισμού / τηλεφωνητή Ο ΗΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΟΛΟΚΛΗΡΩΜΕΝΗ ΣΕΙΡΑ ΣΥΣΤΗΜΑΤΩΝ ΣΥΝΑΓΕΡΜΟΥ

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

ιαχείριση Τηλεφωνικών Κλήσεων

ιαχείριση Τηλεφωνικών Κλήσεων ιαχείριση Τηλεφωνικών Κλήσεων 1 Διαχει ριση Τηλεφωνικω ν Κλη σεων ΓΕΝΙΚΗ ΠΕΡΙΓΡΑΦΗ... 3 ΔΟΜΗ ΧΡΗΣΤΩΝ ΚΑΙ ΔΙΚΑΙΩΜΑΤΑ ΕΠΙ ΤΩΝ ΤΗΛΕΦΩΝΙΚΩΝ ΚΛΗΣΕΩΝ... 3 ΣΧΗΜΑΤΙΚΗ ΑΠΕΙΚΟΝΙΣΗ... 4 ΕΙΣΕΡΧΟΜΕΝΕΣ ΚΛΗΣΕΙΣ... 5

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα

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

Εισαγωγή ΕΙΣΑΓΩΓΗ. Γεώργιος Παπαϊωάννου ( )

Εισαγωγή ΕΙΣΑΓΩΓΗ. Γεώργιος Παπαϊωάννου ( ) ΕΙΣΑΓΩΓΗ Γεώργιος Παπαϊωάννου (2013-16) gepap@aueb.gr Περιγραφή: Εισαγωγή στη C++ Ιστορικά στοιχεία για τη C/C++ Ένα βασικό πρόγραμμα Μεταγλώττιση ενός προγράμματος Τελευταία ενημέρωση: Σεπτέμβριος 2016

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

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

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

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

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

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Μεταγλωττιστές Στοίβα Εκτέλεσης και Εγγραφήματα Δραστηριοποίησης Σε όλες σχεδόν τις μοντέρνες γλώσσες προγραμματισμού,

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

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

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

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

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Τάξη: Γ Μάθημα: Πληροφορική Εξεταστέα ύλη: Παρ11.1 & 11.2 Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών που περιγράφει τη διαδικασία

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

ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT)

ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) Τύπος Δεδομένων: ΑΦAΙΡΕΤΙΚΟΣ (ή ΑΦΗΡΗΜΕΝΟΣ) ΤΥΠΟΣ ΔΕΔΟΜΕΝΩΝ (ΑΤΔ) (Abstract Data Type-ADT) - σύνολο δεδομένων (data, objects) - σύνολο πράξεων στα δεδομένα - Ένας ΑΤΔ είναι ένα μαθηματικό μοντέλο (οντότητα)

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

12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006)

12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006) exercise 6new_10 12/5/2008 12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006) 12.6.1. Περιγραφή Θεωρήστε την γραφική διεπαφή της αριθµοµηχανής των MS Windows. Μια παρόµοια διεπαφή (δες

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

Μεταγλωττιστές Ενότητα 1: Εισαγωγή

Μεταγλωττιστές Ενότητα 1: Εισαγωγή Μεταγλωττιστές Ενότητα 1: Εισαγωγή Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

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

Εγγραφές Δραστηριοποίησης. Jackson Pollock, The Key, 1946 (action painting)

Εγγραφές Δραστηριοποίησης. Jackson Pollock, The Key, 1946 (action painting) Εγγραφές Δραστηριοποίησης Jackson Pollock, The Key, 1946 (action painting) Κωστής Σαγώνας Ερώτηση για δέσιμο Κατά την εκτέλεση του προγράμματος, οι μεταβλητές δένονται (δυναμικά) με

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

A ΣΥΡΜΑΤΟΣ ΣΥΝΑΓΕΡΜΟΣ GSM GSM 020 Ο ΗΓΙΕΣ ΧΡΗΣΗΣ

A ΣΥΡΜΑΤΟΣ ΣΥΝΑΓΕΡΜΟΣ GSM GSM 020 Ο ΗΓΙΕΣ ΧΡΗΣΗΣ AΣΥΡΜΑΤΟΣ ΣΥΝΑΓΕΡΜΟΣ GSM GSM 020 Ο ΗΓΙΕΣ ΧΡΗΣΗΣ ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή.... 3 1.2 Τοποθέτηση της κάρτας SIM......4 1.3 Λειτουργία...4 3 Ρυθµίσεις της συσκευής.....4 3.1 Ρυθµίσεις µέσω του πληκτρολογίου.....4

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

Οδηγίες χρήσης για το τηλεφωνικό κέντρο: TC-206D

Οδηγίες χρήσης για το τηλεφωνικό κέντρο: TC-206D Οδηγίες χρήσης για το τηλεφωνικό κέντρο: TC-206D 1. MIA ΣΥΝΤΟΜΗ ΓΝΩΡΙΜΙΑ ΜΕ ΤΟ ΤΗΛΕΦΩΝΙΚΟ ΚΕΝΤΡΟ ΚΑΙ Ο ΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΤΟΥ 1.1 Εισαγωγή Το TC206D είναι ένα τηλεφωνικό κέντρο που χρησιµοποιείται για

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