DOC PREVIEW
Toronto ECE 450 - Tutorial 2 - OpenOME Distilled

This preview shows page 1-2-3-4 out of 11 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Spring 2005 ECE450H1S Software Engineering IITutorial 2OpenOME distilledOn the Requirements, Design and Implementation of the legacy toolhttp://www.cs.toronto.edu/~yijun/OpenOME.htmlhttp://sourceforge.net/projects/openomeSpring 2005 ECE450H1S Software Engineering IISpring 2005 ECE450H1S Software Engineering II1. Historical retrospective2. Requirements and features3. Design and patterns4. Implementation and issues5. Relation to the course projectContentsSpring 2005 ECE450H1S Software Engineering II• OME stands for Organizational Modeling Environment. It was part of the Tropos project to support goal-oriented and agent-oriented requirements engineering methodologies (at least 5 years development involving 10 man-year efforts)• OME has been widely used by more than 130 users (across the globe)• Every OME user must sign an agreement with Techne because the Knowledge Base was a module protected by the license• To enlarge the user-base, we decide to open-source it last year … OpenOME1. Historical retrospectiveSpring 2005 ECE450H1S Software Engineering II2. Requirements and features• Is a Graph editor– A graph has elements and links in various form, basic operationsinclude: Load, Save, Insert, Delete, Select, Cut, Paste, Hide, Highlight, Labelling, etc.– Multiple views (under development)• Supports requirements engineering– Goal-oriented: goal reasoning through label propagation (NFR)– Agent-oriented: group goals into agents rationale (i*)• Interchanges with other graph editors– Semantic Web queries: Protégé (OWL) – Layout algorithms: AT&T Graphviz (DOT)– Scalability: Microsoft Visio (XSLT) ……..under development– Model-driven development: Rational Rose (EMF/XMI) ………………………………………………under planningSpring 2005 ECE450H1S Software Engineering II3. Design: MVC• Model-View-Controller design pattern1. Model: The Telos Knowledge Base representaiton and OME models2. View: Graph presentation3. Controller: commands in menu, toolbar and various methodsSpring 2005 ECE450H1S Software Engineering II3.1 Model• ModelManager• Telos*: requirements as knowledge• Telos as metamodelling language– Level: Token, SimpleClass, MetaClass, MetaMetaClass, Builtin classes …– *.tel: L X IN {Y}* ISA {Z}* WITH {attribute,U:V}*– ER, NFR(vgraph), ISTAR, GRL– From jtelos.dll to TelosParser– Export Telos model to other models: JTelosUtil.javaOTelos (ConceptBase), Protégé (KnowledgeBase) TODO: Eclipse Modeling Framework (XMI)Spring 2005 ECE450H1S Software Engineering II3.2 View• GraphicView is a collection of GVElement, GVLinks, maps the tokens in Telos model into geometric shapes in the presentationGVE$Record, GVL$Record …encodes the location of the shapes, states of the presentation, etc. They are saved as SerializedViewObjects• GVElement, GVLinkVisitor pattern and Decorator pattern• They are extended by the OME pluginsSpring 2005 ECE450H1S Software Engineering II3.3 Controller• OMETab: run it as standalone Java application, or as a plugin for Protégé or Eclipse (under development) • GraphViewFrame and OMEDefaultPlugin: control the menu, toolbar and methodsA method is interpretated as commands– No argument command: Layout– With one argument: Insert, …– With two arguments: CreateLink, Move …– With multiple arguments: Select, …• They are extensible using the OME pluginsSpring 2005 ECE450H1S Software Engineering II4. Implementation issues• OME: 90% Java + 10% C/C++• Recently– OpenOME: 99% Java + 1% scripts– Use the Eclipse IDE– CVS, bug report: host at SourceForge– 3 research developers + some contribution from you JSpring 2005 ECE450H1S Software Engineering II5. Relation to your project• It is the graph editor client of the choice for your OmniGraphEditor project. You may choose additional open-source graph editor as bonus point (such as Dia, Visio, Eclipse GEF etc.), but that is not recommended because of the large efforts• Opportunities: – You may add junit test cases to the code base to reveal bugs (publish it to the bug tracking system) and fix them (+5%)– You may apply design patterns, refactoring techniques on this legacy code base, showing as an improved complexity metrics (+2.5%)– You may tune the performance of the system to speed up the display, load/save for scalable graphs (+2.5%)• Don’t forget your major project task (up to 100%!)– To study the editor methods in the OpenOME and adapt them to the OmniGraphEditor web


View Full Document
Download Tutorial 2 - OpenOME Distilled
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Tutorial 2 - OpenOME Distilled and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Tutorial 2 - OpenOME Distilled 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?