Cycle de vie des objets

Que les objets représentent une information persistante, une information volatile voire temporaire, ils suivent le même cycle de vie. Voici les différentes étapes de celui-ci.

Création de l'objet

Un objet est créé lorsqu'une nouvelle information est ajoutée au système d'informations, à l'occasion d'un calcul, à l'occasion d'une action d'un utilisateur, etc. La création s'effectue en deux étapes : l'allocation puis la construction.

Pour créer un objet, il est nécessaire d'allouer une place pour le conserver. Cette place permet notamment de conserver la valeur des propriétés de l'objet et le lien vers l'objet représentant son type. La nature de cette place dépend de la durée de vie de l'objet (persistant, volatile ou temporaire) et de son autorisation d'accès (accessible à une seule tâche, un seul processus ou à plusieurs processus). Cette place est allouée dans un entrepôt de stockage gérée par Up ! Object Management System. L'allocation s'effectue au moyen de la méthode Allouer. Généralement, cette méthode est propre à Up ! Object Management System.

Une fois la place allouée, l'objet est initialisé. En particulier les valeurs de ces propriétés de l'objet sont initialisées par une méthode spéciale appelée Constructeur. Lorsqu'il s'agit d'un constructeur initialisant ses propriétés à des valeurs par défaut, alors il est appelé constructeur implicite. Sinon, il s'agit d'un constructeur explicite donnant une valeur particulière à l'objet.

Vie d'un objet

Un objet est créé à l'initiative d'un traitement. S'il s'agit d'une information volatile, celle-ci est utilisée par le traitement. S'il s'agit d'une information ajoutée au système d'informations, cet objet est utilisé par le Up ! Object Management System. Un objet peut être utilisé simultanément par plusieurs traitements de plusieurs tâches, voire par plusieurs traitements de plusieurs processus. Un objet peut être utilisé par d'autres objets.

Au cours de la vie, certaines propriétés de l'objet peuvent être consultées, voire modifiées, certaines méthodes de l'objet sont appelées. Un objet peut être copier dans le même entrepôt ou dans une autre. Cela s'effectue au moyen de la méthode Cloner.

Up ! Object Management System comptabilise combien il y a d'utilisateurs d'un objet. Quand le nombre d'utilisateurs d'un objet tombe à zéro, la vie d'un objet est terminée. Ainsi, la vie d'un objet persistant ne peut être terminée qu'à la suite d'une action volontaire puisque par principe Up ! Object Management System les utilisent tous.

Terminaison de la vie d'un objet

La terminaison de la vie d'un objet s'effectue en deux étapes : la destruction puis la désallocation.

L'objet peut utiliser des ressources du système d'exploitation ou d'autres objets en valeur de ses propriétés. De ce fait, la méthode Destructeur de l'objet fait appel à Up ! System pour libérer les éventuelles ressources et signale à Up ! Object Management System que les objets liés ont un utilisateur de moins.

Une fois l'objet détruit, la place qu'il occupait dans un entrepôt est libérée. Elle sera éventuellement réoccupée par un autre objet ultérieurement. La libération s'effectue au moyen de la méthode Liberer. Généralement, cette méthode est propre à Up ! Object Management System.