Code Generator, μια πρωτοποριακή τεχνολογία από τη NEUROPUBLIC

Μια από τις πλέον καινοτόμες τεχνολογίες, που αναπτύχθηκαν τα τελευταία χρόνια είναι ο Γεννήτορας Κώδικα, για τον οποίο μας μίλησε ο Δρ. Γιώργος Μαμάης, ένας από τους πρωτεργάτες του σχεδιασμού και της υλοποίησής του

Με τον Code Generator μειώνουμε τα λάθη και κερδίζουμε σε χρόνο
Η NEUROPUBLIC ΑΕ, προσεγγίζοντας τα 15 έτη επιτυχημένης παρουσίας στον Ελληνικό χώρο, διοργάνωσε εκδήλωση, το Σάββατο 11 Φεβρουαρίου 2017, στο Ελληνικό Μουσείο Αυτοκινήτου, στο κέντρο της Αθήνας.

Συνέντευξη στον Κώστα Παπαϊωάννου

Στην παρουσίασή σας δείξατε ότι ο Γεννήτορας Κώδικα αποτελεί ένα από τα πιο δυνατά στοιχεία της εταιρείας. Συγκεκριμένα, είναι η τεχνολογία που κατέστησε τη NEUROPUBLIC ως μία από τις πιο ανταγωνιστικές εταιρείες πληροφορικής. Ποια ήταν η ανάγκη που οδήγησε τη NEUROPUBLIC, μετά από αρκετά μεγάλη πορεία στον συγκεκριμένο χώρο, σε αυτή τη ριζική τεχνολογική ανανέωση;

Τα πολύπλοκα και απαιτητικά πληροφοριακά συστήματα που αναπτύσσει η εταιρεία απαιτούν πολύ μεγάλο όγκο δουλειάς, που μεταφράζεται σε εκατομμύρια γραμμές κώδικα, ατελείωτες ώρες ανάπτυξης και διόρθωσης αυτού και –κατά συνέπεια– μεγάλη αύξηση των παραγωγικών εξόδων, γεγονός το οποίο έχει αντίκτυπο στο τελικό κόστος του προϊόντος. Κατανοώντας την ανάγκη αυτή, και έχοντας την προηγούμενη απαραίτητη γνώση από τη συνεργασία μας με την Ευρωπαϊκή Υπηρεσία Διαστήματος, αποφασίσαμε να προχωρήσουμε στη ριζική τεχνολογική ανανέωση του τμήματος Ανάπτυξης & Παραγωγής της εταιρείας.

Στα πλαίσια αυτά αναπτύξαμε την τεχνολογία που ονομάσαμε NeuroCode (ή Γεννήτορα Κώδικα), ένα πρόγραμμα, δηλαδή, που παράγει κώδικα για προγράμματα. Με τη χρήση του γεννήτορα κώδικα NeuroCode, o παραγόμενος νέος κώδικας προκύπτει αυτόματα, αποφεύγοντας την επίπονη και επιρρεπή σε λάθη χειροκίνητη μεθοδολογία προγραμματισμού.

Μέσα από ποια διαδικασία προέκυψε η γνώση και η προσαρμογή της καινοτομίας αυτής;

Η τεχνολογία του γεννήτορα κώδικα αναπτύχθηκε από την ομάδα μηχανικών πληροφορικής του τομέα Έρευνας και Ανάπτυξης της NEUROPUBLIC, στο πλαίσιο της συνεργασίας της με την Ευρωπαϊκή Υπηρεσία Διαστήματος (European Space Agency – ESA), με βάση την τεχνογνωσία της εταιρείας στο συγκεκριμένο αντικείμενο. Αφού εφαρμόστηκε με επιτυχία σε διάφορα έργα της ESA, η τεχνολογία, πλέον, βρίσκει εφαρμογή σε πληθώρα διαφορετικών περιπτώσεων, που καλύπτουν τις ανάγκες διαφορετικών φορέων του δημόσιου και ιδιωτικού τομέα, καθώς επιτρέπει τη γρήγορη προτυποποίηση και ανάπτυξη εφαρμογών.

Πώς πιστοποιείται η αποτελεσματικότητα του Γεννήτορα Κώδικα και πού έχει δοκιμαστεί μέχρι σήμερα;

Ο γεννήτορας κώδικας NeuroCode έχει ήδη παράξει εκατομμύρια γραμμές κώδικα για τις Cloud εφαρμογές της εταιρείας, έχει μειώσει στο ελάχιστο τα όποια λάθη στα παραγόμενα συστήματα της εταιρείας και προσδίδει στα προϊόντα και τις υπηρεσίες της NEUROPUBLIC τη σταθερότητα και την αξιοπιστία που μέχρι σήμερα απολαμβάνει μόνο το διαστημικό λογισμικό.

Τι αποκομίζει, εν τέλει, ο τελικός χρήστης μιας εφαρμογής που δημιουργήθηκε με αυτή την τεχνολογία;

Η υιοθέτηση κοινών προτύπων για τους χρήστες, αφενός προσδίδει ταυτότητα στις εφαρμογές και τα συστήματα της εταιρείας, αφετέρου τα καθιστά ιδιαίτερα φιλικά στο χρήστη, καθώς ακολουθείται κοινή λογική που επιτρέπει στον χρήστη τη γρήγορη προσαρμογή του σε κάθε νέο σύστημα ή εφαρμογή, με αποτέλεσμα τη μείωση του χρόνου υποστήριξης για απλά και μη σημαντικά θέματα (π.χ. θέση βασικών κουμπιών, ανάπτυξη MENU, κ.λπ).

Με λίγα λόγια, ποιο είναι το ουσιαστικό όφελος στη λειτουργία της εταιρείας από τον Γεννήτορα Κώδικα;

Με τη χρήση του Γεννήτορα Κώδικα, η NEUROPUBLIC έχει καταφέρει να ανεβάσει την ποιότητα των συστημάτων και των εφαρμογών της, έχει μειώσει σχεδόν κατά 75% το χρόνο ανάπτυξης με μειωμένο κόστος παραγωγής και παράγει συστήματα με μεγάλη δυνατότητα προσαρμογής και επέκτασης, φιλικά και αποδεκτά από το χρήστη, ικανοποιώντας και τους πιο δύσκολους πελάτες της.

Στην ίδια την εταιρεία, εσωτερικά, η χρήση του Γεννήτορα Κώδικα επιτρέπει την ομαδική εργασία, τη συνεχή εκπαίδευση του υπάρχοντος προσωπικού σε νέες τεχνολογίες, αλλά και τη συνεχή αναζήτηση ταλέντων με ιδιαίτερες γνώσεις και ικανότητες, που μπορούν εύκολα να ενσωματωθούν στο δυναμικό της.

Κατακόρυφη αύξηση της παραγωγικότητας

Ποια είναι τα πλεονεκτήματα της χρήσης του Γεννήτορα Κώδικα;

Τα πλεονεκτήματα από τη χρήση του σε ανάπτυξη εφαρμογών με τον Γεννήτορα Κώδικα αποδεικνύονται στην πράξη με μια σειρά μετρήσεων από πραγματικά αποτελέσματα του τμήματος παραγωγής της NEUROPUBLIC. Με τη χρήση του Γεννήτορα Κώδικα σε συγκεκριμένα συστήματα, αποδείχθηκε η κατακόρυφη αύξηση της παραγωγικότητας του τμήματος παραγωγής της εταιρείας, αφού ο παραγόμενος κώδικας φθάνει σε ποσοστά έως και 94% και μόνο το 6% αναπτύσσεται χειροκίνητα.

Στην πράξη, ο χρόνος ανάπτυξης μιας εφαρμογής που θα απαιτούσε 16 εβδομάδες υλοποίησης μειώθηκε στις 4 εβδομάδες – έγινε δηλαδή 4 φορές πιο γρήγορα και, το πιο σημαντικό, ο χρόνος που απαιτούνταν για τον έλεγχο της εφαρμογής μειώθηκε από τις 8 εβδομάδες σε μόλις 2 εβδομάδες (μείωση έως και 75%).

Η ανάπτυξη εφαρμογών με τον Γεννήτορα Κώδικα πρακτικά σημαίνει μικρότερο κόστος για τον πελάτη και λιγότερα λάθη στις παραγόμενες εφαρμογές της εταιρείας, κάτι που αποτελεί τεράστιο ανταγωνιστικό πλεονέκτημα σε σύγκριση με τον ανταγωνισμό.

Από την άλλη, ο περιορισμός λαθών και σφαλμάτων από τη χρήση του Γεννήτορα Κώδικα αποτελεί, επίσης, ένα σημαντικότατο στοιχείο διαφοροποίησης από τον κοινό τρόπο ανάπτυξης. Με ανάπτυξη μέσω Γεννήτορα Κώδικα απαιτείται λιγότερος χειροκίνητος κώδικας, επομένως γίνονται λιγότερα λάθη – γιατί τα λάθη γίνονται συνήθως από τους ανθρώπους. Εάν, ωστόσο, προκύψει λάθος σε παραγόμενο κώδικα, τότε γίνεται κεντρική διόρθωση στα παρουσιαζόμενα προβλήματα και έτσι το πρόβλημα επιλύεται σε όλες τις εφαρμογές. Επίσης, ο παραγόμενος κώδικας είναι βελτιστοποιημένος, με αποτέλεσμα οι εφαρμογές να εκτελούνται με μεγάλη ταχύτητα.

Σε ένα σύστημα που αναπτύσσεται με το Γεννήτορα Κώδικα, γίνεται ευκολότερη η υιοθέτηση νέων τεχνολογιών μέσω της «γλώσσας» Neurolang που έχει δημιουργηθεί εσωτερικά στη NEUROPUBLIC και επιτρέπει την προσαρμογή της εφαρμογής σε διαφορετικές τεχνολογίες, με απλό και σύντομο τρόπο (π.χ. μπορεί να γίνει προσαρμογή σε JSF/Java, Angular/Java, iOS/Android κ.λπ.).

Ένα ακόμη πλεονέκτημα των εφαρμογών που η εταιρεία αναπτύσσει με τον Γεννήτορα Κώδικα είναι πως όλες οι εφαρμογές που αναπτύσσονται από το τμήμα παραγωγής, όσο και αν διαφέρουν μεταξύ τους, έχουν κοινή αρχιτεκτονική δομή, γεγονός που επιτρέπει πολύ εύκολα σε κάθε μέλος της ομάδας παραγωγής να υποστηρίζει και να συντηρεί όλες τις εφαρμογές της εταιρείας χωρίς προβλήματα και κενά γνώσης.