Last modified 16 years ago
Last modified on 10/04/08 15:17:44
Analysis
Overview
Decomposition to plug-ins of Sophie 2 is one of the most important things to do for the project. There should be base modules and integration of the existing code with Apache Felix library. Keep in mind that modules and plug-ins are the same thing in this case.
Task requirements
- think about initial plug-in decomposition
- decompose to base modules and in which each class goes
- integrate the Apache Felix library in the project so it can run through Apache Felix which activate the current plug-ins
Task result
New project structure. The project must run.
Implementation idea
- make base and core modules, other things can remain in messy module
- make new run configuration using Run configuration option in Eclipse.
Related
Use:
- componentDiagram.vpp
- work breakdown structure file to decompose the modules
How to demo
Show the project with the new plug-ins.
Design
- decompose the project in three modules (now we have only messy module which is not plug-in)
- base
- core
- messy
- see componentDiagram.vpp (Revision 17)
- see work breakdown structure file
- use the gathered information to allocate the classes to the modules
- make boot.properties file.
Implementation
- The project was decomposed in six modules:
- author - module dependencies: messy
- base - module dependencies: core
- core - module dependencies: none
- messy - module dependencies: core, base, base.dialogs
- base.dialogs - module dependencies: core, core.modularity
- core.modularity - dependencies: core
- We decide to use Felix(OSGi implementation) instead of JPF because the difficulties during integration of the source with JPF. That's why the implementation has differences with the design phase. See http://felix.apache.org/site/documentation.html for more info.
- The project has fake launch now which don't run the plug-in framework.
- Felix runs when executing the Maven built jar. Implementation for this is the Activator class.
The decomposed modules in repository.
Testing
Log
- Analyzing : Deyan, Pacitu - 45 min
- Analyzing Refactor : Pavlina - 45 mins
- Review: 3.5 by Tanya - 30 min
- Designing : Pavlina - 60 mins
- Review: 3 by Tanya - 10 min
- Implementing : Pavlina - 7d
- Review : Peko - 4 - 10 mins 3.5 because of the fast switching from JPF to Apache Felix
- Testing :