Combining Goals and SysML for Traceability and Decision-Making in the Development of Adaptive Socio-Cyber-Physical Systems (original) (raw)
Related papers
Required Changes in Requirements Engineering Approaches for Socio-Cyber-Physical Systems
2018
Requirements engineering has been mainly focused on software development, which represents relatively homogenous, stable and predictable cyber space. But even there, problems in requirements (e.g., changing, missing or irrelevant requirements) are considered as main reasons for project failure. Entering a new era of socio-cyber-physical systems, which are complex, heterogeneous systems of systems, will make requirements engineering even more challenging. Not only it is a standard practice that requirements change and evolve, and new requirements emerge frequently during the system life cycle. In socio-cyberphysical systems, requirements cannot be defined just for the cyber space, but must cover also the socio and physical spaces. There are also highly complex interrelationships, interactions and impacts between components of systems that can lead to unexpected and even unacceptable consequences in system structure and behaviour. One of the promising approaches supporting adaptabilit...
2018
Over the last ten years, first research on self-adaptive systems (SAS), then research on cyber physical systems (CPS) and just in the last few years, research on collaborative systems has attracted the attention of the academic and industrial community. Self-adaptiveness, collaboration, and cyber physicality represent novel characteristics of softwareintensive systems insofar that such systems possess significantly different properties than traditional information systems or embedded systems. For example, their highly connected and context-aware nature gives rise systems constantly changing their runtime behavior, stressing the need for runtime adaptation and reorganization, which must be considered during the requirements phase. This implies new and unforeseen challenges for requirements engineering to systematically engineer self-adaptiveness, collaboration, and cyber physicality into these systems. Specifically, in order to develop adaptive, context-aware systems like SAS, CPS, o...
Goal-Based Modeling of Dynamically Adaptive System Requirements
15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008), 2008
tant capability for many applications, particularly those deployed in dynamically changing environments, such as ecosystem monitoring and disaster management. One key challenge posed by Dynamically Adaptive Systems (DASs) is the need to handle changes to the requirements and corresponding behavior of a DAS in response to varying environmental conditions. Berry et al. previously identified four levels of RE that should be performed for a DAS. In this paper, we propose the Levels of RE for Modeling that reify the original levels to describe RE modeling work done by DAS developers. Specifically, we identify four types of developers: the system developer, the adaptation scenario developer, the adaptation infrastructure developer, and the DAS research community. Each level corresponds to the work of a different type of developer to construct goal model(s) specifying their requirements. We then leverage the Levels of RE for Modeling to propose two complementary processes for performing RE for a DAS. We describe our experiences with applying this approach to GridStix, an adaptive flood warning system, deployed to monitor the River Ribble in Yorkshire, England.
Continuous Requirements Engineering in Sociotechnical Systems: Challenges and Solutions
2021
Continuous requirements engineering in sociotechnical systems faces the challenges that originate from diverse and fast changes in systems contexts, project-based issues, and the multi-systems nature of sociotechnical systems. The interplay of these challenges and reported suggested treatments point to the necessity for flexible frameworks and new ways of knowledge management in systems development projects that concern sociotechnical systems.
Information and Software Technology, 2015
It is challenging to develop comprehensive, consistent, analyzable requirements models for evolving requirements. This is particularly critical for certain highly interactive types of socio-technical systems that involve a wide range of stakeholders with disparate backgrounds; system success is often dependent on how well local social constraints are addressed in system design. Objective: This paper describes feasibility research, combining a holistic social system perspective provided by Activity Theory (AT), a psychological paradigm, with existing system development methodologies and tools, specifically goal and scenario modeling. Method: AT is used to understand the relationships between a system, its stakeholders, and the system's evolving context. The User Requirements Notation (URN) is used to produce rigorous, analyzable specifications combining goal and scenario models. First, an AT language was developed constraining the framework for automation, second consistency heuristics were developed for constructing and analyzing combined AT/URN models, third a combined AT/URN methodology was developed, and consequently applied to a proof-of-concept system. Results: An AT language with limited tool support was developed, as was a combined AT/URN methodology. This methodology was applied to an evolving disease management system to demonstrate the feasibility of adapting AT for use in system development with existing methodologies and tools. Bi-directional transformations between the languages allow proposed changes in system design to be propagated to AT models for use in stakeholder discussions regarding system evolution. Conclusions: The AT framework can be constrained for use in requirements elicitation and combined with URN tools to provide system designs that include social system perspectives. The developed AT/URN methodology can help engineers to track the impact on system design due to requirement changes triggered by changes in the system's social context. The methodology also allows engineers to assess the impact of proposed system design changes on the social elements of the system context.
Model Driven Engineering Languages and Systems, 2009
Dynamically adaptive systems (DASs) are intended to monitor the execution environment and then dynamically adapt their behavior in response to changing environmental conditions. The uncertainty of the execution environment is a major motivation for dynamic adaptation; it is impossible to know at development time all of the possible combinations of environmental conditions that will be encountered. To date, the work performed in requirements engineering for a DAS includes requirements monitoring and reasoning about the correctness of adaptations, where the DAS requirements are assumed to exist. This paper introduces a goal-based modeling approach to develop the requirements for a DAS, while explicitly factoring uncertainty into the process and resulting requirements. We introduce a variation of threat modeling to identify sources of uncertainty and demonstrate how the RELAX specification language can be used to specify more flexible requirements within a goal model to handle the uncertainty.
TOWARDS REQUIREMENTS REPRESENTATION USING AN EXTENSIVE ECA FORMALISM IN CYBER-PHYSICAL SYSTEMS
94Journal of Research in Engineering and Applied Sciences, 2019
Requirement engineering has a critical role to play in the machinery for self-adaptation in Cyber-physical systems. Unfortunately, properties in the definition of requirements vanish as requirements are implemented and refined as a design artifact Synchronization the running systems and requirement models is implicit in current literatures as being short of introspection between different trade-offs implied in different architectural configurations. That is, keeping synchronization between requirements and software architecture is particularly significant in CPS systems. This tendency calls for revisiting the current requirement engineering by emphasizing on the understandability of the requirements to enhance the monitoring and measurement of requirements across the lifecycle. Current proposals suffer from the implementation of specific algorithmic solutions or applying in specific components and services. All in all then, the development of CPSs is being challenged with requirement-awareness across the whole lifecycle. To address the predicament, an ECARE formalism with the property value is proposed as a lightweight engineering tool for requirement elicitation and representation as a first step towards the requirement-aware development of CPSs.
Proceedings of the 16th International Conference on Software Technologies, 2021
Requirements engineering has critical importance in the significant and successful number of software development projects involving multiple stakeholders to deliver high-quality software-intensive systems. The stakeholders' statements concerning the desired systems are expressed as goals to be achieved by the system in goal-oriented requirements engineering (GORE). In socio-technical systems (STS), the goals are achieved by cooperating with man-made agents within the software-to-be and human agents. However, as stakeholders often chase after mismatching goals subjectively, identifying and resolving conflicts in requirements becomes an inevitable part of GORE. This paper outlines the urgent need and processes required to investigate conflicts in the agile agent-oriented modeling (AAOM) methodology for engineering STS. We present a pragmatic view of our proposed strategy in a framework from a deductive and qualitative research perspective. The proposed strategy can attach stakeholders' corresponding roles to the hierarchical goal model's goals, which naturally brings out the stakeholder's needs and intentions. Additionally, it can relate the goal models to the most popular artifacts of agile software engineering. Thus, our pragmatic view builds upon well-established STS, especially in utilizing AAOM methodology.
Requirements-Driven Supervision of Socio-Technical Systems
2018
Modern software systems are characterized by ever-changing goals and requirements. Such systems operate in an environment that is dynamic, open, partly known, unpredictable. New goals arise and others are dropped, due to changes in stakeholders' needs and priorities, government regulations, technology. Despite this dynamism, systems should meet their goals and comply with the evolving requirements. While several self-adaptation mechanisms have been proposed in the literature, they cannot be fully applied for socio-technical systems that involve autonomous (thus, non-controllable) components. This project aims at designing and developing a runtime requirements supervision framework that monitors the execution of socio-technical systems, evaluates their behavior against the overall goals and intervenes by deciding how to revise requirements when adaptation is not possible.
Evolving requirements in socio-technical systems: Concepts and practice
2011
Changes in requirements are inevitable in the context of socio-technical systems (STS) that involve human organizations with their rules, as well as individuals and software systems. In these complex systems need for changes may emerge once software components come into operation, due to undesirable behavior of the STS, or due to variations in organization rules, laws, resources and STS's components themselves. This leads to a problem of continuous analysis of evolving requirements in a traceable way. Our work is motivated by experience in a real project in the health-care domain, and in analysis practices based on participatory design methods (scenarios and personas) and on techniques for law-compliant requirements analysis. We revisit this experience and generalize it into a novel framework that provides concepts and practices to support an evolutionary and "participatory" process for requirements evolution in STS.