Project Notes
Project: CoCompose
Copyright: Copyright (c) 2002
Author: Dennis Wagelaar
Organisation: University of Twente
Description:
CoCompose Design Language Tool
Things to do...
0 = to do
- = in progress
v = done
- v Unsolved bugs
- v Visitor pattern doesn't correctly apply (visitFirstElement for second element)
- - Main user interface
- 0 Remember last location in File Save dialog
- 0 Selection more intuitive: click = do action and revert to select mode, shift-click = do action and stay in that mode
- 0 Drag and drop between repository and model
- v Graph drawing components
- v Loading/saving functionality
- v Feature repository
- v Unique identifier support
- v Concept pluggable constraints
- v Concept implementations
- v EPS exporting
- v Full Swing user interface
- v Solution patterns
- v Design level solution pattern drawing
- v Solution pattern assignment to features
- v Implementation patterns
- v Implementation pattern class
- v Implementation pattern assignment to features
- v Implementation pattern DTD
- v Implementation pattern plugin interface
- v Sample implementation pattern plugin classes
- v Multiple namespaces per Model to store where concepts/features were introduced
- v Translation process
- v Model flattening
- v Solution pattern default part application
- v Solution pattern role part application
- v Flatten one level/full flatten option
- v Determining concept forms
- v Code generation
- v General implementation visitor
- v Target language specific implementation visitor for ConcernJ
- v Target language specific implementation visitor for Java
- v Implement flattening as ModelVisitor
- v Libraries declaration per Concept Implementation
- v All model operations in separate thread
- v Make ModelCanvas thread-safe
- v Make package EDU.utwente.CoCompose.lang thread-safe
- v Apply the GPL license
- v Several concept forms for one concept in Implementation constraints (OR)
- v Rename Feature to Composite
- v Rename the Literal concept form to Primitive
- v Combine all translation process visitors in one visitor (single step translation)
- v Update comments and include formal specification for example Composite types
- v Introduce a model-global name attribute for published concepts.
- v Adapt the flattening process to use the correct order of flattening
composites in the presence of published concepts.
- 0 Search and Save model as EPS in help.
Long term to do...
- v Add undo functionality
- 0 Heuristic definition per Concept
- 0 Redistribute CoCompose classes over packages to minimise package dependencies
- 0 Rewrite VGJ tool to eliminate deprecated source code
- 0 Add mapping to AspectJ and HyperJ
- 0 Add AspectJ and HyperJ ImplementationVisitors and ImplementationPatterns
- 0 Create example implementation patterns for AspectJ and HyperJ
- 0 Modify example models for AspectJ and HyperJ
- 0 Include option to synchronise composites with the composite repository
- 0 Add cut/copy/paste options for model elements