Dynamic view of fragments with selective loading options.
Publication Date: 2010-Jun-30
The IP.com Prior Art Database
Disclosed is a idea to view and work with the fragments(at any level)within the UML model without loading them and any of their parent or inter-dependent fragments in the memory.This idea will facilitate to work lively with the fragments without worrying about the memory constraints.This would be very useful when the UML model has large number of fragments and multiple people work with them simultaneouly at various levels for the software architecture and design. In UML modeling domain, UML model can be further divided into smaller entities which may be referred by various names like subunits, fragments etc based on the individual UML modeling tool terminology.This discloure will refer them as fragment for the discussion.
Dynamic view of fragments with selective loading options
Dynamic view of fragments with selective loading optionsDynamic view of fragments with selective loading options .
The main objective of fragments is to facilitate the parallel and independent development of various parts of the model within a project team. This will help to break up a large complex model into smaller units upon which individual developers can work independently . Each of the individual fragments can exists separately under version control(SCM) and thus allows a project team to develop a model in parallel.However when modeling complex software architecture these fragments are linked to each other and have inter-dependencies.
The UML modeling tools should provide a functionality for the fragments within the models such that :-
1) There is a view to depict the dependencies between fragments using graph.
2) It should allow to view the list of all fragments (with the complete hierarchy/nesting) within a model.
The above view should not result in loading of any of the fragments.This view should be such that it allows to select the desired fragment and perform various operation like load , unload, open close etc.The view should allow loading of fragments independently as desired by the user even if it results in broken references.
This view will be very useful in the following use cases :-
1) View a fragment and perform any operations on it without loading any its parent/dependent fragments.
For example if there is a ModelA such that ModelA
In order just to load FragmentZ, the tool has to load complete model till FragmentZ i.e fragment X and Y as well.Also if memory limit is reached before reaching the target FragmentZ then it will be a problem .The only way out would be unload some unused fragments from ModelA but still there is no guarantee that memory freed by unload will be sufficient to load the target fragmentZ.For complex models with thousand of fragments, digging to the desired fragment becomes very cumbersome specially when the fragment are nested deep inside multiple nested packages or fragments.
With the newly proposed view all fragments will be visible and can be navigated as desired without any load performed.
2) Bird's Eye view
The architect/designer will have a complete bird's eye view of the organization of fragments in the models.This view can be used to understand the structure of the model and further optimize the model .
3) User can control and plan the loading of fragments of the models as desired
In present tools the loading of the dependent fragments are done automatically and there is no control of user over that.So in a scenario where a fragment "X" has to be loaded and it has dependency on 10 another fragments, load of fragment "X" will trigger load of all 10 other dependent fragments automatically.If the available memory in insufficient to load all the 10 fragments at the same time then l...