Entity Lifecycle
Translate
Every entity, whether it be a creature, a machine or matter shares a common set of lifecycle
states and transitions. In addition, certain entity types may have their own extra states and
transitions.
- Entity construction
An entity is created by taking the data presented in a blueprint and using it to create
an instance of the entity as described by the
entity model.
The entity is
registered
and then placed in a status determined by the nature of the creation
request.
- Entity sleeping
An entity is said to be asleep when it is not part of an
active relationship.
The distinction between asleep and awake is entirely dependent upon the implementation
of the cybersea. A sea administrator can chose to have all objects awake at all
time. The purpose of the distinction is to allow for performance enhancement at a
low level, hidden from the inhabitants of the cybersea. Entities not in an active
relationship may be swapped out or deleted from quickstart structures. Entities in
an active relationship may be brought into memory, cached or subject to other
processes.
- Entity waking
An entity is said to be awake if it is part of an
active relationship.
See entity sleeping, for details.
- Entity working
An entity is said to be working if it is part of an
active relationship
with at
least one task in the task queue. Again, this is a low level implementation detail.
- Entity freezing
An entity is said to be frozen when it has been put into such a state that it
cannot be woken. Entities are normally frozen when they are to be transported
between cyberseas, or when they are to be passed between a cybersea and another
type of computer system, or vice versa, or when they are to be placed in storage.
Consequently, entities can only enter or leave a cybersea in a frozen state. This
state allows for immigration to inspect them in a static mode before they are
allowed to participate in a cybersea. Frozen entites are placed into a special
container entity called a freezer, along with any supporting entities. A freezer
allows for manifesting, encrypting, storage and delivery. At a simple level,
freezing involves flattening the data block of an entity and prefixing it with
identification information.
- Entity thawing
A frozen entity is thawed to a sleeping state. This involves taking a
flattened bit stream and reconstituting and reattaching it to the data
structures and blueprint that define it.
- Entity destruction
An entity is destroyed when the entity manager removes its entry for
that entity. That is the single action required to delete an entity.
In addition, the sea can be set to overwrite the data block for the
entity, remove all references to the entity in all relationships and/or
archive the action. This all depends on the nature of the delete desired,
i.e. logical, physical, recoverable etc.
|