1 / 15

Software Engineering 2 Übung – Konstruktion interaktiver (CASE) Tools

SS 2007 Leif Geiger, Carsten Reckord, Software Engineering. Software Engineering 2 Übung – Konstruktion interaktiver (CASE) Tools. Meta Modell. Download Fujaba http://www.se.eecs.uni-kassel.de/se/fileadmin/se/courses/SE207/Fujaba%205.zip Meta Modell des Petri-Netz Tools erstellen

Download Presentation

Software Engineering 2 Übung – Konstruktion interaktiver (CASE) Tools

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

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

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

More Related