Using the semantic web to define a language for modelling controlled flexibility in software processes
Software processes and corresponding models are dynamic entities that must evolve to cope with changes occurred in the enacting process, the software development organisation, the market and the methodologies used to produce software. However, in the everyday practice, software team members do not want total flexibility. They rather prefer to learn about and follow previously defined controlled flexibility, that is, advices on which, where, how and by whom process models and related instances can change/adapt. Process engineers can express these advices within a process model with a domain-specific language (DSL), which complements the core process modelling language with additional controlled flexibility information. Then, software team members can browse and learn on this information in process models and instances, and be guided when performing changes. In this study, the authors propose the use of the semantic web and associated ontology-based technologies to develop and evolve their controlled flexibility DSL for software processes. They use an ontology-based format to define the controlled flexibility-related concepts, descriptions and axioms that specify the formal semantics of their DSL. In addition, the authors provide concrete mappings between these ontology concepts and a unified modelling language class-based DSL metamodel and describe how it supports changes made in the ontology.