software merge project last time the background was poor so we decided to make it much better

25
Software Merge Project • Last time the background was poor so we decided to make it much better

Upload: henry-sharp

Post on 05-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Merge Project Last time the background was poor so we decided to make it much better

Software Merge Project

• Last time the background was poor so we decided to make it much better

Page 2: Software Merge Project Last time the background was poor so we decided to make it much better
Page 3: Software Merge Project Last time the background was poor so we decided to make it much better

Welcome• Usage example• What we did – task assignments• What are we doing• Communication• Documentation• Model• Technologies• Problems

Page 4: Software Merge Project Last time the background was poor so we decided to make it much better

What we did– Research– Java– Eclipse– CVS– EMF– GEF– Eclipse Plug-ins

Page 5: Software Merge Project Last time the background was poor so we decided to make it much better

What are we doingMathias Alexandersson Documentation & supervision (if we forgot some use

cases, etc.), communication with Richard. Approval lobbing.

Sebastien Bourgeois GUI modeling & drag and drop research, do we need it?

Lei Liu GUI modeling & Java custom drawn components research, communication.

Marko Burazin Plug-in model, GUI model, component (GUI – Plug-in) interconnection research.

Mladen Cikara Plug-in model, views and perspectives, how to integrate custom drawn components, communication.

Miroslav Lakotic Engine model, history model, system integration, presentation, interfaces.

Marko Pecic Input structure modeling, EMF , history suggestions, interconnection, dynamic system structure build.

Page 6: Software Merge Project Last time the background was poor so we decided to make it much better

Communication– Skype– Documentation– Pictures & diagrams– Fun & personal

Page 7: Software Merge Project Last time the background was poor so we decided to make it much better

Documentation• Every desided document is on the project page

including research reports• Reserach reports

– EMF– XSD– Eclipse Plugin development– GEF

• Week reports• Skype chat transripts (translated)

Page 8: Software Merge Project Last time the background was poor so we decided to make it much better

Usage example and requirements• The purpose of Software Merge

• The first usage example draft

Page 9: Software Merge Project Last time the background was poor so we decided to make it much better

GUI

1

Page 10: Software Merge Project Last time the background was poor so we decided to make it much better

GUI

2

Page 11: Software Merge Project Last time the background was poor so we decided to make it much better

GUI

3

Page 12: Software Merge Project Last time the background was poor so we decided to make it much better

GUI

4

Page 13: Software Merge Project Last time the background was poor so we decided to make it much better

The basic component modelMerge model

System representation

Engine & component interconection

GUI

History management

Eclipse Plugin

Marko Pecic

Miroslav Lakotic

Mladen Cikara & Marko Burazin

Lei Liu & Sebastien Bourgeois

Miroslav Lakotic & Marko Pecic

Documentation & supervision

Mathias Alexandersson

Page 14: Software Merge Project Last time the background was poor so we decided to make it much better

Plug-in development• Perspectives

• Views

• Model

• Changes to be made

Page 15: Software Merge Project Last time the background was poor so we decided to make it much better

•Plugin development– MVC (model-view-controller) architecture

– The models are outside

GEFInputSystemView

GEFInputSystemController

GEFOutputSystemView

GEFOutputSystemController

InputSystemViewPlugin OutputsystemViewPlugin

11

11

GEFHistoryView

HistoryViewPlugin

11

GEFHistoryController

Page 16: Software Merge Project Last time the background was poor so we decided to make it much better

Input structures• EMF

• System representation

0..*

0..*

child components0..*

parent components

components

Application

name: String

Component

name: String

Component

name: String

Component

name: String

1

1

Page 17: Software Merge Project Last time the background was poor so we decided to make it much better

• Save

• Load XMI / XML documents

Serialization

EMF Application

Resources

Class A

Class B

Class C

ECore model

Deserialization

EMF Application

ResourcesXMI document

EList

Class A

Class B

Class C

Page 18: Software Merge Project Last time the background was poor so we decided to make it much better

GEF: MVC Framework

Page 19: Software Merge Project Last time the background was poor so we decided to make it much better

GEF: Build the view

Page 20: Software Merge Project Last time the background was poor so we decided to make it much better

GEF: Perform a modification 1ToolUI

RootPanelEditPart

model objectchangeModel()

1.getTargetEditPart(Request)

EditPart2.getCommand(Request)3.getCommand(Request)

Command4.executeCommand()

Page 21: Software Merge Project Last time the background was poor so we decided to make it much better

GEF: Perform a modification 2

Page 22: Software Merge Project Last time the background was poor so we decided to make it much better

Engine & history• Engine

– Link between components– Part of MVC architecture

• History– EMF generated– Decision making mechanism– Version comparisons– Branching– Team is still devided

Page 23: Software Merge Project Last time the background was poor so we decided to make it much better

The Goal

Page 24: Software Merge Project Last time the background was poor so we decided to make it much better

Problems faced

• Communications between two sides• Cooperation between two sides• Understand the requirement from the customers• Thinking the same way• Divison between some project components• Learning Eclipse plug-in frameworks

Page 25: Software Merge Project Last time the background was poor so we decided to make it much better

Thank you

Questions?