2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.
-
Upload
barnard-hood -
Category
Documents
-
view
216 -
download
0
Transcript of 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.
![Page 1: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/1.jpg)
2008-11-18
Selected Topics in Software Engineering -
Distributed Software Development
![Page 2: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/2.jpg)
22008-11-18
GUI for development of REMES models
REMES GUI group
![Page 3: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/3.jpg)
Summary of contents
32008-11-18
• Short Introduction
• Requirements Definition– GUI– Project Management– Functionalities
• Design Description
![Page 4: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/4.jpg)
Short Introduction
42008-11-18
• 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.
![Page 5: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/5.jpg)
Requirements
52008-11-18
• Editor– Editor window
• Modeling (modes, connectors etc.)
• Project explorer window• View for saved modes
– Palette• Containing modeling elements, for building models
(drag-&-drop)
![Page 6: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/6.jpg)
Requirements
62008-11-18
• Project Management– Create new project– Open project– Add to existing project– Save project
![Page 7: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/7.jpg)
Requirements
72008-11-18
• 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
C
main
submode1
Entry Port
Exit Port
submode2
submode3
![Page 8: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/8.jpg)
Requirements
82008-11-18
• 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.)
![Page 9: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/9.jpg)
9
• First of all we have to create a new Project.We have to choose REMES project.
GUI Appearance
2008-11-18
![Page 10: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/10.jpg)
10
GUI Appearance
2008-11-18
![Page 11: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/11.jpg)
11
• The next step is introducing a name for our REMES project.
GUI Appearance
2008-11-18
![Page 12: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/12.jpg)
12
Well, we have already created our REMES project. Now we can see how is this
GUI Appearance
2008-11-18
![Page 13: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/13.jpg)
13
Better to break this down!
GUI Appearance
2008-11-18
![Page 14: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/14.jpg)
14
First of all we can see the palette
Here are our tools to create modes in our project and other elements.
GUI Appearance
2008-11-18
![Page 15: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/15.jpg)
15
But where must we drop the elements?
Here:
GUI Appearance
2008-11-18
![Page 16: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/16.jpg)
16
Now it is empty because we have to design our models and connectors.
If we work with this we can get something like this.......
GUI Appearance
2008-11-18
![Page 17: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/17.jpg)
17
.................
GUI Appearance
2008-11-18
![Page 18: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/18.jpg)
18
GUI Appearance
2008-11-18
![Page 19: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/19.jpg)
19
Wow, now the left bar has changed!
Why?
GUI Appearance
2008-11-18
![Page 20: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/20.jpg)
20
Because there is where all the elements in our project is showed
GUI Appearance
2008-11-18
![Page 21: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/21.jpg)
21
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.
GUI Appearance
2008-11-18
![Page 22: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/22.jpg)
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
2008-11-18 22
![Page 23: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/23.jpg)
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
232008-11-18
![Page 24: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/24.jpg)
242008-11-18
![Page 25: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/25.jpg)
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
2008-11-18 25
![Page 26: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/26.jpg)
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
26
Graphical Editor
Eclipse Platform
GMF Runtime
EMFGEF
2008-11-18
![Page 27: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/27.jpg)
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
272008-11-18
![Page 28: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/28.jpg)
Achieving the goals
• Typical GMF workflow– Generate the graphical editor– Enhance generated editor by editing plug-in
code
28
DomainModel
DiagramMapping
Model
DiagramDefinition
Model
Create
Generate
Create
Create
BasicGraphicalModeling
Editor
Customize
CustomizedGraphicalModeling
Editor
2008-11-18
![Page 29: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/29.jpg)
GEF Model View Controller Architecture
292008-11-18
![Page 30: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/30.jpg)
30
Eclipse GMF extension point
2008-11-18
![Page 31: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/31.jpg)
Package dsd.remes
312008-11-18
![Page 32: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/32.jpg)
Package dsd.remes.providers
322008-11-18
![Page 33: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/33.jpg)
Package dsd.remes.views.factories
332008-11-18
![Page 34: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development.](https://reader030.fdocuments.net/reader030/viewer/2022032805/56649ee85503460f94bf9f0a/html5/thumbnails/34.jpg)
342008-11-18
Testing process
• UML 2.0 Testing profile (U2TP)
Design testcases
Prepare testdata
Run programwith test data
Compare resultsto test cases
Testcases
Testdata
Testresults
Testreports