title: A Formal Framework for Software Process Modelling and Verification: A Behavior Engineering and Ontology Approach
Creators: name: Kabaale, Edward
Publisher: name: Griffith University
Year: 2018
Subjects: subject: Software development
subject: Software engineering standards
subject: Heterogeneous software processes
subject: Formalise software processes
subject: Software process knowledge base
subject: Application scenarios

description: The main objective of software development is to produce software that addresses user needs appropriately. As such, success in its realisation is highly dependent on an explicit software process that aims at describing precisely and unambiguously all activities and tasks undertaken to develop the required software. Software Engineering (SE) standards and reference models provide a set of process life cycle activities and best practices to guide the engineering and production of software products with the right quality within budget and schedule. However, these are usually diverse and described in natural language. While specifying software processes in natural language is straightforward and guarantees a wider understanding, it is di cult to consistently, systematically and automatically monitor and verify if they have been fully implemented and adhered too in a given software project. Besides the process of de ning and documenting the necessary evidence to comply with SE standard requirements is often subjective, manual and time consuming. With the quick development and diversity of SE standards and reference models for di erent domains, systematic methods of modelling and veri cation of software processes are crucial for process analysis, understanding and evolution. Although there is substantial literature on software process formalisation, the existing approaches have some limitations that we address in this thesis, namely: (i) there is hardly any systematic and repeatable approach for translation of natural language software processes to formal presentations; (ii) the current approaches don't accommodate diverse software processes in a uni ed way during formalisation process; (iii) the current approaches do not provide a comprehensive formal framework for reasoning on the consistency, completeness and veri cation of software process descriptions. Following a design science research methodology, we develop and evaluate a framework for a systematic, repeatable and consistent approach for formalisation and automated veri cation of software processes that are usually written in natural language and published in formal documents such as SE standards and reference models. Our approach utilises the potential o ered by a synergistic representation model based on a graphical and logical formalism. While logical approaches o er mathematically rigorous speci cation and veri cation, graphical approaches on the other hand, encapsulate the use of logical techniques with familiar concepts and notions of the domain, making the approach simple and intuitive for stakeholders to use in software development. Our contribution has four main aspects : 1) A customised metamodel to underpin systematic and faithful formalisation of heterogeneous software processes from diverse SE standards and reference process models; 2) A formalisation approach to consistently and repeatedly formalise software processes ; 3) A Software Process Knowledge Base that integrates the various semantic process models that form the nucleus of our approach; and 4) A set of application scenarios that demonstrate and evaluate the quality, utility and e cacy of our approach.