My Project
Public Member Functions | Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
KnowledgeField Class Reference

Public Member Functions

Long getID ()
 
void changeID (long newID)
 
 KnowledgeField ()
 
void addBEI (BusinessElementInstance bei)
 
 KnowledgeField (KnowledgeField k1, KnowledgeField k2)
 
boolean entailsUndefinedBEI ()
 
boolean entailsRegularBEI ()
 
boolean isUndefined (int i)
 
KnowledgeField instantiateWith (KnowledgeField filler)
 
double intersectionValue (KnowledgeField kf)
 
boolean intersects (KnowledgeField kf)
 
boolean isEquivalent (KnowledgeField kf)
 
boolean includes (KnowledgeField kf)
 
BusinessElementInstance[] getInstances ()
 
BusinessElementInstance getInstance (int i)
 
KnowledgeField cloneWithNewID ()
 

Public Attributes

BusinessElementInstance[] instances
 

Private Member Functions

void setID ()
 

Static Private Member Functions

static synchronized void incrementLastSerialID ()
 
static synchronized long getLastSerialID ()
 

Private Attributes

int numBEI = Model.numBusinessElements
 
int n
 
Long id
 the identification number of each single instance
 

Static Private Attributes

static long last_serial_id = 0
 

Detailed Description

A knowledge field is the aggregation of business elements instances (e.g. a product, a market, a technology, etc.).

Author
Sirio Capizzi
Guido Fioretti
Ruggero Rossi

Constructor & Destructor Documentation

KnowledgeField.KnowledgeField ( )
inline

Creates a new knowledge field with its identification number. At the beginning, with no business element instances. BEIs are added at a later step using the method 'addBEI' below.

KnowledgeField.KnowledgeField ( KnowledgeField  k1,
KnowledgeField  k2 
)
inline

Creates a new compound field from the aggregation of other two. Only common instances are merged. The others are left undefined. This happens when novel knowledge fields are created by the Dempster-Shafer rule.

Parameters
k1
k2

Member Function Documentation

void KnowledgeField.addBEI ( BusinessElementInstance  bei)
inline
Parameters
bei
void KnowledgeField.changeID ( long  newID)
inline

Common Knowledge may need to change a knowledge field's ID if it discovers that it has the same BEIs of an existing one.

Parameters
newID
KnowledgeField KnowledgeField.cloneWithNewID ( )
inline

Creates a new knowledge field, identical to this one except for its identification number. Called by Experiential Exploration. Used by Vicarious Exploration through instantiateWith.

Returns
boolean KnowledgeField.entailsRegularBEI ( )
inline

Returns true if at least one of the business elements instances of this knowledgefield is regular.

Returns
boolean KnowledgeField.entailsUndefinedBEI ( )
inline

Returns true if at least one of the business elements instances of this knowledgefield is undefined.

Returns
Long KnowledgeField.getID ( )
inline
Returns
BusinessElementInstance KnowledgeField.getInstance ( int  i)
inline

Returns one business element instance of this knowledge field.

Parameters
i
Returns
BusinessElementInstance [] KnowledgeField.getInstances ( )
inline

Returns all business elements instances of this knowledge field.

Returns
static synchronized long KnowledgeField.getLastSerialID ( )
inlinestaticprivate
Returns
boolean KnowledgeField.includes ( KnowledgeField  kf)
inline

Returns true if this field includes the calling one.

Parameters
kf
Returns
KnowledgeField KnowledgeField.instantiateWith ( KnowledgeField  filler)
inline

This method should only be called on a knowledge field entailing undefined elements. It creates a new knowledge field by composing a knowledge field where some business elements are undefined and a knowledge field where all business elements are defined. So if one knowledge field is [UNDEFINED,I2,UNDEFINED] and the other knowledge field is [I3,I4,I5], the ensuing knowledge field will be [I3,I2,I5]. This method is called on the knowledge field entailing undefined business elements instances; the knowledge field entailing only regular business elements instances is passed to it.

Parameters
filler
Returns
double KnowledgeField.intersectionValue ( KnowledgeField  kf)
inline

Returns the extent to which kf overlaps on this knowledge field. This is the ratio between the number of common BE instances between kf and this knowledge field, and the number of BE instances in this knowledge field.

Parameters
kf
Returns
boolean KnowledgeField.intersects ( KnowledgeField  kf)
inline

Returns true if this fields and the calling one intersect.

Parameters
kf
Returns
boolean KnowledgeField.isEquivalent ( KnowledgeField  kf)
inline

Returns true if this field is equivalent to the calling one. Knowledge fields that have undefined BEIs may be equivalent even if they have different IDs.

Parameters
kf
Returns
boolean KnowledgeField.isUndefined ( int  i)
inline

Returns true if a particular business element of this knowledgefield is undefined.

Parameters
i
Returns

Member Data Documentation

BusinessElementInstance [] KnowledgeField.instances

The instances of business elements. Initially, this vector is void.

long KnowledgeField.last_serial_id = 0
staticprivate

the value of this static variable is common to all instances

int KnowledgeField.n
private

A counter for BEIs while they are being added to 'instances'.

int KnowledgeField.numBEI = Model.numBusinessElements
private

Their number equals the number of business elements.


The documentation for this class was generated from the following file: