•Safety demonstration of software is required when developing safety systems.•Software fault tree analysis is one of the software safety analysis technique.•There are less studies on analyzing timing ...constraints for multi-cycled operations by software fault tree analysis mechanically.•This paper proposes a software fault tree analysis technique for software requirements written in NuSCR formal specification language.•The proposed technique constructs software fault trees and minimal cut-sets encompassing timing constraints of multi-cycles.
Rigorous safety demonstration of software, as well as systems, is required when developing digital reactor protection systems in nuclear power plants. Various safety analysis techniques try to identify, analyze, and find remedies for potential hazards at each stage of software development life-cycle. This paper proposes a software fault tree analysis technique for software requirements written in the NuSCR formal specification language. The proposed method can mechanically construct software fault trees and calculate minimal cut-sets, encompassing timing constraints of multi-cycles, from NuSCR formal specifications. We also improved the fault tree construction and analysis tool into “NuFTA 2.0” to cope with multi-cycled executions. The case study with a preliminary version of requirements specification for a Korean nuclear power plant in operation shows the proposed technique’s effectiveness and applicability to other V&Vs such as simulation.
•Design an ontology-supported case-based reasoning framework for tolerance specification.•Construct a tolerance specification ontology to represent tolerance specification cases.•Present a mechanism ...to quantify the similarities of the distinctive attributes of two cases.•Present a procedure to establish a similarity measure with high accuracy for case retrieval.•Develop a prototype system to verify the application of the proposed approach in practice.
In this paper, an ontology-supported case-based reasoning approach for computer-aided tolerance specification is proposed. This approach firstly considers the past tolerance specification problems and their schemes as previous cases and the new tolerance specification problems as target cases and uses an ontology to represent previous and target cases. Then certain ontology-based similarity measure is used to assess the similarity between the toleranced features of target and previous cases, the similarity between the part features of target and previous cases, and the similarity between the topological relations of target and previous cases. Based on these similarities, an ontology-based similarity measure for computing the similarity between target and previous cases is designed, and an algorithm for establishing such similarity measure with high accuracy and retrieving similar previous cases for a target case with this similarity measure is presented. This algorithm shows how to linearly combine the similarity of toleranced features, the similarity of part features, and the similarity of topological relations to assess the similarity between target and previous cases to implement retrieval of previous cases under the prerequisite of ensuring the highest accuracy of the similarity measure. The paper also reports a prototype implementation of the proposed approach, provides an example to illustrate how the approach works, and evaluates the approach via theoretical and experimental comparisons.
The specification of requirements and tests are crucial activities in automotive development projects. However, due to the increasing complexity of automotive systems, practitioners fail to specify ...requirements and tests for distributed and evolving systems with complex interactions when following traditional development processes. To address this research gap, we propose a technique that starts with the early identification of validation concerns from a stakeholder perspective, which we use to systematically design tests that drive a scenario‐based modeling and analysis of system requirements. To ensure complete and consistent requirements and test specifications in a form that is required in automotive development projects, we develop a Model‐Based Systems Engineering (MBSE) methodology. This methodology supports system architects and test designers in the collaborative application of our technique and in maintaining a central system model, in order to automatically derive the required specifications. We evaluate our methodology by applying it at KOSTAL (Tier1 supplier) and within student projects as part of the masters program Embedded Systems Engineering. Our study corroborates that our methodology is applicable and improves existing requirements and test specification processes by supporting the integrated and stakeholder‐focused modeling of product and validation systems, where the early definition of stakeholder and validation concerns fosters a problem‐oriented, iterative and test‐driven requirements modeling.
Summary
The automation of programming, which lies at the intersection of software engineering and artificial intelligence, enables machines to automatically generate programs that satisfy given ...requirements. In the context of B formal design modeling, one of the challenges is the refactoring of substitutions in design specifications, which often uses state transitions to describe how program or system statuses change during execution. This paper proposes a condition and substitution refactoring algorithm for the B formal specification language. The aim of the work is to automatically derive B operational predicates based on given transitions. The work has been extremely useful to machine‐driven formal design model repair as well as automated design specification generation. Given a set of state transitions, common relations of their state variables can be discovered and clustered into a number of classes. These relations can be further used to synthesize substitutions that derive new states from existing states. To restrict application domains of the synthesized substitutions, conditions that guard these substitutions are generated using first‐order logic. We have implemented the proposed algorithm as an extension to the ProB model checker. Experiments were conducted based on the B model public dataset. The evaluation results demonstrated that our solution is able to synthesize conditions and substitutions for various sets of state transitions in a wide range of B models.
Mobile and general-purpose robots increasingly support everyday life, requiring dependable robotics control software. Creating such software mainly amounts to implementing complex behaviors known as ...missions. Recognizing this need, a large number of domain-specific specification languages has been proposed. These, in addition to traditional logical languages, allow the use of formally specified missions for synthesis, verification, simulation or guiding implementation. For instance, the logical language LTL is commonly used by experts to specify missions as an input for planners, which synthesize a robot's required behavior. Unfortunately, domain-specific languages are usually tied to specific robot models, while logical languages such as LTL are difficult to use by non-experts. We present a catalog of 22 mission specification patterns for mobile robots, together with tooling for instantiating, composing, and compiling the patterns to create mission specifications. The patterns provide solutions for recurrent specification problems; each pattern details the usage intent, known uses, relationships to other patterns, and-most importantly-a template mission specification in temporal logic. Our tooling produces specifications expressed in the temporal logics LTL and CTL to be used by planners, simulators or model checkers. The patterns originate from 245 mission requirements extracted from the robotics literature, and they are evaluated upon a total of 441 real-world mission requirements and 1251 mission specifications. Five of these reflect scenarios defined with two well-known industrial partners developing human-size robots. We further validate our patterns' correctness with simulators and two different types of real robots.
Deductive verifiers require intensive user interaction in the form of writing precise specifications, thereby limiting their use in practice. While many solutions have been proposed to generate ...specifications, their evaluations and comparisons to other tools are limited. As a result, it is unclear what the best approaches for specification inference are and how these impact the overall specification writing process. In this paper we take steps to address this problem by providing an overview of specification inference tools that can be used for deductive verification of Java programs. For each tool, we discuss its approach to specification inference and identify its advantages and disadvantages. Moreover, we identify the types of specifications that it infers and use this to estimate the impact of the tool on the overall specification writing process. Finally, we identify the ideal features of a specification generator and discuss important challenges for future research.
•A survey of tools that generate formal specifications for Java programs.•Analysis of the impact of these tools on the overall specification writing process.•Practical recommendations for the future development of inference tools.•A list of open research problems for specification inference.
Organisations are becoming concerned with effectively dealing with privacy-related requirements. Existing Requirements Engineering methods based on structured natural language suffer from several ...limitations both in eliciting and specifying privacy requirements. In our previous study, we proposed a structured natural-language approach called the “Privacy Criteria Method” (PCM), which demonstrates potential advantages over user stories. Our goal is to present a PCM evaluation that focused on the opinions of software practitioners from different companies on PCM’s ability to support the specification of privacy requirements and the quality of the privacy requirements specifications produced by these software practitioners. We conducted a multiple case study to evaluate PCM in four different industrial contexts. We gathered and analysed the opinions of 21 practitioners on PCM usage regarding
Coverage
,
Applicability
,
Usefulness
, and
Scalability
. Moreover, we assessed the syntactic and semantic quality of the PCM artifacts produced by these practitioners. PCM can aid developers in elaborating requirements specifications focused on privacy with good quality. The practitioners found PCM to be useful for their companies’ development processes. PCM is considered a promising method for specifying privacy requirements. Some slight extensions of PCM may be required to tailor the method to the characteristics of the company.
Summary
Collaborative and autonomous driving vehicles combine hardware and software complex processes, also are heavily dependent on and influenced by the world of physical and cyber interactions. ...They have enabled many new features and advanced functionalities, such as stochastic and hybrid natures, mobile spatial topologies, and time‐critical dependability. However, the existing modeling and verification techniques have not established faith in proving correctness and safety. Spatial and time collision avoidance remains crucial obstacles on the path to becoming ubiquitous and dependable. In order to ensure safety, we first design an accident prediction architecture in system design‐time and run‐time stages. We apply it on collaborative and autonomous overtaking systems involving spatial‐ and time‐critical accident predictions. Then, we develop a novel and dedicated spatio‐clock stochastic specification language (SCSSL) to describe safety invariants and guards in domain‐specific autonomous driving systems. Next, we create the spatio‐clock stochastic and hybrid automata models based on SCSSL in order to model inherently stochastic and hybrid behaviors. To illustrate the effectiveness of spatio‐clock consistency stochastic specification and verification, we adopt statistical model checking natively to provide reliable predictions for the incoming collision instants and positions. Finally, we present an illustrative overtaking case study to verify spatio‐clock stochastic and hybrid related properties and ensure correct modeling, and demonstrate the significance of our proposed approach.
In general, requirements expressed in natural language are the first step in the software development process and are documented in the form of use cases. These requirements can be specified formally ...using some precise mathematical notation (e.g. Linear Temporal Logic (LTL), Computational Tree Logic (CTL) etc.) or using some modeling formalism (e.g. a Kripke structure). The rigor involved in writing formal requirements requires extra time and effort, which is not feasible in several software development scenarios. A number of existing approaches are able to transform informal software requirements to formal specifications. However, most of these approaches require additional skills like understanding of specification languages additional artifacts, or services of domain expert(s). Consequently, an automated approach is required to reduce the overhead of effort for converting informal requirements to formal specifications. This work introduces an approach that takes a use case model as input in the proposed template and produces a Kripke structure and LTL specifications as output. The proposed approach also considers the common use case relationships (i.e., include and extend). The generated Kripke structure model of the software allows analysis of software behavior early at the requirements specification stage which otherwise would not be possible before the design stage of the software development process. The generated LTL formal specifications can be used against a formal model like a Kripke structure generated during the software development process for verification purpose. We demonstrate the working of the proposed approach by a SIM vending machine example, where the use cases of this system are inputs in the proposed template and the corresponding Kripke structure and LTL formal specifications are produced as final output. Additionally, we use the NuSMV tool to verify the generated LTL specifications against the Kripke structure model of the software, which reports no counterexamples thus validating the proposed approach.