A Case Study of Requirements Ambiguities and Goaloriented Focused Requirements Specification This paper conducted a case study in a simulation control software system. In the case study, we analyzed defects that required significant correction effort. The defects were ambiguity defects injected by misunderstandings and inconsistencies among stakeholders during interpreting requirements and specifying design documents. The ambiguities of the specifications are found in the definitions of distance, time (time zone), and calculation accuracy. These cause nonconformance in the implementations and errors in the control simulation execution results. Based on the analysis, as a loweffort defect prevention approach, we propose clearly defining the units to avoid such ambiguities and estimated the expected effort reduction by the definitions in the target control simulation software development.

Managing designtime uncertainty Any software system is the accumulated result of many design decisions taken by its developers. During the course of development, however, developers are often uncertain about how to make these decisions. This uncertainty reflects lack of knowledge about the design of the system, rather than about the environment in which the system is intended to operate. It is therefore called designtime uncertainty, and is different from environmental uncertainty 1. Addressing environmental uncertainty requires using strategies such as selfadaptation 2, which result in fully functional software systems, capable of operating under uncertain conditions, i.e., uncertaintyaware software. In contrast, designtime uncertainty (henceforth, also simply uncertainty) cannot be coded away. Rather, it must be tackled as part of the process of software development, i.e., using uncertaintyaware software development methodologies.   Existing methodologies, languages and tools assume that their inputs do not contain any uncertainty. Thus, uncertainty is rendered an undesirable characteristic that developers should either avoid or remove altogether before resuming their work. This results in either costly delays or potentially premature  and therefore risky  resolutions of uncertainty as developers make provisional decisions and attempt to keep track of them in case they need to be undone. We present an alternative strategy: the explicit management of design time uncertainty as part of the course of software development 3.   Specifically, we build on previously published work for encoding alternative design decisions in partial models which can subsequently be used for tasks such as reasoning, refinement and transformation 4. These techniques had been implemented as partial model operators in MuMmint, an interactive modelling tool 5. We combine these point solutions into a coherent, toolsupported methodology for tackling designtime uncertainty. This combination allows deferring the resolution of uncertainty for as long as necessary while the development work can continue.   To create a coherent methodology, we must address some fundamental questions, such as: What does it mean to tackle uncertainty? How does it get added to software artifacts? When does it get removed? To gain a more detailed understanding of how uncertainty is manifested and manipulated at different stages, as well as the different inputs, outputs, pre and postconditions of partial model operators, we developed the DesignTime Uncertainty Management (DeTUM) model, shown in Fig. 1. The DeTUM model consists of three stages: During the Articulation stage, uncertainty increases as developers encode alternative designs in partial models. During the Deferral stage, the goal is to avoid making premature decisions, while still being able to make use of software engineering techniques. To do that, developers use partial models as primary development artifacts in combination with techniques that are appropriately lifted so that they are applicable to partial models. During this stage the degree of uncertainty in the model remains unchanged. During the Resolution stage, the degree of uncertainty in the partial model is reduced to reflect newly acquired information. The ultimate result is a model without any uncertainty. The DeTUM model allows us to to contextualize the various partial modelling operators and identify gaps through lessons learned from nontrivial scenarios.   This work makes the following contributions: (a) the DeTUM model; (b) the mapping of various partial model operators to the DeTUM model; (c) based on the above, a methodology for managing designtime uncertainty, and (d) a validation of the usability and effectiveness of the methodology based on two nontrivial uncertainty management scenarios.