Hi,
Hismo aims to offer you the possibility to navigate both in space and in
time. To this end, you need to always know where you are.
referenceVersion is similar to mooseModel in FAMIX entities. From any FAMIX
entity you can quickly navigate to the model object. In the same way, from
any version entity you can navigate to the top-most version (usually a
version corresponding to a MooseModel instance).
Let's take an example. Imagine you have a history of 5 models (instances of
MooseModel) holding FAMIX objects.
And now, imagine that the version of a class A in your hand, and you would
want to know that it exists in the version 2. So, you would get the object
corresponding to system version 2 and then use existsInReferenceVersion: to
check your version object (see below):
existsInReferenceVersion: aReferenceVersion
"answers if the history has a version in aReferenceVersion"
^(self versions
select: [:each | each referenceVersion = aReferenceVersion]) isEmpty not
referenceVersion is supposed to be immutable (so you should not change it
dynamically).
Does it answer the question?
Cheers,
Doru
On Tue, Jun 11, 2013 at 11:10 AM, badja <alan.mcnamara(a)badja.com> wrote:
In the description of Girba, 2005, "Modeling
History to understand Software
Evolution", there is a small statement on "referenceVersion" in the Hismo
metamodel:
"Each Version has a reference to the so called referenceVersion which
provides a fixed point in the historical space."
This is implemented in Moose Hismo, but there is little description of its
relevence to modelling. What is meant by "fixed point in the historical
space"? In fact, there is an interface to set it to easily set it to nil!!
(HismoEntityVersion class >> with:inHistory:)
Can Tudor or someone else able to describe why referenceVersion would be
important in time based analysis?
Could this be, for example, the "baseline" to which other copies are
compared? Can we have a different referenceVersions in different
HismoHistoryGroups? Can we change the referenceVersion on the fly during
analysis? I can see hints in the names of methods (e.g.
isBornPriorToOrInReferenceVersion), but I can't quite catch the semantics.
Can you give some guidelines on which version should be selected as the
referenceVersion, and why?
As I've described earlier, I'm trying to analyse different versions of
system development schedules. I'm trying to use the Hismo framework to its
best advantage, so I'm trying to understand the semantics as well as the
code.
Alan.
--
View this message in context:
http://forum.world.st/What-is-the-relevence-of-referenceVersion-in-Hismo-tp…
Sent from the Moose mailing list archive at
Nabble.com.
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Every thing has its own flow"