Toronto ECE 450 - Tutorial 2 - OpenOME Distilled

Unformatted text preview:

Spring 2005 ECE450H1S Software Engineering IITutorial 2OpenOME distilledOn the Requirements, Design andImplementation 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 ModelingEnvironment. It was part of the Tropos project tosupport goal-oriented and agent-orientedrequirements engineering methodologies (atleast 5 years development involving 10 man-year efforts)• OME has been widely used by more than 130users (across the globe)• Every OME user must sign an agreement withTechne because the Knowledge Base was amodule 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 Baserepresentaiton and OME models2. View: Graph presentation3. Controller: commands in menu, toolbarand 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 modelinto geometric shapes in the presentationGVE$Record, GVL$Record …encodes thelocation of the shapes, states of thepresentation, etc. They are saved asSerializedViewObjects• 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 (underdevelopment)• 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 contributionfrom you JSpring 2005 ECE450H1S Software Engineering II5. Relation to your project• It is the graph editor client of the choice for yourOmniGraphEditor project. You may choose additionalopen-source graph editor as bonus point (such as Dia,Visio, Eclipse GEF etc.), but that is not recommendedbecause 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 thislegacy code base, showing as an improved complexity metrics(+2.5%)– You may tune the performance of the system to speed up thedisplay, 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 tothe 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?