340 likes | 357 Views
Selected Topics in Software Engineering - Distributed Software Development. GUI for development of REMES models. REMES GUI group. 2008-11-18. 2. Summary of contents. Short Introduction Requirements Definition GUI Project Management Functionalities Design Description. 2008-11-18. 3.
E N D
Selected Topics in Software Engineering-Distributed Software Development
GUI for development of REMES models REMES GUI group 2008-11-18 2
Summary of contents • Short Introduction • Requirements Definition • GUI • Project Management • Functionalities • Design Description 2008-11-18 3
Short Introduction • The task in our project is to develop an editor that allows people to make resource models. The editor is going to have a graphical user interface (GUI) that makes it easy to construct the models. • REsource Model for Embedded Systems (REMES) • Resources (Memory, CPU, ports, bandwidth etc.) • Graphical Modeling Language • Behavior of a component is a mode (atomic or composite) • Control points (entry points, exit points, init) • Variables (boolean, natural, integer, array, clock) • Constraints • Conditional connectors • Actions (discrete, delay/timed) • Our customer has given us specific requirements that must be included in the final version. 2008-11-18 4
Requirements • Editor • Editor window • Modeling (modes, connectors etc.) • Project explorer window • View for saved modes • Palette • Containing modeling elements, for building models(drag-&-drop) 2008-11-18 5
Requirements • Project Management • Create new project • Open project • Add to existing project • Save project 2008-11-18 6
Requirements • Functionalities • Define/modify element properties • Name, numbers, values etc. • Add connections between modes • Add conditional connectors between modes • Change view • Hide un-necessaryinformation of modes main C submode3 submode1 submode2 Entry Port Exit Port 2008-11-18 7
Requirements • Other • All connections must satisfy REMES model • Open sub mode in new chart • File Structure and Storing • Type Definition File (DTD) • Describing structure of XML-files. • eXtension Markup Language (XML) • XML-files for storing model info.(connectors, values, resource, time etc.) 2008-11-18 8
GUI Appearance • First of all we have to create a new Project. • We have to choose REMES project. 9
GUI Appearance • The next step is introducing a name for our REMES project. 11
GUI Appearance Well, we have already created our REMES project. Now we can see how is this 12
GUI Appearance Better to break this down! 13
GUI Appearance First of all we can see the palette Here are our tools to create modes in our project and other elements. 14
GUI Appearance But where must we drop the elements? Here: 15
GUI Appearance Now it is empty because we have to design our models and connectors. If we work with this we can get something like this....... 16
GUI Appearance ................. 17
GUI Appearance Wow, now the left bar has changed! Why? 19
GUI Appearance Because there is where all the elements in our project is showed 20
GUI Appearance These are the main frames in our GUI, then each element has its own properties and they can be managed by clicking the right button. 21
Achieving the goals • EMF (Eclipse Modelling Framework) • Introduction • Java framework • Code generation facility for building tools and applications based on structured model • Rapidly turns models into efficient, correct and easily customizable Java code • Low cost of entry • EMF uses XMI (XML Metadata Interchange) as input 22
Achieving the goals • EMF (Eclipse Modelling Framework) • EMF generator creates • ecore – core framework creates a set of java implementation classes • emf.edit - extends core framework for building adapter classes that enable viewing and command based editing of a model, and even a basic working model editor 23
Achieving the goals • GEF (Graphical Editing Framework) • Enables developers to easily create rich and consistent graphical editors within Eclipse • Draw2D • Painting and layout plug-in • Provides figures and layout managers which form graphical layer of GEF application • Zest • Visualization toolkit • Graph layout package to provide layout locations for a set of entities and relationships 25
Achieving the goals • GMF (Graphical Modeling Toolkit) • Provides infrastructure for developing graphical editors based on EMF and GEF • Produces graphical editing surface for any domain model in EMF Graphical Editor GMF Runtime GEF EMF Eclipse Platform 26
Achieving the goals • Typical GMF workflow • Create domain model • Defines non graphical information managed by the editor • Create a diagram definition model • Defines graphical elements to be displayed in the editor • Create a diagram mapping model • Defines mapping between model elements and graphical elements 27
Achieving the goals • Typical GMF workflow • Generate the graphical editor • Enhance generated editor by editing plug-in code Domain Model Create Basic Graphical Modeling Editor Customized Graphical Modeling Editor Diagram Mapping Model Create Generate Customize Diagram Definition Model Create 28
Testing process • UML 2.0 Testing profile (U2TP)