2008-11-18 selected topics in software engineering - distributed software development

34
2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

Upload: barnard-hood

Post on 02-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

2008-11-18

Selected Topics in Software Engineering -

Distributed Software Development

Page 2: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

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

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

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

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

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

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

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

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

10

GUI Appearance

2008-11-18

Page 11: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

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

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

13

Better to break this down!

GUI Appearance

2008-11-18

Page 14: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

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

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

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

17

.................

GUI Appearance

2008-11-18

Page 18: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

18

GUI Appearance

2008-11-18

Page 19: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

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

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

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

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

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

242008-11-18

Page 25: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

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

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

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

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

GEF Model View Controller Architecture

292008-11-18

Page 30: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

30

Eclipse GMF extension point

2008-11-18

Page 31: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

Package dsd.remes

312008-11-18

Page 32: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

Package dsd.remes.providers

322008-11-18

Page 33: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

Package dsd.remes.views.factories

332008-11-18

Page 34: 2008-11-18 Selected Topics in Software Engineering - Distributed Software Development

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