10 research outputs found

    Defining Execution Viewpoints for a Large and Complex Software-Intensive System

    Get PDF

    Defining and documenting execution viewpoints for a large and complex software-intensive system

    Get PDF
    An execution view is an important asset for developing large and complex systems. An execution view helps practitioners to describe, analyze, and communicate what a software system does at runtime and how it does it. In this paper, we present an approach to define and document viewpoints that guide the construction and use of execution views for an existing large and complex software-intensive system. This approach includes the elicitation of the organization's requirements for execution views, the initial definition and validation of a set of execution viewpoints, and the documentation of the execution viewpoints. The validation and application of the approach have helped us to produce mature viewpoints that are being used to support the construction and use of execution views of the Philips Healthcare MRI scanner, a representative large software-intensive system in the healthcare domain. (C) 2010 Elsevier Inc. All rights reserved

    A top-down strategy to reverse architecting execution views for a large and complex software-intensive system:An experience report

    Get PDF
    This article is an experience report about the application of a top-down strategy to use and embed an architecture reconstruction approach in the incremental software development process of the Philips MRI scanner, a representative large and complex software-intensive system. The approach is an iterative process to construct execution views without being overwhelmed by the system size and complexity. An execution view contains architectural information that describes what the software of a software-intensive system does at runtime and how it does this. The application of the strategy is illustrated with a case study, the construction of an up-to-date execution view for the start-up process of the Philips MRI scanner. The construction of this view helped the development organization to quickly reduce about 30% the start-up time of the scanner, and set up a new system benchmark for assuring the system performance through future evolution steps. The report provides detailed information about the application of the top-down strategy, including how it supports top-down analysis, communication within the development organization, and the aspects that influence the use of the top-down strategy in other contexts. (C) 2010 Elsevier B.V. All rights reserved

    Defining Execution Viewpoints for a Large and Complex Software-Intensive System

    Get PDF
    An execution view is an important asset for developing large and complex systems. An execution view helps practitioners to describe, analyze, and communicate what a software system does at runtime and how it does it. In this paper, we present an approach to define execution viewpoints for an existing large and complex software-intensive system. This definition approach enables the customization and extension of a set of predefined viewpoints to address the requirements of a specific development organization. The application of this approach has helped us to identify a set of execution viewpoints that we are currently using to construct execution views of an MRI system, a large software-intensive system in the healthcare domain.

    A practice-driven systematic review of dependency analysis solutions

    Get PDF
    When following architecture-driven strategies to develop large software-intensive systems, the analysis of the dependencies is not an easy task. In this paper, we report a systematic literature review on dependency analysis solutions. Dependency analysis concerns making dependencies due to interconnections between programs or system components explicit. The review is practice-driven because its research questions, execution, and reporting were influenced by the practice of a group of software architects at Philips Healthcare MRI. The review results in an overview and assessment of the state-of-the-art and applicability of dependency analysis. The overview provides insights about definitions related to dependency analysis, the sort of development activities that need dependency analysis, and the classification and description of a number of dependency analysis solutions. The contribution of this paper is for both practitioners and researchers. They can take it as a reference to learn about dependency analysis, match their own practice to the presented results, and to build similar overviews of other techniques and methods for other domains or types of systems.

    Constructing a Resource Usage View of a Large and Complex Software-Intensive System

    No full text
    A resource usage view consists of models that are important assets to analyze and control usage of hardware resources such as processors and memory elements. In this paper, we present the application of a top-down approach to construct a resource usage view using actual system runtime information. The models in this view help to address the concerns of a resource usage viewpoint providing information in terms of system-specific architecture and design execution elements such as execution scenarios, tasks, software components, processes, and threads. As part of our validation, constructing a resource usage view of an MRI system, a representative large software-intensive system, we observed that the constructed models for this view provide useful overviews and insights for practitioners to describe part of the system execution architecture and especially to analyze and evaluate the use of hardware resources in a. top-down fashion

    Analyzing the Actual Execution of a Large Software-Intensive System for Determining Dependencies

    No full text
    In this paper, we present a dynamic analysis approach to increase the understandability of a large software-intensive system, more particularly to enable the identification of dependencies between its execution entities. This approach analyzes the execution of a software system in a top-down fashion to cope with complexity and uses execution entities such as scenarios, components, and processes rather than code artefacts such as modules, classes, or objects. The approach synchronizes and analyzes two sources of execution information (logging and process activity), and builds architectural views of the system execution, according to a specific metamodel. We have validated this approach on an MRI scanner, a representative large software-intensive system, enabling the identification of dependencies in the execution of its software subsystem
    corecore