Be the first to like this
This thesis provides a formal proposal for the specialization relationship in the i* framework that allows its use in a well-defined manner. I root my proposal over existing works in different areas that are interested in representing knowledge: knowledge representation from Artificial Intelligence and conceptual modeling and object-oriented programming languages from Software Development. Also, I use the results of a survey conducted in the i* community that provides some insights about what i* modelers expect from specialization. As a consequence of this twofold analysis, I identify three specialization operations: extension, refinement and redefinition. For each of them, I:
• motivate its need and provide some rationale;
• distinguish the several cases that can occur in each operation;
• define the elements involved in each of these cases and the correctness conditions that must be fulfilled;
• demonstrate by induction the fulfilment of the conditions identified for preserving satisfaction;
• provide some illustrative examples in the context of an exemplar about travel agencies and travelers.
The specialization relationship is offered by the i* framework through the is-a construct defined over actors (a subactor is-a superactor) since it was first released. Although the overall meaning of this construct is highly intuitive, its effects at the level of intentional elements and dependencies are not always clear, hampering seriously its appropriate use.
In order to be able to reason about correctness and satisfaction, I define previously the conditions that must be preserved when a specialization takes place. In addition, I provide a methodology with well-defined steps that contextualize the formal aspects of this thesis in a development process.
As a conclusion, this thesis is making possible the use of the specialization relationship in i* in a precise, non-ambiguous manner.