Δημιουργία μοντέλου EMF με χρήση σχήματος XML (XSD)

Τελευταία ενημέρωση: 21 Μαΐου 2008

Αυτό το πρόγραμμα εκμάθησης παρέχει μια βήμα προς βήμα περιγραφή της διαδικασίας δημιουργίας ενός μοντέλου EMF από ένα σχήμα XML και μιας απλής λειτουργίας επεξεργασίας για το αυτό το μοντέλο. Αυτό το πρόγραμμα εκμάθησης επιδεικνύει πόσο εύκολη είναι με το EMF η μετάβαση από έναν απλό ορισμό μοντέλου από ένα σχήμα XML σε μια πλήρη λειτουργία επεξεργασίας για αυτό το μοντέλο.

Τα αποτυπώματα οθόνης βασίζονται στην έκδοση 3.2.0 RC6 του Eclipse SDK και στην έκδοση 2.2.0 RC6a του EMF.

Μπορείτε να βρείτε το αρχείο σχήματος XML που χρησιμοποιούμε σε αυτό το πρόγραμμα εκμάθησης εδώ: library.xsd. Αποθηκεύστε το στον σταθμό εργασίας σας για μεταγενέστερη χρήση.

Οι βασικοί κανόνες αντιστοίχισης από σχήμα XML σε Ecore είναι:

Από την προοπτική μοντελοποίησης, το σχήμα XML δεν είναι όσο εκφραστικό είναι το Ecore. Δεν μπορεί να ορίσει το είδος ενός προορισμού παραπομπής ούτε να ορίσει αμφίδρομες παραπομπές (αν και το EMF παρέχει τον δικό του τρόπο για την υπέρβαση αυτών των περιορισμών).


Περιεχόμενα

Βήμα 0: Προϋποθέσεις
Βήμα 1: Εισαγωγή μοντέλου από σχήμα XML
Βήμα 2: Δημιουργία κώδικα μοντέλου EMF
Βήμα 3: Δημιουργία λειτουργίας επεξεργασίας για το μοντέλο
Βήμα 4: Εκτέλεση της δημιουργημένης λειτουργίας επεξεργασίας


 περιεχόμενα

Βήμα 0: Προϋποθέσεις

Αυτό το πρόγραμμα εκμάθησης απαιτεί τόσο το πακέτο EMF Runtime, το οποίο περιλαμβάνει τη γεννήτρια EMF και τις σχετικές πρόσθετες λειτουργίες, όσο και το πακέτο XML Schema Definition (XSD) Runtime. Το δεύτερο πακέτο παρέχει ένα μοντέλο EMF σχήματος XML, στο οποίο στηρίζεται το EMF για την ανάγνωση σχημάτων. Για ευκολία, παρέχεται ένα συνδυασμένο πακέτο EMF και XSD SDK. Μετά την εγκατάσταση του πακέτου ή των πακέτων, επαληθεύστε ότι είναι διαθέσιμα στο περιβάλλον Eclipse:

Περαιτέρω πρόσθετες λειτουργίες EMF και XSD δεν είναι απαραίτητες για αυτό το πρόγραμμα εκμάθησης. Η εμφάνιση ή όχι αυτών των πρόσθετων λειτουργιών εξαρτάται από τα πακέτα που έχετε εγκαταστήσει.


 περιεχόμενα

Βήμα 1: Εισαγωγή μοντέλου από σχήμα XML

Δημιουργήστε ένα νέο έργο EMF στον χώρο εργασίας:


 περιεχόμενα

Βήμα 2: Δημιουργία κώδικα μοντέλου EMF

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

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

Το μοντέλο γεννήτριας είναι επίσης το σημείο όπου μπορείτε να ξεκινήσετε τη δημιουργία κώδικα. Πατώντας με το δεξί κουμπί του ποντικιού σε ένα αντικείμενο του μοντέλου, μπορείτε να δημιουργήστε κώδικα για αυτό.

Μετά τη δημιουργία, θα έχουν δημιουργηθεί οι διεπαφές κλάσεων και η κλάση απαρίθμησης και θα έχουν δημιουργηθεί επίσης δύο νέες διεπαφές, μία για το ίδιο το πακέτο και μία για τη μέθοδο κατασκευής. Θα υπάρχουν επίσης δύο νέα πακέτα, με επιθήματα "impl" και "util", τα οποία περιέχουν υλοποιήσεις των διεπαφών και επιπρόσθετες κλάσεις βοηθήματος, και τα δύο είδη αρχείων δήλωσης για το μοντέλο πρόσθετης λειτουργίας: "plugin.xml" και "MANIFEST.MF".

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


 περιεχόμενα

Βήμα 3: Δημιουργία λειτουργίας επεξεργασίας για το μοντέλο

Μια πλήρως λειτουργική λειτουργία επεξεργασίας του Eclipse μπορεί επίσης να δημιουργηθεί για οποιοδήποτε μοντέλο. Ως προεπιλογή, διαχωρίζεται σε δύο πρόσθετες λειτουργίες: μια πρόσθετη λειτουργία "edit", η οποία περιλαμβάνει προσαρμογείς που παρέχουν μια δομημένη προβολή και εκτελούν τροποποιήσεις των αντικειμένων του μοντέλου με χρήση εντολών, και μια πρόσθετη λειτουργία "editor" η οποία παρέχει το περιβάλλον χρήστη για τη λειτουργία επεξεργασίας και τον οδηγό.

Γενικά, αν επιθυμείτε να δημιουργήσετε τις πρόσθετες λειτουργίες μοντέλου, τροποποίησης και λειτουργίας επεξεργασίας σε ένα και μόνο βήμα, μπορείτε να το κάνετε επιλέγοντας "Δημιουργία όλων" από το αναδυόμενο μενού. Αυτή η επιλογή θα δημιουργήσει επίσης μια πρόσθετη λειτουργία tests, που περιέχει κώδικα δοκιμής JUnit.

Ο κώδικας θα πρέπει να μεταγλωττίζεται αυτόματα κατά τη δημιουργία του, και θα πρέπει να αναμεταγλωττίζεται κάθε φορά που αλλάζει. Αν έχετε απενεργοποιήσει την αυτόματη δόμηση στις ιδιότητες του πάγκου εργασίας, μπορείτε να ξεκινήσετε τη διαδικασία μεταγλώττισης μη αυτόματα:


 περιεχόμενα

Βήμα 4: Εκτέλεση της δημιουργημένης λειτουργίας επεξεργασίας

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

Ο οδηγός μοντέλου βιβλιοθήκης μπορεί πλέον να χρησιμοποιηθεί για τη δημιουργία μιας νέας χρήσης του μοντέλου.

Το κεντρικό αντικείμενο σε αυτή τη λειτουργία επεξεργασίας αντιστοιχεί στον πόρο My.library. Κάτω από αυτό βρίσκεται μια βιβλιοθήκη, το αντικείμενο που επιλέχτηκε ως αντικείμενο μοντέλου στον οδηγό.


περιεχόμενα