Model-based Analysis of Software Requirements for Distributed Software Systems

Date
2016-02-04
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Requirement elicitation is one of the most challenging stages of the software development lifecycle. Many bugs are introduced into the system as the result of incomplete or inconsistent requirements. Literature reports that detecting and removing unwanted behaviors during the design phase of a software system is about 20 times cheaper than finding them during the deployment phase. Moreover, planning the architecture and design of the system based on the requirements is a challenging task and is usually done using ad-hoc methodologies. However manual review of the system requirements is time consuming and inefficient, particularly for larger systems. Therefore, devising automated and systematic methodologies to analyze and verify software requirements is necessary. Automating the process of software analysis is a challenging task because each software system requires its own domain knowledge. The existing approaches often require a great number of assumptions and inputs from the system engineer familiar with the domain. This research focuses on automating the process of modeling, analyzing, detecting, and resolving emergent behavior in distributed systems. We propose a framework to analyze and verify software system requirements with a substantially increased level of automation and consistency, as well as reduced human intervention. This framework employs an ontology-based methodology to analyze system requirements expressed by a set of scenarios. This methodology involves the automatic construction of a domain-specific ontology of the system, which is used in the analysis of system requirements. The data generated from this framework can be used to assist system engineers in constructing the design and architecture of the system. The devised methodologies from this research have been developed into a software analysis tool (EBD) to automate the process of fault detection. The created framework and tool in the presented research have been used to analyze various real-life systems in this thesis, such as (1) a distributed system for real-time fleet-management; (2) a semantic search engine involving social network of multi-agent systems; and (3) an elevator system. The efficiency and effectiveness of this framework has been demonstrated through case studies and experiments.
Description
Keywords
Computer Science
Citation
Moshirpour, M. (2016). Model-based Analysis of Software Requirements for Distributed Software Systems (Doctoral thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca. doi:10.11575/PRISM/26930