O'Reilly logo

Metamodelling for Software Engineering by Brian Henderson-Sellers, Cesar Gonzalez-Perez

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

6.9 EXTENDING THE ISO/IEC 24744 METAMODEL

The basic usage of the metamodel has been described above. Figure 6.18 shows a simple powertype pattern for Task/*Kind, resulting in a methodology clabject called ValidateRequirementsTask.

Image

Figure 6.18: A powertype pattern in the task domain (after [14])

Source: ISO

Suppose that this particular methodology requires that all validate requirements tasks need to be explicitly controlled as to whether they need signing off by the users or not. In other words, some enacted validate requirements tasks will require signing off while others will not, and this must be recorded according to the methodology. Since ValidateRequirementsTask is a specialized form of Task, then an additional attribute to store this information can be added in a straightforward manner (Figure 6.19). This new attribute represents the fact that some, but not all, requirement validation tasks, when actually performed in the Endeavour domain, will need signing off before the requirements can be considered validated. The methodologist captures this by incorporating this new NeedsSignOff attribute into the class facet of the method fragment. In programming language terms, this is known as “programming by difference” – a key strategy in the object-oriented paradigm. When this method fragment is instantiated for an endeavour, it and all the other (standard) attributes are allocated ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required