EngLab: Μαθηματική Εφαρμογή από το ΤΗΜΜΥ του ΑΠΘ |
Γράφει ο/η Γιώργος Γερακάκης | ||||
14.06.08 | ||||
Η ανακοίνωση που ακολουθεί, προέρχεται από μια ομάδα φοιτητών του τμήματος Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του ΑΠΘ οι οποίοι προχώρησαν στο πρώτο release ενος open-source cross compile προγραμματος σε στυλ Matlab. Έγινε το release 0.2alpha του open-source προγράμματος EngLab. To site μας βρισκεται στην τοποθεσια http://englab.sourceforge.net . Μπορείτε να κατεβάσετε το EngLab από την τοποθεσία https://sourceforge.net/project/showfiles.php?group_id=206384 Το EngLab είναι μία cross platform (Linux και Windows) μαθηματική εφαρμογή με σύνταξη παρόμοια με αυτή της γλώσσας προγραμματισμού C++. Σκοπός μας είναι να χρησιμοποιηθεί τόσο από μηχανικούς, όσο και από άλλους χρήστες με μικρή προγραμματιστική εμπειρία. Την πρωτοβουλία ανέλαβαν μία ομάδα φοιτητών πρίν από περίπου ένα χρόνο, όταν και άρχισαν την κατασκευή του. Στόχος μας είναι να δημιουργήσουμε μία εύχρηστη πλατφόρμα υπολογισμών και προσομοιώσεων, που σχετίζονται με διάφορες επιστημονικές περιοχές. Συγκεκριμένα, έχουμε υιοθετήσει την φιλοσοφία του Matlab, όσον αφορά στη δομή του προγράμματος και τη φιλοσοφία της C++ για την όσο το δυνατόν δομημένη σύνταξη της γλώσσας του.
Όπως και στο Matlab, υπάρχουν διάφορα toolboxes (πακέτα συναρτήσεων που αφορούν ένα επιστημονικό πεδίο), τα οποία στηρίζονται σε open-source βιβλιοθήκες. Η διανομή του προγράμματος γίνεται με τον εξής τρόπο: υπάρχουν δύο βασικά releases του EngLab, το EngLab Console και το EngLab GUI. Το EngLab Console είναι προορισμένο για εκτέλεση στην κονσόλα (είτε του Linux είτε των Windows). Αντίθετα, το Englab GUI είναι ένα Graphical User Interface για το Englab, το οποίο στηρίζεται στην open-source βιβλιοθήκη δημιουργίας γραφικού περιβάλλοντος wxWidgets 2.8, παρέχοντας περισσότερη ευχρηστία και επιπλέον λειτουργίες σε σχέση με την έκδοση της κονσόλας. Να σημειώσουμε ότι το EngLab GUI είναι ένα αυτόνομο πρόγραμμα, δηλαδή δεν απαιτεί την έκδοση της κονσόλας για να εγ! κατασταθεί και να εκτελεστεί. Εκτός από τα παραπάνω, τα toolboxes διανείμονται ως ξεχωριστά πακέτα, τα οποία μπορούν να εγκατασταθούν οποτεδήποτε μετά την εγκατάσταση κάποιας από τις δύο βασικές εκδόσεις. Επιλέχθηκε αυτός ο τρόπος διανομής των toolboxes, διότι όπως είπαμε παραπάνω τα toolboxes κάνουν χρήση open-source βιβλιοθηκών, οι οποίες πρέπει να εγκατασταθούν πρίν την εγκατάσταση ενός toolbox που τις χρησιμοποιεί. Έτσι, για να μην είναι αναγκασμένος ο χρήστης να εγκαταστήσει μία πληθώρα πακέτων για να εκτελέσει το Englab, του δίνουμε τη δυνατότητα να εγκαθιστά πακέτα και toolboxes κατά βο! ύληση. Για την ώρα, μόνο η έκδοση EngLab Console είναι διαθέσιμη για τα Windows, ενώ για τα Linux είναι διαθέσιμες και οι δύο. Μέχρι στιγμής το EngLab υποστηρίζει: - Δήλωση μεταβλητών 16 διαφορετικών τύπων (int, float κτλ..) - Δήλωση μεταβλητών με απεριόριστο πλήθος διαστάσεων - Δομές επανάληψης (for, while ...) - Αριθμητικές, λογικές και δυαδικές πράξεις μεταξύ μεταβλητών - Δήλωση σταθερών (pi, phi ...) - Γραφική διαχείριση των τιμών μεταβλητής οποιασδήποτε διάστασης (EngLab GUI) - Παραμετροποιήσιμο περιβάλλον (EngLab GUI) - Editor για σύνταξη αρχείων .eng (EngLab GUI) - Ιστορικό εντολών για τα τελευταία 5 sessions - Απευθείας εύρεση μεταβλητών, σταθερών και συναρτήσεων (EngLab GUI) - Πρόσφατα αρχεία που ανοίχθηκαν μέσω του EngLab (EngLab GUI) Όσον αφορά τα toolboxes έχουμε υλοποιήσει μερικώς τα παρακάτω: - Πακέτο με τις βασικές συναρτήσεις της C (τριγωνομετρικές, υπερβολικές τριγωνομετρικές, ..) - Πακέτο με κάποιες συναρτήσεις στατιστικής - Πακέτο με συναρτήσεις μετατροπής τύπων μεταβλητών Τα παραπάνω toolboxes διανέμονται με τις βασικές εκδόσεις του EngLab, αφού δεν απαιτούν κάποια επιπλέον open-source βιβλιοθήκη. Τα επιπλέον toolboxes που έχουμε υλοποιήσει είναι: - Πακέτο με συναρτήσεις για διδιάστατους πίνακες (ορίζουσα, αντίστροφο, ανάστροφο ...) Το πακέτο αυτό στηρίζεται στην open-source βιβλιοθήκη NewMat10. - Πακέτο με συναρτήσεις για επεξεργασία εικόνας που βασίζεται στην open-source βιβλιοθήκη CImg. - Πακέτο με συναρτήσεις για επεξεργασία εικόνας που βασίζεται στην open-source βιβλιοθήκη OpenCV. Επίσης υλοποιούμε, - πακετο για την οπτική αναπαράσταση δεδομένων (γραφήματα κτλ) - πακέτο συναρτήσεων που αφορούν διαχείριση πολυωνύμων, εύρεση ριζών, υπολογισμού ολοκληρωμάτων, παραγώγων, ειδικών συναρτήσεων κ.α., τα οποία θα διαθέσουμε σε επόμενες εκδόσεις. Το μόνο μειονέκτημα είναι ότι ο αριθμός των ατόμων της ομάδας μας είναι τέτοιος, ο οποίος δεν μας επιτρέπει την γρήγορη ανάπτυξη του EngLab. Ως εκ τούτου, κάθε βοήθεια προς αυτή την κατεύθυνση είναι ευπρόσδεκτη! Μπορείτε να μας βοηθήσετε με τρεις τρόπους: - Με την αναφορά τυχόν bugs που παρατηρείτε κατά την εκτέλεση του προγράμματος. Αυτό μπορεί να γίνει στην εξής διεύθυνση https://sourceforge.net/tracker/?group_id=206384&atid=997443 - Επίσης μπορείτε να δηλώνετε κάποια επιπλέον features που θα θέλατε να ενσωματωθούν στο EngLab, ώστε να βελτιωθεί η χρηστικότητά του. Νέα features μπορείτε να δηλώσετε εδώ: https://sourceforge.net/tracker/?group_id=206384&atid=997446 - Ο δύσκολος τρόπος (!) είναι να γίνετε developer στο EngLab και να μας βοηθήσετε στην ανάπτυξη του κώδικα. Αυτο απαιτεί γνώση της γλώσσας C++ και .... μεράκι! Αν έχετε διαβάσει ως εδώ σημαίνει ότι είστε σε καλό δρόμο! Η λίστα επικοινωνίας του EngLab για οποιεσδήποτε απορίες είναι η Αυτό το ηλεκτρονικό μήνυμα προστατεύεται από spam bots, θα πρέπει να έχετε ενεργοποιημένη τη Javascript για να το δείτε . Επίσης διαθέτουμε τόσο online documentation όσο και σε μορφή PDF. Το documentation είναι διαθέσιμο μέσω της σελίδας http://englab.sourceforge.net/documentation.html _____________________________________________ Η ομάδα ανάπτυξης του EngLab: Bugfest Team: Σερένης Χαράλαμπος - Διδακτορικός φοιτητής του ΤΗΜΜΥ Τσαρδούλιας Εμμανουήλ - Διδακτορικός φοιτητής του ΤΗΜΜΥ Γαββές Ευστράτιος - Διπλωματούχος ΤΗΜΜΥ Παραστατίδης Νικόλας - Προπτυχιακός φοιτητής ΤΗΜΜΥ Επίσης βοήθησαν: Γκέκας Χρήστος - Διπλωματούχος ΤΗΜΜΥ Βογιάνου Θανάσης - Διδακτορικός φοιτητής του ΤΗΜΜΥ Προβολές: 13751
1. 20-07-2008 15:18 EngLab 0.2.1 release Με χαρά σας ανακοινώνουμε το release 0.2.1 του open-source προγράμματος EngLab. Οι αλλαγές σε σχέση με τη προηγούμενη έκδοση είναι οι παρακάτω: Αλλαγές στον πυρήνα: - Έχουν λυθεί όλα τα σημαντικά memory leaks, όπως και τα περισσότερα bugs. - Προστέθηκε η δυνατότητα ορισμού μονοδιάστατου πίνακα και απλής μεταβλητής. - Προστέθηκαν οι τελεστές ++ και -- - Προστέθηκε η δυνατότητα λήψης και ορισμού υποπινάκων πολυδιάστατων μεταβλητών Αλλαγές στο γραφικό περιβάλλον: - Προστέθηκε παράθυρο που απεικονίζει τα πρόσφατα αρχεία που έχουν χρησιμοποιηθεί από τον χρήστη. - Προστέθηκε παράθυρο που δείχνει τον φάκελο εργασίας του EngLab με δυνατότητα περιήγησης στους φακέλους του συστήματος - Προστέθηκαν νέα εικονίδια για αρχεία τύπου englab, εικόνες, βίντεο και ήχους. - Υπάρχει η δυνατότητα άμεσης φόρτωσης εικόνας ή εκτέλεσης αρχείου με διπλό κλίκ στο αρχείο - Προστέθηκε συντακτικός έλεγχος του englab script από τον editor - Προστέθηκε μία εικόνα στο κάτω αριστερά μέρος του EngLabGui που δείχνει σε thumbnail το αποτέλεσμα της προηγούμενης εντολής, εαν αυτή αφορούσε επεξεργασία εικόνας. Αλλαγές στα toolboxes: - Προστέθηκε toolbox για τη δημιουργία γραφικών παραστάσεων - Προστέθηκε toolbox με ειδικές συναρτήσεις όπως Bessel, Airy κτλ Μελλοντικά features: - Toolbox για διαχείριση της σειριακής θύρας - Toolbox εύρεσης ριζών εξισώσεων - Toolbox στατιστικής - Toolbox ολοκληρωμάτων - Δυνατότητα αξιοποίησης πολλών πυρήνων επεξεργαστών με αυτόματο τρόπο Ελπίζουμε να χρησιμοποιήσετε το πρόγραμμά μας και να μας βοηθήσετε ώστε να το κάνουμε καλύτερο! Bug Reports: http://sourceforge.net/tracker/?group_id=206384&atid=997443 Feature Requests: http://sourceforge.net/tracker/?group_id=206384&atid=997446 Our Site: http://englab.sourceforge.net/ Our forum: http://englab.sourceforge.net/forum/index.php Englab Documentation: http://englab.sourceforge.net/documentation.html Developers: BugFest team 2. 24-09-2008 16:29 EngLab 0.2.1 release Είμαστε στην ευχάριστη θέση να σας ανακοινώσουμε ότι έγινε το release 0.2.4 του προγράμματος EngLab. Οι αλλαγές σε σχέση με την έκδοση 0.2.3 είναι οι παρακάτω: Αλλαγές στον πυρήνα: * - Το πακέτο libenglab έγινε δυναμική βιβλιοθήκη. * - Προστέθηκαν δέκα νέα toolboxes προστέθηκαν τα οποία περιέχουν συναρτήσεις για μετατροπές μονάδων. Συγκεκριμένα οι συναρτήσεις κάνουν: * - Μετατροπές μονάδων εμβαδού * - Μετατροπές μονάδων πυκνότητας * - Μετατροπές μονάδων ενέργειας * - Μετατροπές μονάδων μήκους * - Μετατροπές μονάδων ισχύος * - Μετατροπές μονάδων πίεσης * - Μετατροπές μονάδων θερμοκρασίας * - Μετατροπές μονάδων ταχύτητας * - Μετατροπές μονάδων όγκου * - Μετατροπές μονάδων βάρους Αλλαγές στο γραφικό περιβάλλον: * - Αφαιρέθηκε το Input Box. Πλέον οι εντολές δίνονται στο Output Box. Άλλες αλλαγές: * - Η νέα έκδοση του build system επιτρέπει στους χρήστες να κάνουν compile για Windows από ένα σύστημα UNIX * - Έγινε release της γραφικής έκδοσης του EngLab (englabgui) για Windows! Περιέχεται στο πακέτο EngLab-all-in-one του sourceforge * - Δημιουργήθηκε ένα συνολικό πακέτο εγκατάστασης για το UNIX. Επίσης δημιουργήσαμε ένα Debian και ένα Arch repository. Για να κατεβάσετε το EngLab από το repository του Debian προσθέστε τις παρακάτω γραμμές στα repository sources σας: deb http://englab.bugfest.net/debian unstable main deb-src http://englab.bugfest.net/debian unstable main Για να μας κατεβάσετε από το Arch repository ακολουθήστε τις παρακάτω οδηγίες: http://englab.bugfest.net/wiki/index.php?title=Main_Page#Archlinux http://bbs.archlinux.org/viewtopic.php?pid=423364 Επίσης τα πακέτα μας έχουν προστεθεί και στο ArchLinux User-community Repository (AUR). Ελπίζουμε ότι το πρόγραμμά μας θα σας είναι χρήσιμο. Επίσης ελπίζουμε να μας βοηθήσετε ώστε να κάνουμε το EngLab καλύτερο! Developers: BugFest team Links: EngLab Download http://sourceforge.net/project/showfiles.php?group_id=206384 Bug Tracker: http://sourceforge.net/tracker/?group_id=206384&atid=997443 Feature requests: http://sourceforge.net/tracker/?group_id=206384&atid=997446 Englab forum: http://englab.bugfest.net/forum/index.php EngLab Wiki: http://englab.bugfest.net/wiki Englab Online documentation: http://englab.bugfest.net/documentation.html 3. 31-05-2009 21:29 EngLab 0.2.1 release Είμαστε στην ευχάριστη θέση να ανακοινώσουμε ότι η έκδοση 0.3 του Englab είναι έτοιμη. Η νέα έκδοση περιλαμβάνει πολλές διορθώσεις και βελτιώσεις στον πυρήνα, ένα νέο και προχωρημένο Γραφικό Περιβάλλον βασισμένο στο Qt toolkit και "εργαλειοθήκες" (toolboxes) με πολλές συναρτήσεις. Ανάμεσα τους: - cimgbox, εργαλειοθήκη για επεξεργασία εικόνας - plotbox, εργαλειοθήκη για γραφικές παραστάσεις - dspbox, εργαλειοθήκη για ψηφιακή επεξεργασία σήματος και επεξεργασία ήχου σαν δυναμικές (εξωτερικές) εργαλειοθήκες και: - analogfilters, εργαλειοθήκη για σχεδίαση αναλογικών φίλτρων - καθώς και εργαλειοθήκες για μετατροπές μονάδων, μιγαδικούς αριθμούς, πολυώνυμα, στατιστική και πολλά άλλα σαν στατικές (ενσωματωμένες) εργαλειοθήκες. Το Englab είναι διαθέσιμο για GNU/Linux, *nix (μη δοκιμασμένο) και Windows32. Για GNU/Linux - Ανεξάρτητο Τα tarballs με τον πηγαίο κώδικα είναι διαθέσιμα για build στο: http://sourceforge.net/project/showfiles.php?group_id=206384 - Debian/Ubuntu (και άλλες Debian-based διανομές) Έτοιμα πακέτα deb μπορούν να κατεβαστούν από εδώ: http://sourceforge.net/project/showfiles.php?group_id=206384&package_id=292500 ή για να χρησιμοποιήσετε το Debian repository μας, απλώς προσθέστε τις ακόλουθες γραμμές στο αρχείο /etc/apt/sources.list deb http://englab.bugfest.net/debian unstable main deb-src http://englab.bugfest.net/debian unstable main (Πρέπει να έχετε δικαιώματα root για να επεξεργαστείτε το παραπάνω αρχείο) - Archlinux PKGBUILD scripts είναι διαθέσιμα στο AUR: http://aur.archlinux.org/packages.php?O=0&K=englab&do_Search=Go και στο sourceforge: http://sourceforge.net/project/showfiles.php?group_id=206384&package_id=292585 και επίσης έτοιμα πακέτα Arch υπάρχουν στο Archlinux repository μας. Στο αρχείο /etc/pacman.conf προσθέστε τις ακόλουθες γραμμές για την αρχιτεκτονική i686: [englab] Server = http://englab.bugfest.net/arch/i686 και για την αρχιτεκτονική x86_64: [englab] Server = http://englab.bugfest.net/arch/x86_64 μετά εκτελέστε: # pacman -Syu για να επιτρέψετε στον pacman να συγχρονιστεί με το repository και: # pacman -Ss englab για να δείτε τα διαθέσιμα πακέτα. - Fedora Πακέτα RPM μπορούν να μεταφορτωθούν από το sourceforge: http://sourceforge.net/project/showfiles.php?group_id=206384&package_id=324683 Για Windows Κατεβάστε το zip από το sourceforge: http://sourceforge.net/project/showfiles.php?group_id=206384&package_id=324502 και κάντε extract στο φάκελο της επιλογής σας. Για ενδεχόμενα bugs, απαιτήσεις ή σχόλια παρακάλω στείλτε μας e-mail στο: Αυτό το ηλεκτρονικό μήνυμα προστατεύεται από spam bots, θα πρέπει να έχετε ενεργοποιημένη τη Javascript για να το δείτε Ευχαριστούμε! Μόνο οι εγγεγραμμένοι χρήστες μπορούν να γράψουν ένα σχόλιο. Παρακαλώ κάντε login ή εγγραφείτε. Powered by AkoComment Tweaked Special Edition v.1.4.6 |