Provide an actor-version-control service
Closed this issue · 3 comments
GoogleCodeExporter commented
Actor implementations may evolve, just like any other software component.
This may cause incompatibilities for existing models using such evolving actors.
Problems may be related to assumed behaviour, available ports and/or parameters
etc.
A simple approach to manage this problem, could be based on some form of
version-control.
- Actors could have a traditional version identifier, e.g. matching OSGi bundle
version conventions.
- Model definitions should store the assumed/required supported actor version
(ranges?).
- Upon loading a model in a Passerelle model editor, a check could be performed
on current versions of the actor implementations
against assumed/required versions within the model file(s).
-- I.c.o. major version increase, warnings could be generated. The modeler can
then choose to confirm that all's well,
or can replace the impacted actor by its new version. (e.g. to correct
available ports/parameters).
- Upon loading a model in a Passerelle runtime, to execute it, some version
validation could also be considered.
A simple check on major version nr is the most straightforward version control
strategy.
But this may impact versioning conventions in some projects.
E.g. where actor bundles are considered part of a complete packaged solution
and bundle versions follow the overall application versioning.
In such cases it often happens that the application increases its major version
and actors go along, even without compatibility-breaking changes...
Original issue reported on code.google.com by erwin...@gmail.com
on 30 Apr 2012 at 2:20
GoogleCodeExporter commented
Original comment by erwin...@gmail.com
on 30 Apr 2012 at 2:23
- Changed state: Started
- Added labels: Type-Enhancement
GoogleCodeExporter commented
The underlying version validation service (possibly based on multiple
strategies) is implemented in the engine.
But the actual version-checking action will only be added in the Swing-based
HMI, currently.
After refactoring the MomlParser, based on ActorProvider implementations
registered as OSGi services, the triggering of actor-version-validation will be
extended to the OSGi-based Passerelle runtimes.
Original comment by erwin...@gmail.com
on 1 May 2012 at 4:08
GoogleCodeExporter commented
Original comment by erwin...@gmail.com
on 4 May 2012 at 10:44
- Changed state: Done