250 likes | 337 Views
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
E N D
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
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
Plug-in development • Perspectives • Views • Model • Changes to be made
Plugin development • MVC (model-view-controller) architecture • The models are outside
Application parent components name: String 0..* 0..* 1 components 1 Component Component Component name: String name: String name: String 0..* child components Input structures • EMF • System representation
Serialization Class A EMF Application EMF Application XMI / XML documents Class B Resources Resources Class C Deserialization EList Class A XMI document Class B Class C ECore model • Save • Load
GEF: Perform a modification 1 ToolUI RootPanelEditPart 1.getTargetEditPart(Request) EditPart 2.getCommand(Request) 3.getCommand(Request) Command 4.executeCommand() changeModel() model object
Engine & history • Engine • Link between components • Part of MVC architecture • History • EMF generated • Decision making mechanism • Version comparisons • Branching • Team is still devided
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?