104,500 research outputs found

    Semantics of trace relations in requirements models for consistency checking and inferencing

    Get PDF
    Requirements traceability is the ability to relate requirements back to stakeholders and forward to corresponding design artifacts, code, and test cases. Although considerable research has been devoted to relating requirements in both forward and backward directions, less attention has been paid to relating requirements with other requirements. Relations between requirements influence a number of activities during software development such as consistency checking and change management. In most approaches and tools, there is a lack of precise definition of requirements relations. In this respect, deficient results may be produced. In this paper, we aim at formal definitions of the relation types in order to enable reasoning about requirements relations. We give a requirements metamodel with commonly used relation types. The semantics of the relations is provided with a formalization in first-order logic. We use the formalization for consistency checking of relations and for inferring new relations. A tool has been built to support both reasoning activities. We illustrate our approach in an example which shows that the formal semantics of relation types enables new relations to be inferred and contradicting relations in requirements documents to be determined. The application of requirements reasoning based on formal semantics resolves many of the deficiencies observed in other approaches. Our tool supports better understanding of dependencies between requirements

    Towards a Framework for Managing Inconsistencies in Systems of Systems

    Get PDF
    The growth in the complexity of software systems has led to a proliferation of systems that have been created independently to provide specific functions, such as activity tracking, household energy management or personal nutrition assistance. The runtime composition of these individual systems into Systems of Systems (SoSs) enables support for more sophisticated functionality that cannot be provided by individual constituent systems on their own. However, in order to realize the benefits of these functionalities it is necessary to address a number of challenges associated with SoSs, including, but not limited to, operational and managerial independence, geographic distribution of participating systems, evolutionary development, and emergent conflicting behavior that can occur due interactions between the requirements of the participating systems. In this paper, we present a framework for conflict management in SoSs. The management of conflicting requirements involves four steps, namely (a) overlap detection, (b) conflict identification, (c) conflict diagnosis, and (d) conflict resolution based on the use of a utility function. The framework uses a Monitor-Analyze-Plan- Execute- Knowledge (MAPE-K) architectural pattern. In order to illustrate the work, we use an example SoS ecosystem designed to support food security at different levels of granularity

    A Framework to Manage the Complex Organisation of Collaborating: Its Application to Autonomous Systems

    Full text link
    In this paper we present an analysis of the complexities of large group collaboration and its application to develop detailed requirements for collaboration schema for Autonomous Systems (AS). These requirements flow from our development of a framework for collaboration that provides a basis for designing, supporting and managing complex collaborative systems that can be applied and tested in various real world settings. We present the concepts of "collaborative flow" and "working as one" as descriptive expressions of what good collaborative teamwork can be in such scenarios. The paper considers the application of the framework within different scenarios and discuses the utility of the framework in modelling and supporting collaboration in complex organisational structures

    Semantic-based policy engineering for autonomic systems

    No full text
    This paper presents some important directions in the use of ontology-based semantics in achieving the vision of Autonomic Communications. We examine the requirements of Autonomic Communication with a focus on the demanding needs of ubiquitous computing environments, with an emphasis on the requirements shared with Autonomic Computing. We observe that ontologies provide a strong mechanism for addressing the heterogeneity in user task requirements, managed resources, services and context. We then present two complimentary approaches that exploit ontology-based knowledge in support of autonomic communications: service-oriented models for policy engineering and dynamic semantic queries using content-based networks. The paper concludes with a discussion of the major research challenges such approaches raise

    Change Impact Analysis based on Formalization of Trace Relations for Requirements

    Get PDF
    Evolving customer needs is one of the driving factors in software development. There is a need to analyze the impact of requirement changes in order to determine possible conflicts and design alternatives influenced by these changes. The analysis of the impact of requirement changes on related requirements can be based on requirements traceability. In this paper, we propose a requirements metamodel with well defined types of requirements relations. This metamodel represents the common concepts extracted from some prevalent requirements engineering approaches. The requirements relations in the metamodel are used to trace related requirements for change impact analysis. We formalize the relations. Based on this formalization, we define change impact rules for requirements. As a case study, we apply these rules to changes in the requirements specification for Course Management System

    Identifying Conflicting Requirements in Systems of Systems

    Get PDF
    A System of Systems (SoS) is an arrangement of useful and independent sub-systems, which are integrated into a larger system. Examples are found in transport systems, nutritional systems, smart homes and smart cities. The composition of component sub-systems into an SoS enables support for complex functionalities that cannot be provided by individual sub-systems on their own. However, to realize the benefits of these functionalities it is necessary to address several software engineering challenges including, but not limited to, the specification, design, construction, deployment, and management of an SoS. The various component sub-systems in an SoS environment are often concerned with distinct domains; are developed by different stake-holders under different circumstances and time; provide distinct functionalities; and are used by different stakeholders, which allow for the existence of conflicting requirements. In this paper, we present a framework to support management of emerging conflicting requirements in an SoS. In particular, we describe an approach to support identification of conflicts between resource-based requirements (i.e. requirements concerned with the consumption of different resources). In order to illustrate and evaluate the work, we use an example of a pilot study of an IoT SoS ecosystem designed to support food security at different levels of granularity, namely individuals, groups, cities, and nations

    Adaptive development and maintenance of user-centric software systems

    Get PDF
    A software system cannot be developed without considering the various facets of its environment. Stakeholders – including the users that play a central role – have their needs, expectations, and perceptions of a system. Organisational and technical aspects of the environment are constantly changing. The ability to adapt a software system and its requirements to its environment throughout its full lifecycle is of paramount importance in a constantly changing environment. The continuous involvement of users is as important as the constant evaluation of the system and the observation of evolving environments. We present a methodology for adaptive software systems development and maintenance. We draw upon a diverse range of accepted methods including participatory design, software architecture, and evolutionary design. Our focus is on user-centred software systems
    • 

    corecore