
 
names.  The time span that begins when a 
constructor is created and terminates when the 
constructor is destroyed is referred to as a lifetime 
hereafter.  That is, a lifetime represents the number 
of events it contains. 
(3) Inheritance Level Axis ν 
This coordinate axis corresponds to the 
inheritance hierarchy of classes.  The constructors 
with the same lifetime, discovered through analysis, 
are placed on the same inheritance level.  The top 
level of the inheritance hierarchy has an inheritance 
level of 0, and a lower level has a higher value 
which is increased by 1 whenever the inheritance 
level descend by one step.   
2.4  Constructor as Distribution 
Function
 
This paper assumes that the constructors extracted as 
ambiguous objects through analysis can be defined 
by a probabilistic distribution function in the three 
dimensional  χ-τ-ρ space.  Based on the above 
discussion, the following is assumed;  
(1) An identification name is unique.  That is, 
objects with the same meanings are treated by an 
identical identification name.  
(2) A constructor has one of two states at any time 
during its lifetime, one of which indicates that it 
exists and the other indicates that it does not exist.  
It has no undetermined state. 
Based on these assumptions, a constructor has an 
identification name χ, and is defined by a 
distribution function ϕ(χ,  τ;  τ
1
,  τ
2
), which has a 
lifetime of which event interval is [τ
1
, τ
2
].  Here, τ
1
 
and  τ
2
 represents the points of time at which the 
event is created and destroyed respectively, and the 
axis ρ represents the probability of existence (0 or 1) 
of the constructor.   
The basic concept of my research, in which not 
only identification names of constructors but also 
their lifetimes are retrieved from the given 
requirements specifications, is realized in the 
formula that expresses a constructor as a distribution 
function of axis τ.  The lifetime incorporated in the 
distribution function plays an important role in 
defining operations that comprise the class structure. 
2.5 Meta-characteristics of 
Distribution Function 
The distribution expression represents the existence 
state of a constructor, but it does not represents an 
instance of a constructor.  That is, it does not 
represent an instance of an attribute or the existence 
state of the execution process of an implemented 
method.  An instance generated from a constructor 
is placed on a different χ-τ-ρ  space and has a 
different lifetime from those of the original 
constructor, although it shares the axes χ and τ with 
the distribution function of the constructor.  Based 
on the distribution of those instances of a 
constructor, the following meta-characteristics are 
defined for each constructor. 
(a) Multiplicity µ 
The multiplicity µ indicates the number of 
simultaneous instances existing at the same time, 
when instances (ie. implemented values) of a 
constructor is generated at an event time.  That is, if 
the constructor is an attribute, the multiplicity 
indicates the "number of attribute values."  If the 
constructor is a method, the multiplicity indicates 
the "number of methods implemented (or required) 
with the same interface name."  For example, if 
multiple instances are implemented with the same 
interface name at an event time, the multiplicity is 
more than one.  
(b) Independent Key κ 
If the lifetime of the constructor B is determined 
depending on that of the constructor A, the 
constructor B is considered to be dependent on the 
constructor A.  Set of constructors that do not 
depend on any other constructors have a meta-
attribute value of "independent key."  When a 
constructor is an attribute, the independent key 
meta-characteristic is nothing more than 
paraphrasing the concept of the primary key of data 
model.  When a constructor is a method, a method 
that is modified and defined corresponding to 
changes is dependent on the existence of the caller-
side method.  When such a relationship takes place 
between methods, the caller-side method has a meta-
attribute value of "independent key." 
2.6  Constraints of Constructor 
A constructor has the following two constraints that 
stem from the nature of the object-oriented approach. 
(1) Exclusive Constraint π 
This constraint defines the number of constructors 
that can be placed on the location with the same 
identification coordinate value when a set of 
constructors is grouped to form a class.  The actual 
exclusive constraints vary depending on whether the 
constructors are attributes or methods.  In practice, if 
the constructor is an attribute, other constructors 
with the same identification name cannot have any 
values other than 0 or 1 in the software field.  This is 
a direct result of the fact that no more than one 
attribute with the same identification name cannot 
reside in the inheritance hierarchy based on the 
constraint of the Private attribute.  On the other 
FORMALIZATION OF CLASS STRUCTURE EXTRACTION THROUGH LIFETIME ANALYSIS
637