|
||||||||||
|
DOI: 10.17587/it.25.451-466 À. N. Rodionov, D. Sc., Computer Centre of Far-Eastern Branch of RAS, e-mail: ran@newmail.ru The role concept is regularly used in the development of conceptual data models. With its help, in particular, it becomes possible to dynamically allocate subsets of entities that are allowed to participate in certain interactions. The embodiment of role behavior at the logical level of modeling can be achieved either by multiple cloning of entity's types-one clone per role, or by means of creating specialized role objects and attaching them to certain types of entities. At the same time, both approaches give rise to concomitant problems, which, as in the first case, lead to the uncontrolled growth of clone objects in logical models, or, as in the second, require dynamic assignment to each role of a constant, which will later place explicitly in queries that manipulate database records. The latter will inevitably lead to a violation of the programs and data independence principle. Proposed and implemented in this paper the concept of abstract roles eliminates these shortcomings of role types and leverage on the information contained in logical models. A unified role modeling pattern with a single abstract role type containing a finite list of abstract roles is developed. The list is constant for the selected logical model configuration. The pattern includes real role types, each of which is tied to its own entity type. Such an organization also addresses the issue of forming a virtual set of entities that play the same role, but belong to different entity types. P.451–466 |