Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Software Engineering 2 Übung – Konstruktion interaktiver (CASE) Tools SS 2007 Leif Geiger, Carsten Reckord, Software Engineering.

Ähnliche Präsentationen


Präsentation zum Thema: "Software Engineering 2 Übung – Konstruktion interaktiver (CASE) Tools SS 2007 Leif Geiger, Carsten Reckord, Software Engineering."—  Präsentation transkript:

1 Software Engineering 2 Übung – Konstruktion interaktiver (CASE) Tools SS 2007 Leif Geiger, Carsten Reckord, Software Engineering

2 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 2 Meta Modell m Download Fujaba http://www.se.eecs.uni-kassel.de/se/fileadmin/se/courses/SE207/Fujaba%205.zip http://www.se.eecs.uni-kassel.de/se/fileadmin/se/courses/SE207/Fujaba%205.zip m Meta Modell des Petri-Netz Tools erstellen m Packagenamen vergeben! m Compositions verwenden, wo sinnvoll!

3 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 3 Codegenerierung m Eclipse 3.2 downloaden http://www.eclipse.org/ http://www.eclipse.org/ m EMF und GMF installieren über Help Software Updates Find and Install m Java Projekt anlegen m In Fujaba den Codestyle des Root Packages auf EMF stellen (mit dem Property Editor) m Das Output Directory des Fujaba Projekts auf ein Verzeichnis im Eclipse Projekt stellen m Code generieren

4 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 4 Codegenerierung Teil 2 m In generated/model das ecore File auswählen m Über New Other ein EMF Model anlegen m Im genmodel File das Model Directory anpassen m Auf dem genmodel File das Model generieren m features.jar, utils.jar und RuntimeTools.jar aus dem Fujaba/libs Verzeichnis als Bibliotheken hinzufügen m Fertig!

5 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 5 Editor generieren m Auf dem genmodel File den Edit Code und den Editor Code generieren m Eclipse Runtime Workspace starten m Ein Projekt anlegen m Im Projekt über New Other Example EMF Model Creation Wizard ein neues Modell anlegen m Beispiel Petrinetz anlegen

6 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 6 Actions in Eclipse m Plugin.xml um org.eclipse.ui erweitern m Erben von IActionDelegate, selection merken m Methode run(IAction) überschreiben m Extensionpoint z.B. org.eclipse.ui.popupMenus erweitern m Siehe Beispielprojekt

7 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 7 Persistenz m XMI Import / Export l org.eclipse.emf.ecore.xmi in plugin.xml hinzufügen l Mit Fujaba l An Beispiel Petrinetz ausprobieren l Versuchen XMI vom Editor zu laden m CoObRA l Mit Fujaba l EMF Erweiterungen in coobra2_emf_1.0.0.jar und emfbindings_1.0.0.jar l Laden / Speichern l Mit Server l Undo / Redo l Siehe http://www.se.eecs.uni-kassel.de/~fujabawiki/index.php/CoObRA2_developer_guide http://www.se.eecs.uni-kassel.de/~fujabawiki/index.php/CoObRA2_developer_guide

8 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 8 XMI Speichern // Create a resource set. ResourceSet resourceSet = new ResourceSetImpl(); // Get the URI of the model file. URI fileURI = URI.createFileURI(new File(petri.xmi").getAbsolutePath()); // Create a resource for this file. Resource resource = resourceSet.createResource(fileURI); // Add the book and writer objects to the contents. resource.getContents().add(net); // Save the contents of the resource to the file system. try { resource.save(Collections.EMPTY_MAP); } catch (IOException e) {}

9 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 9 XMI Laden // Create a resource set. ResourceSet resourceSet = new ResourceSetImpl(); // Get the URI of the model file. URI fileURI = URI.createFileURI(new File(petri.xmi").getAbsolutePath()); // Demand load the resource for this file. Resource resource = resourceSet.getResource(fileURI, true); // Print the contents of the resource to System.out. try { resource.save(System.out, Collections.EMPTY_MAP); } catch (IOException e) {}

10 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 10 CoObRA Speichern public void storeRepository( final Repository repository, File file ) { // create copy-repository Repository copyRepository = new Repository(); // set new PersistencyModule copyRepository.setPersistencyModule( new FilePersistencyModule( file ) ); copyRepository.getPersistencyModule().open( false ); // set the old repository's IdentifierModule copyRepository.setIdentifierModule( repository.getIdentifierModule() ); // copy changes TransactionEntry entry = repository.getPersistencyModule().receiveFirst(); while( entry != null ) { boolean autoResolving = entry.isAutoResolving(); entry.setAutoResolving( false ); copyRepository.acknowledgeUpdate( entry ); entry.setAutoResolving( autoResolving ); entry = repository.getPersistencyModule().receiveNext( entry ); } // close repository copyRepository.getPersistencyModule().close(); }

11 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 11 eDOBS m eDOBS Plugin installieren über update site http://www.se.eecs.uni-kassel.de/se/fileadmin/se/projects/eDOBS/update/ http://www.se.eecs.uni-kassel.de/se/fileadmin/se/projects/eDOBS/update/ m im Test-Eclipse l im XMI Editor ein Element auswählen l Browse in eDOBS in der Toolbar wählen l Expand Object auf dem Objekt ausführen m eDOBS Aktion bauen l eDOBS_core plugin einbinden l Dobs.get().browseObject(net);

12 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 12 GMF m GEF machen wir erstmal nicht, vielleicht später l Wers genauer wissen will: http://eclipsewiki.editme.com/GefDescription http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246302.html?OpenDocument http://www.eclipse.org/gef/reference/articles.html http://eclipsewiki.editme.com/GefDescription http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246302.html?OpenDocument http://www.eclipse.org/gef/reference/articles.html m GMF: Per Wizard oder von Hand Wir machen das mal von Hand m Erstmal Places, Transitions und Arcs: 1. Graphical Definition Model: Figures und Nodes 2. Tooling Definition 3. Mapping Model 4. Generation Model aus Mapping Model 5. Code generieren, fertig…

13 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 13 Figures m File->New->GMFGraph m Im model-Verzeichnis neben ecore-File

14 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 14 Tools m File->New->GMFTool m Im model-Verzeichnis neben ecore-File …

15 SS 2007 Software Engineering 2 Leif Geiger, Carsten Reckord, University of Kassel 15 Mapping m File->New->GMFMap … m Canvas->PetriNet m Top Node References für alles, was direkt auf dem Canvas liegt l Containment feature ist die Modellkante zum Element l Child: Node Mapping für Klasse Node… m Am Ende Rechtsklick auf Mapping Model -> Create Generator Model l Typ: Gen Diagram l.gmfgen Datei: Rechtsklick -> Generate Diagram code


Herunterladen ppt "Software Engineering 2 Übung – Konstruktion interaktiver (CASE) Tools SS 2007 Leif Geiger, Carsten Reckord, Software Engineering."

Ähnliche Präsentationen


Google-Anzeigen