2 research outputs found

    Graph Transformation Based Models of Dynamic Software Architectures and Architectural Styles

    Get PDF
    no abstrac

    Graph Transformation Based Models of Dynamic Software Architectures and Architectural Styles

    Get PDF
    Software architectures play an important role in software development. As abstract models of the run-time structure they help to bridge the gap between user requirements and implementation. In the context of e-business, self-healing, or mobile systems, dynamic architectures gain more and more importance. They represent systems that do not simply consist of a fixed, static structure, but can react to certain requirements or events by run-time reconfiguration of its components and connections. The availability of those reconfiguration operations depends on the chosen run-time platform which has to support the desired modifications. The development of such dynamic architectures is a complex task which is usually driven by a stepwise modeling and refinement approach. The software architect derives a first abstract model of the architecture from the user requirements. This model mainly covers the functional aspects and business-related components. Later in the design process, more and more non-functional requirements like security concepts and implementation-specific aspects are integrated into the core functionality. This leads to a sequence of refined architectures down to the real system design for implementation. A recent example of this general modeling principle is the Model-Driven Architecture (MDA) put forward by the OMG. Here, platform-specific details are initially ignored at the model-level to allow for maximum portability. Then, these platform-independent models are refined by adding details required to map to a given target platform. Thus, at each refinement level, one imposes more assumptions on the resources, constraints, and services of the chosen platform. In software architecture research, architectural styles are used to describe families of architectures by common resource types, configuration patterns and constraints. We propose in [1] to consider the restrictions imposed by a certain choice of platform as an architectural style. Moreover, to account for component interactions and platforms that support dynamic reconfigurations, we extend the classical notion of architectural style, which is restricted to structural constraints, by also describing platform-specific communication and reconfiguration mechanisms. We formalize the architectural styles as graph transformation systems including architectural types, constraints, and graph transformation rules. Based o
    corecore