ÄÓ Ñ ÒÓ ØÓ Ãô ØÓ Ë Ø Ñ Ø Ì Ñ À Συνεδριο Δημιουργων ΕΛ/ΛΑΚ 2009 ½
º Ó Ó Ð Ó Διεύθυνση Πληροφορικής ΔΕΗ Τομέας Συστημάτων Γραφείου ÚºÞÓÙ Ó ºÓѺ Ö ¹Ñ Ð Αθήνα 19 Ιουνίου 2009 Συνεδριο Δημιουργων ΕΛ/ΛΑΚ 2009 ¾
Ì Ñ Ë Ø Ñ À ½ ¼ Ö Ð Ø ÕôÖ º Ë Ö Ó Ò ØÓÔ ÜÙÔ Ö Ø Ø» Ð Ø Ò Ö Ñ >= 1 Ø Ñ ôò Ñ Õ ÒôÒº Ä ØÓÙÖ ØÓÙ À ÜÙÔ Ö Ø ØÛÒ Ø Ò ÐÛØôÒ Àº ÔÖ Ü Ù Ø ÔÖÓ ÑÛÒ ÐÓ Ö ÑôÒº
Æ Ô Ö Ò ØÓ ÙÔ ÖÕÓÒ Ø Ö Ò Ó ØÙÓ ØÓ º ÙÒ Ø º Ð Õ ØÓ º ËØ ÕÓ Å ØÓÒ ÙÔ ÖÕÓÒØ ÜÓÔÐ Ñ Ó ÙØ ÙÔÓ Ø ÖÞ Ø Ñ Û ÙÑ ÛÒµ Ò ÕÓÙÑ Ñ Ò ÔÐ Ø ÖÑ ÖÑÓ ÔÓÙ Ò Ô Ö Ð Ñ Ò Ø Ô Ö ØÛ ½º Æ Ò ØÙ Ñ ÒÓ Ø ÔÖ ØÙÔ Ô Ó ÒÛÒ Ô ÒÛ Ô Ì È»ÁȺ ¾º Æ Ò Ñ Ø ÖØ Ø ØÓ Ñ Ð Ø ÖÓ Ñ ÖÓ Ø º
Æ Ö ÙÒ Ø Ô Ó Ò Ø Ò ÙÐÓÔÓ º Ø Ñ ÖÑÓ ÙØ ØÓ Ô Ö ÐÐÓÒº ÙÔ ÖÕÓÙ ÅÓÙ Ò Ø º Æ Ö ÙÒ Ø Ô Ó Ò Ø Ò ÕÖ ÑÓÔÓ ÔÐ Ø ÖÑ ØÓÙ ÄÒÓÙÜ Ô ÒÛ Ô ØÓÒ ÙÔ ÖÕÓÒØ ÜÓÔÐ Ñ º
À ÙÔ ÖÕÓÙ ÖÕ Ø ØÓÒ ÜÓÔÐ ÑÓ º ÐÓ Ñ Ó º Ø ÓÙ 1. Ταμειακές μηχανές δύο τύπων, τοπικοί ελεγκτές δύο τύπων. α. Á Å4694-004,4694-106. β. Á Å¹È (ετοςκατασκευής1995), Á Ź ÖÚ Ö. 2.Δικτυακήδιασύνδεση ËÆ Á ŵμετοκεντρικόυπολογιστικό σύστημα της ΔΕΗ. 3. Δύο διαφορετικοί τύποι λειτουργικών συστημάτων Ç˾ Ï Ò ÓÛ Á Å ¼µ
À ÔÖÓØ Ò Ñ Ò ÖÕ Ø ØÓÒ ÙÐ Ó º ÐÓ Ñ Ó º Ø ÓÙ 1.Αλλαγήμόνοτουεξοπλισμούτωντοπικώνελεγκτώνμεκοινά È. 2. Ιδια δικτυακή υποδομή με αλλαγή πρωτοκόλλων επικοινωνίας σε Ì È»ÁÈ. 3. Ενα ενιαίο λειτουργικό σύστημα Λίνουξ για όλους τους τύπους των ταμειακών μηχανών, Λειτουργικό σύστημα Λίνουξ(μιά από τις εμπορικές διανομές) σε όλους τους τοπικούς ελεγκτές. 4. Αρθρωτή εφαρμογή σε ταμειακές και τοπικούς ελεγκτές με επικοινωνίαμεταξύτωνμονάδωνμέσω Ì È»Í Èπακέτων.
ÈÖÓ Ð Ñ Ø 1.Ημήυποστήριξηεκμέρουςτης Á ÅτηςπλατφόρμαςτουΛίνουξ για τους τύπους των ταμειακών μηχανών 4694-004. Περιορισμοίυλικού:(Μνήμη <=16 Å Ø ÖÒ Ø ½¼ Å Ô,Δίσκος 500 Å ). Á Å 2.Μηυποστήριξηοδηγώνγιαειδικότύποεκτυπωτή(Θερμικός ½¼ ÌÆ )σελίνουξ. ËÙÖ Å Ö 3. Αρχική εγκατάσταση του συστήματος.(μέσα από ¼ηδιαδικασίαεγκατάστασηςΛίνουξστις ÇË»¾ Ï Ò ÓÛ»Á Å ταμειακές μηχανές).
Ä 1. Κατασκευή από πηγαίο κώδικα ειδικής διανομής Λίνουξ(Ταμειακού ΔΕΗ) βασισμένη στον πυρήνα 2.4.18 για τις ταμειακές μηχανές. Ø»ÔÖÓ»Ú Ö ÓÒ Ú Ö ÓÒ ¾º º½ ¹¾ º ºÜÙ ØÓÑ ÞÓÙ Ó ÓйÐÜ µ Ä ÒÙÜ Ú Ö ÓÒ º º µ ¾ Τρι Μάρ 7 13:21:52 ΕΕΤ 2006 Η διανομή αυτή περιλάμβανε ένα βασικό σύνολο προγραμμάτων για τη λειτουργίασελεκτικότρόπημα(óò ÓÐ ÑÓ ).Ολαπαράχθηκαν από πηγαίο κώδικα.
Ä (συνέχεια) 2. Γράψιμο οδηγού του θερμικού ταμειακού εκτυπωτή. 3.Γράψιμοειδικήςδιαδικασίαςσε ÇËγιααρχικήεγκατάστασητης ÐÓ Ð Òº Ü διανομήςτουταμειακούλίνουξμέσωτουπρογράμματος ØØÔ»»Ô ºÕ º ÒºÓֻлÐÓ Ð Òº ØÑе Πηγή: ½¼
Ô Ø ÖÑÓ Αξιοσημείωτα: º 1. Ειδική αρχιτεκτονική, βασισμένη πάνω σε Περατοκαταστατικές μηχανές( ÒØ ËØ Ø Å Ò ).Ειδικάεπικοινωνιακάπρωτόκολλα γιατηζεύξημέσω Ó Ø»Í È. 2. Ειδικός μηχανισμός χρονόμετρων που επιτρέπει ανάλυση της τάξης 10 Ñ καικατάσυνέπειαλειτουργίεςόπωςέλεγχοςζεύξης, ρυμούλκηση χαρακτήρων σε αλφαριθμητικές οθόνες χωρίς επιβάρυνση του συστήματος. ½½
ctrapp User UifGui FSM lo:2005 CtrApp FSM eth0:2004 lo:2004 CtrMng FSM[15] SdrDL FSM[31] RcvDL FSM[31] UifGmn FSM Timer CtrGmn FSM CtrMng FSM[0] SdrDL FSM[1] RcvDL FSM[1] ctruif lo:2007 CtrGtF FSM CtrTrF FSM[15] SdrDL FSM[30] RcvDL FSM[30] ctrsup TransactonFile_Image[15] Kbd lo:2006 TransactonFile_Image[0] CtrTrF FSM[0] SdrDL FSM[0] Timer SupScr FSM Timer RcvDL FSM[0] SupCli FSM ½¾
PosSubsystem POS_QUEUE App FSM[0] posapp({0,15}) TN3 IO_CB ALRM_CB Timer Mng FSM[0] INT_CB TrF FSM[0] SDRDL_CB[1] RCVDL_CB[1] SDRDL_CB[0]RCVDL_CB[0] TransactionFile[{0,15}] Sdr FSM[1]Rcv FSM[1] Sdr FSM[0]Rcv FSM[0] NET_CB IF({5,5+15}):2009 IF(0):2004 $Revision: 1.1 $ $Date: 2009/06/18 10:28:35 $ ½
ctruif Keyboard KBD_CB UifGui FSM[0] SdrDL FSM[2] RcvDL FSM[2] IF(1):2005 SessionsInfo UifInf FSM[0] SdrDL FSM[1] RcvDL FSM[1] NET_CB[0] Timer ALRM_CB INT_CB IF(2):2006 SdrDL FSM[0] UifGmn FSM[0] RcvDL FSM[0] UifMng FSM[0] UifSrv FSM[0] UifSes FSM[0] SdrDL FSM[3] RcvDL FSM[3] SdrDL FSM[4] RcvDL FSM[4] SdrDL FSM[5] RcvDL FSM[5] NET_CB[1] IF(3):2007 IF(4):2008 $Revision: 1.1 $ $Date: 2009/06/18 10:28:35 $ ½
½
È Ö Ö ØÓÙ Ù Ø Ñ ØÓ º Ò ÔØÙÜ α.διαμεταγλωττιστής 3.3.5.(Δημιουργήθηκεαπόπηγαίοκώδικα μέσω του εργαλείου ÖÓ ØÓÓÐ) Πηγή: ØØÔ»» кÓÑ»ÖÓ ØÓÓлµ ½
È Ö Ö ØÓÙ Ù Ø Ñ ØÓ º Ò ÔØÙÜ (συνέχεια) β. Ειδικό συγκρότημα προγραμμάτων φλοιού για τη δήλωση και κατασκευή ËÅκαθώςκαιτηπαραγωγή -κώδικααπόαυτέςτις προδιαγραφές. Σύντομη περιγραφή: (Περιγραφή των ρουτινών μέσω δυαδικών διαγραμμάτων αποφάσεων ( Ò ÖÝ ÓÒ Ö Ñ ),μεσυμβολικέςεκφράσειςτων συνθηκών/δράσεων). ½
È Ö Ö ØÓÙ Ù Ø Ñ ØÓ º Ò ÔØÙÜ (συνέχεια) γ. Πρωτότυπος μηχανισμός ιχνηλασίας του παραγόμενου κώδικα σε πραγματικό χρόνο. δ. Φίλτρα για επεξεργασία του παραγόμενου ίχνους και καταγραφής των δοσοληψιών των διάφορων περατοκαταστατικών μηχανών. (Αυτόματηπαραγωγή ÅË διαγραμμάτων) ½
Ô ÐÓ Ö Ñ ÖÓ ÍÁµ ½º Το απλούστερο δυνατό πακέτο γραφικών(μέγιστη δυνατή συμβατότητα) ÙÖ Ú ÐÓÔÑ ÒØ Ã Øµ5.0 Πηγή: ØØÔ»» ÒÚ Ð ¹ Ð Ò ºÒ Ø»» ¾º ÈÖÓ Ð Ñ Ø α. Εύρεση και καταγραφή των προδιαγραφών. β. Μεταφορά των προδιαγραφών σε μορφή πινάκων οι οποίοι με ειδικάπρογράμματαφλοιού/ Û παράγουναυτόματακώδικαγια περατοκαταστατικές μηχανές. ½
ÇÖ ÒÛØ»È Ö ÐÐÓÒ º Ò ÔØÙÜ 1.Σύστημαελέγχουαναθεωρήσεωνκώδικα.( Î˻ŠÖÙÖ Ð). Πηγές: ØØÔ»»ÛÛÛºÒÓÒ ÒÙºÓÖ»Ú» ØØÔ»» ØØÔ»»ÛÛÛº Ð Ò ºÓÑ»Ñ ÖÙÖ Ð» 2. Το περιβάλλον του συστήματος ανάπτυξης ήταν πάνω σε Λίνουξ (ËÙ 9.1) ¾¼
3. Χρησιμοποιήθηκαν κατά κόρον: 3.1. Προγράμματα φλοιού.(γενικής χρήσης, γεννήτορες προγραμμάτων Û ). 3.2.Προγράμματα Û γιατηπαραγωγήτωνπεριγραφώνκατάτη μεθοδολογία των περατοκαταστατικών μηχανών. 3.3.Τοπρόγραμμα Ö Ô Ú Þγιαεποπτικήαναπαράστασητων διαγραμμάτων των διάφορων μηχανών και διεργασιών. Πηγή: ØØÔ»»ÛÛÛº Ö Ô Ú ÞºÓÖ» 3.4Κειμενογραφία(Ì Ü»Ä Ø ÜέκδοσημευποστήριξηΕλληνικών ÁËÇ-8859-7 Πηγή: º ËÝÖÓÔÓÙÐÓ º Ì ÓÐÓÑ Ø Æº ËÓ ÖÓÒ ÓÙ Ø Ð ÌÝÔÓ Ö Ô Ý Í Ò Ä Ì º ¾½
ËÙÑÔ Ö Ñ Ø α. Το όλο περιβάλλον εργασίας ήταν μέσα σε Ανοικτό/Ελεύθερο λογισμικό. β. Το κόστος του όλου περιβάλλοντος ανάπτυξης ήταν μηδενικό. γ.τομόνομέροςκώδικαπουήτανιδιόκτητο,ήταναυτότωνοδηγών τωνπεριφερειακώντωνταμειακώνμηχανώντης Á Å.Αλλάκαιαυτό ήταν διαθέσιμο ελεύθερα από το διαδίκτυο. Πηγή: ØØÔ»»ÛÛÛ¾ºÐ ÖÐ º ѺÓÑ» ØÓÖ» ÙÔÔÓÖØ» ØÑлÔÓ Ð Ðº ØÑÐ ¾¾
Ã Ø Ð Ü Η όλη διαδικασία ανεστάλη λόγω της μή υποστήριξης του συγκεκριμένουτύπουτωνταμειακώνμηχανώναπότην Á Å.( Ετος κατασκευής των ταμειακών μηχανών 1993). Επιπλέον, ο διαχωρισμός της Διεύθυνσης Εμπορίας από την ΔΕΗ, επέβαλε νέες λειτουργικές προδιαγραφές για το ταμειακό σύστημα και διενεργήθηκε διαγωνισμός για τη προμήθεια νέου ταμειακού συστήματος. Υπάρχει ένα πρωτότυπο, που υλοποιεί ένα υποσύνολο των λειτουργικών προδιαγραφών. ¾
Ë̺ Ë Ý»ÈÖÓÓÔØ ½º Ò ÔÓØÑ º Το όλο εγχείρημα αποτελεί μιά αξιοσημείωτη εμπειρία για όσους στο μέλλον αποφασίσουν να αναπτύξουν εφαρμογές πάνω στις πλατφόρμες του λογισμικού ανοικτού κώδικα. ¾
α. Αυτού του είδους η ανάπτυξη, μπορεί να«αναζωογονήσει» μηχανές που τεχνολογικά θεωρούνται«ξεπερασμένες» που όμως έχουν μεγαλύτερη αξιοπιστία από πολλές αντίστοιχες«σύγχρονες». Σημεία: α.1. Είναι μύθος ότι χρειαζόμαστε μηχανές κάποιων χιλιάδων Ó Ñ Ô γιαεφαρμογέςπουαπαιτούνχρόνουςαπόκρισης >=500 Ñ. È Ö Ñ Ø Ñ Ñ Õ Ò ¹¼¼ Ñ ½ º½ Ó ÓÑ Ô Ü Ñ Ô ØÙÕ Ø ÙØ ÕÖÓÒ Ð ÕÓÙ Ð Ý ØÓ Ô Ó ÒÛÒ Ò Ð ØÓ ÔÐ ØÖÓÐ Ó Ø Ø Ñ ÖÙÑÓÙÐ Ó Õ Ö Ø Ö Ñ Ø Õ Ø Ø ¼ Ñ ºµ α.2. Η πλειοψηφία των πολυκαταστημάτων, είναι εφοδιασμένα με ταμειακές μηχανές αυτού του τύπου οι οποίες διεξέρχονται τις απαιτήσεις της εργασίας τους με επιτυχία εδώ και αρκετά χρόνια. ¾
β. Είναι δυνατόν με κατάλληλες επιλογές εργαλείων ανάπτυξης να υλοποιηθούν εφαρμογές που να έχουν υψηλές απαιτήσεις απόκρισης και ταχύτητας σε μηχανές με ισχυρούς περιορισμούς κεντρικής μνήμηςκαιδίσκων. ÌÓ ÒÓ Ø ÐÓ Ñ Ò ØÓ ÔÐ ÓÒ Ø ÐÐ ÐÓ Ñ Ø Ô Ö Ø Ø Ô ÒØ ÔÖÓ ÖÑÓ Ò Ø Ñ µ Ù Ø Ñ Ø ºµ γ. Θεωρώ ότι για τα Ελληνικά δεδομένα, το ανοικτό λογισμικό μπορεί να αποτελέσει σοβαρή πλατφόρμα ανάπτυξης για εξατομικευμένες εφαρμογές καθώς και για εφαρμογές γενικού σκοπού. Ο λόγος που δέν γίνεται κάτι τέτοιο απαιτεί μιά ανάλυση που ξεφεύγει απο τα πλαίσια της παρουσίασης. ¾
ÃÖ Ñ Ñ Ø ÕÖ ¾º ÐÓ Ñ Ó Ò ÔØÙÜ ÒÓ ØÓ ÖÑÓ ôòº α. Δέν υπάρχουν πολλά«έτοιμα» περιβάλλοντα ανάπτυξης εφαρμογών ιδίωςγιαμηχανέςχαμηλώνεπιδόσεων. ÌÓ ÔÖ Ð Ñ ÙØ Ò Ò ôø ÖÓ Ô Ø Ò ÑÔ Ö ÑÓÙ Ø Ò Ò ÔØÙÜ Ø Ð Ô Ó ÒÛÒ ôò ÖÑÓ ôòµº β. Η γενικώτερη«κουλτούρα» της εποχής δέν ευνοεί τήν εις βάθος εξέταση και γνώση των παραμέτρων των υπολογιστικών συστημάτων. À Ö Ø ÕÖ ØÓÙ Ö Ó Ñ ÖÓÙ ÓÔÓ Ó ÔÓØ Ø ÔÓ ÖÑÓ ôò Ó Ø ÕÖ ÔÓÐÙ Ô ÒÛÒ ÙÔÓÐÓ Ø Ò Ö µ Ñ Õ ÒôÒ ÖÑÓ ÔÓÙ Ò Ô ØÓ Ò Ø Ø ØÓ Óºµ ¾
ÃÖ Ñ Ñ Ø ÕÖ ¾º ÐÓ Ñ Ó Ò ÔØÙÜ ÒÓ ØÓ ÖÑÓ ôòº(συνέχεια) γ. Η προϋπόθεση του Ανοικτού Κώδικα είναι αναγκαία συνθήκη αλλά όχι και ικανή για τη παραγωγή καλής ποιότητας προγραμμάτων. Ô Ø Ø ÐØÛ Ø ÙÔ ÖÕÓÙ Ñ Ó ÓÐÓ ØÛÒ Ö Ð ÛÒ Ò ÔØÙÜ ô Ø Ò Ò ÓÐ ÒÛ ÔÐÙ ØÛÒ ÐÑ ØÛÒº µ ¾
ÈÖÓØ ÔÖÓ Ø Ø ÙÒ º Ø ÔÓ Ø Ø ØÛÒ ÐØÛ ÔÖÓ Ö ÑÑ ØÛÒ α. Μεθοδολογίες και αντίστοιχα εργαλεία για ανάπτυξη λογισμικού οι οποίες να επιτρέπουν άμεση ιχνηλασία της εξέλιξης ενός προγράμματος. β. Εργαλεία ανοικτού λογισμικού, για τη παραγωγή του τελικού κώδικα πρός μεταγλώττιση. ¾
ÄÓ Ñ ÒÓ ØÓ Ãô ØÓ Ë Ø Ñ Ø Ì Ñ À ÙÕ Ö ØÛ Συνεδριο Δημιουργων ΕΛ/ΛΑΚ 2009 ¼