A Formal Framework for Software Process Modelling and Verification: A Behavior Engineering and Ontology Approach
Author(s)
Primary Supervisor
Wen, Lian
Other Supervisors
Wang, Zhe
Rout, Terence
Year published
2018-12
Metadata
Show full item recordAbstract
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 ...
View more >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.
View less >
View more >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.
View less >
Thesis Type
Thesis (PhD Doctorate)
Degree Program
Doctor of Philosophy (PhD)
School
School of Info & Comm Tech
Copyright Statement
The author owns the copyright in this thesis, unless stated otherwise.
Subject
Software development
Software engineering standards
Heterogeneous software processes
Formalise software processes
Software process knowledge base
Application scenarios