software merge project last time the background was poor so we decided to make it much better
TRANSCRIPT
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
What we did– Research– Java– Eclipse– CVS– EMF– GEF– Eclipse Plug-ins
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.
Communication– Skype– Documentation– Pictures & diagrams– Fun & personal
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)
Usage example and requirements• The purpose of Software Merge
• The first usage example draft
GUI
1
GUI
2
GUI
3
GUI
4
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
Plug-in development• Perspectives
• Views
• Model
• Changes to be made
•Plugin development– MVC (model-view-controller) architecture
– The models are outside
GEFInputSystemView
GEFInputSystemController
GEFOutputSystemView
GEFOutputSystemController
InputSystemViewPlugin OutputsystemViewPlugin
11
11
GEFHistoryView
HistoryViewPlugin
11
GEFHistoryController
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
• 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
GEF: MVC Framework
GEF: Build the view
GEF: Perform a modification 1ToolUI
RootPanelEditPart
model objectchangeModel()
1.getTargetEditPart(Request)
EditPart2.getCommand(Request)3.getCommand(Request)
Command4.executeCommand()
GEF: Perform a modification 2
Engine & history• Engine
– Link between components– Part of MVC architecture
• History– EMF generated– Decision making mechanism– Version comparisons– Branching– Team is still devided
The Goal
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
Thank you
Questions?