keeping track of crosscutting requirements in uml models via context-based constraints
One crosscutting requirement (also called aspect) affects several parts of a software system. Handling aspects is well understood at source-code level or at runtime. However, only a few aspect-oriented approaches handle other software artefact types, like UML models, configuration files, or database schema definitions. Instead of re-writing the same aspect newly for each artefact type, this paper suggests to write down an aspect once independent of artefact types.But, wait a minute: Which places does such an aspect affect? Where do we weave in an aspect if its pointcut doesn't refer to artefact details? This paper suggests expressing aspects via Context-Based Constraints (CoCons). They select their constrained system elements according to the element's context. For instance, CoCons affect all system elements used in a certain department, workflow, or location. CoCons are easy to grasp for users and customers because they express business requirements without referring to technical details. This paper focuses on how to express and monitor crosscutting requirements in UML models via CoCons. Moreover, it reveals that CoCons are a new notion of constrains by comparing CoCons to the Object Constraint Language OCL.
uml modelling constraints aosd requirements engineering aop