36 research outputs found

    Automated mapping from goal models to self-adaptive systems

    Get PDF
    Abstract Self-adaptive systems should autonomously adapt at run time to changes in their operational environment, guided by the goals assigned by their stakeholders. We present a tool that supports goal-oriented modelling and generation of code for goal-directed, selfadaptive systems, supporting Tropos4AS, an extension of the software engineering methodology Tropos

    Using i* to represent OSS ecosystems for risk assessment

    Get PDF
    Open Source Software (OSS) is a strategic asset for organisations thanks to its short time-to-market, the opportunity for a reduced development effort and total cost of ownership, and its customization capabilities. OSS-based solutions include projects that are developed and co-evolve within the same organisation, OSS communities, companies, and regulatory bodies, forming an articulated strategic business ecosystem. The adoption of OSS in commercial projects leads to numerous challenges in the wide spectrum of available OSS solutions and risks emerging from the intrinsic structure of an OSS project. In this position paper we devise the use of i* models for understanding the strategic perspective of OSS ecosystems, representing actors, intentional dependencies and responsibilities. We argue that these models can play a crucial role in the analysis of organisational risks inherent to OSS component adoption and in the definition of risk mitigation activities.Postprint (published version

    The RISCOSS platform for risk management in open source software adoption

    Get PDF
    Managing risks related to OSS adoption is a must for organizations that need to smoothly integrate OSS-related practices in their development processes. Adequate tool support may pave the road to effective risk management and ensure the sustainability of such activity. In this paper, we present the RISCOSS platform for managing risks in OSS adoption. RISCOSS builds upon a highly configurable data model that allows customization to several types of scopes. It implements two different working modes: exploration, where the impact of decisions may be assessed before making them; and continuous assessment, where risk variables (and their possible consequences on business goals) are continuously monitored and reported to decision-makers. The blackboard-oriented architecture of the platform defines several interfaces for the identified techniques, allowing new techniques to be plugged in.Peer ReviewedPostprint (author’s final draft

    Goal-Oriented Development of Self-Adaptive Systems

    Get PDF
    Today's software is expected to be able to work autonomously in an unpredictable environment, avoiding failure and achieving satisfactory performance. Self-adaptive systems try to cope with these challenging issues, autonomously adapting their behaviour to a dynamic environment to fulfil the objectives of their stakeholders. This implies that the software needs multiple ways to accomplish its purpose, enough knowledge of its construction, decision criteria for the selection of specific behaviours and the capability to make effective changes at runtime. The engineering of such systems is still challenging research in software engineering methods and techniques, as recently pointed out by the research community. The objective of this thesis is twofold: First, to capture and detail at design time the specific knowledge and decision criteria needed for a system to guide adaptation at run-time. Second, to create systems which are aware of their high-level requirements, by explicitly representing them as run-time objects, thus enabling it to act according to them and to monitor their satisfaction. To deliver on this aim, we provide conceptual models and process guidelines to model at design time the knowledge necessary to enable self-adaptation in a dynamic environment, extending the agent-oriented software engineering methodology Tropos. The resulting framework, called Tropos4AS, offers a detailed specification of goal achievement, of the relationships with the environment, of possible failures and recovery activities. A claim underlying the approach is that the concepts of agent, goal, and goal model, used to capture the system's requirements, should be preserved explicitly along the whole development process, from requirements analysis to the design and run-time, thus reducing the conceptual gaps between the software development phases, and providing a representation of the high-level requirements at run-time. A direct, tool-supported mapping from goal models to an implementation in a Belief-Desire-Intention agent architecture, and an operational semantics for goal model satisfaction at run-time, complement this work. The framework is evaluated through application to research case studies and through an empirical study with subjects, assessing the usability and the comprehensibility of the modelling concepts

    Operational Semantics of Goal Models in Adaptive Agents

    No full text
    Several agent-oriented software engineering methodologies address the emerging challenges posed by the increasing need of adaptive software. A common denominator of such methodologies is the paramount importance of the concept of goal model in order to understand the requirements of a software system. Goal models consist of goal graphs representing AND/OR-decomposition of abstract goals down to operationalisable leaf-level goals. Goal models are used primarily in the earlier phases of software engineering, for social modelling, requirements elicitation and analysis, to concretise abstract objectives, to detail them and to capture alternatives for their satisfaction. Although various agent programming languages incorporate the notion of (leaf-level) goal as a language construct

    Towards goal-oriented development of self-adaptive systems

    No full text
    Self-adaptive software aims at anticipating changes which occur in a complex environment and to automatically deal with them at run-time. The increasing demand for complex networked software, which makes computing resources available to anyone, anywhere and at any time, is drawing attention to the engineering of self-adaptive software. The objective of our work is to define a process and a tool-supported design framework to develop self-adaptive systems, which consider Belief-Desire-Intention agent models as reference architectures. We adopt an agent-oriented approach, which allows to explicitly model system goals in requirements specifica-tion and in the system architecture design. Moreover, goal achieve-ment conditions are specified along with their relationships with the environment and with possible failures, and corresponding recov-ery actions. This paper aims at motivating and giving an overview of our approach with the help of an example

    Modelling Risks in Open Source Software Component Selection

    No full text
    Adopting Open Source Software (OSS) components is a decision that offers many potential advantages – such as cost effectiveness and reputation – but even introduces a potentially high number of risks, which span from the inability of the OSS community to continue the development over time, to a poor quality of code. Differently from commercial off-the-shelf components, to assess risk in OSS component adoption, we can rely on the public availability of measurable information about the component code and the developing communities. In the present paper, we present a risk evaluation technique that uses conceptual modelling to assess OSS component adoption risks. We root it in the existing literature on OSS risk assessment and validate it by means of our industrial partners

    Modelling Self-Adaptivity: A Goal-Oriented Approach

    No full text
    Self-adaptive systems aim at autonomously achieving their objectives in a dynamic environment, adapting their behaviour to different circumstances. We claim that appropriate software engineering methodologies are needed to define and to model the information necessary for a system to perform autonomous diagnosis and decision making at runtime. In this short paper we focus on conceptual modelling for the design of self-adaptive software. Our design framework adopts a goal-oriented approach to specify variability in system requirements, coping with some limits of current goal modelling approaches
    corecore