162,074 research outputs found
Process of designing robust, dependable, safe and secure software for medical devices: Point of care testing device as a case study
This article has been made available through the Brunel Open Access Publishing Fund.Copyright © 2013 Sivanesan Tulasidas et al. This paper presents a holistic methodology for the design of medical device software, which encompasses of a new way of eliciting requirements, system design process, security design guideline, cloud architecture design, combinatorial testing process and agile project management. The paper uses point of care diagnostics as a case study where the software and hardware must be robust, reliable to provide accurate diagnosis of diseases. As software and software intensive systems are becoming increasingly complex, the impact of failures can lead to significant property damage, or damage to the environment. Within the medical diagnostic device software domain such failures can result in misdiagnosis leading to clinical complications and in some cases death. Software faults can arise due to the interaction among the software, the hardware, third party software and the operating environment. Unanticipated environmental changes and latent coding errors lead to operation faults despite of the fact that usually a significant effort has been expended in the design, verification and validation of the software system. It is becoming increasingly more apparent that one needs to adopt different approaches, which will guarantee that a complex software system meets all safety, security, and reliability requirements, in addition to complying with standards such as IEC 62304. There are many initiatives taken to develop safety and security critical systems, at different development phases and in different contexts, ranging from infrastructure design to device design. Different approaches are implemented to design error free software for safety critical systems. By adopting the strategies and processes presented in this paper one can overcome the challenges in developing error free software for medical devices (or safety critical systems).Brunel Open Access Publishing Fund
A Product Line Systems Engineering Process for Variability Identification and Reduction
Software Product Line Engineering has attracted attention in the last two
decades due to its promising capabilities to reduce costs and time to market
through reuse of requirements and components. In practice, developing system
level product lines in a large-scale company is not an easy task as there may
be thousands of variants and multiple disciplines involved. The manual reuse of
legacy system models at domain engineering to build reusable system libraries
and configurations of variants to derive target products can be infeasible. To
tackle this challenge, a Product Line Systems Engineering process is proposed.
Specifically, the process extends research in the System Orthogonal Variability
Model to support hierarchical variability modeling with formal definitions;
utilizes Systems Engineering concepts and legacy system models to build the
hierarchy for the variability model and to identify essential relations between
variants; and finally, analyzes the identified relations to reduce the number
of variation points. The process, which is automated by computational
algorithms, is demonstrated through an illustrative example on generalized
Rolls-Royce aircraft engine control systems. To evaluate the effectiveness of
the process in the reduction of variation points, it is further applied to case
studies in different engineering domains at different levels of complexity.
Subject to system model availability, reduction of 14% to 40% in the number of
variation points are demonstrated in the case studies.Comment: 12 pages, 6 figures, 2 tables; submitted to the IEEE Systems Journal
on 3rd June 201
A model-driven approach to broaden the detection of software performance antipatterns at runtime
Performance antipatterns document bad design patterns that have negative
influence on system performance. In our previous work we formalized such
antipatterns as logical predicates that predicate on four views: (i) the static
view that captures the software elements (e.g. classes, components) and the
static relationships among them; (ii) the dynamic view that represents the
interaction (e.g. messages) that occurs between the software entities elements
to provide the system functionalities; (iii) the deployment view that describes
the hardware elements (e.g. processing nodes) and the mapping of the software
entities onto the hardware platform; (iv) the performance view that collects
specific performance indices. In this paper we present a lightweight
infrastructure that is able to detect performance antipatterns at runtime
through monitoring. The proposed approach precalculates such predicates and
identifies antipatterns whose static, dynamic and deployment sub-predicates are
validated by the current system configuration and brings at runtime the
verification of performance sub-predicates. The proposed infrastructure
leverages model-driven techniques to generate probes for monitoring the
performance sub-predicates and detecting antipatterns at runtime.Comment: In Proceedings FESCA 2014, arXiv:1404.043
Identifying and Modelling Complex Workflow Requirements in Web Applications
Workflow plays a major role in nowadays business and therefore its
requirement elicitation must be accurate and clear for achieving the solution
closest to business’s needs. Due to Web applications popularity, the Web is becoming
the standard platform for implementing business workflows. In this
context, Web applications and their workflows must be adapted to market demands
in such a way that time and effort are minimize. As they get more popular,
they must give support to different functional requirements but also they
contain tangled and scattered behaviour. In this work we present a model-driven
approach for modelling workflows using a Domain Specific Language for Web
application requirement called WebSpec. We present an extension to WebSpec
based on Pattern Specifications for modelling crosscutting workflow requirements
identifying tangled and scattered behaviour and reducing inconsistencies
early in the cycle
- …