14 research outputs found

    Architectural abstraction as transformation of poset labelled graphs

    Full text link
    The design of large, complex computer based systems, based on their architecture, will benefit from a formal system that is intuitive, scalable and accessible to practitioners. The work herein is based in graphs which are an efficient and intuitive way of encoding structure, the essence of architecture. A model of system architectures and architectural abstraction is proposed, using poset labelled graphs and their transformations. The poset labelled graph formalism closely models several important aspects of architectures, namely topology, type and levels of abstraction. The technical merits of the formalism are discussed in terms of the ability to express and use domain knowledge to ensure sensible refinements. An abstraction / refinement calculus is introduced and illustrated with a detailed usage scenario. The paper concludes with an evaluation of the formalism in terms of its rigour, expressiveness, simplicity and practicality. © J.UCS

    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

    Quality-aware model-driven service engineering

    Get PDF
    Service engineering and service-oriented architecture as an integration and platform technology is a recent approach to software systems integration. Quality aspects ranging from interoperability to maintainability to performance are of central importance for the integration of heterogeneous, distributed service-based systems. Architecture models can substantially influence quality attributes of the implemented software systems. Besides the benefits of explicit architectures on maintainability and reuse, architectural constraints such as styles, reference architectures and architectural patterns can influence observable software properties such as performance. Empirical performance evaluation is a process of measuring and evaluating the performance of implemented software. We present an approach for addressing the quality of services and service-based systems at the model-level in the context of model-driven service engineering. The focus on architecture-level models is a consequence of the black-box character of services

    Applying Algebraic Approaches for Modeling Workflows and their Transformations in Mobile Networks

    Get PDF
    In emergency scenarios we can obtain a more effective coordination among team members, each of them equipped with hand-held devices, through the use of workflow management software. Team members constitute a Mobile Ad-hoc NETwork (MANET), whose topology both influences and is influenced by the workflow. In this paper we propose an algebraic approach for modeling workflow progress as well as its modifications as required by topology transformations. The approach is based on Algebraic Higher-Order Nets and sees both workflows and topologies as tokens, allowing their concurrent modification

    Variability in Software Systems – Extracted Data and Supplementary Material from a Systematic Literature Review

    Get PDF

    Run Time Models in Adaptive Service Infrastructure

    Full text link
    Software in the near ubiquitous future will need to cope with vari- ability, as software systems get deployed on an increasingly large diversity of computing platforms and operates in different execution environments. Heterogeneity of the underlying communication and computing infrastruc- ture, mobility inducing changes to the execution environments and therefore changes to the availability of resources and continuously evolving requirements require software systems to be adaptable according to the context changes. Software systems should also be reliable and meet the user's requirements and needs. Moreover, due to its pervasiveness, software systems must be de- pendable. Supporting the validation of these self-adaptive systems to ensure dependability requires a complete rethinking of the software life cycle. The traditional division among static analysis and dynamic analysis is blurred by the need to validate dynamic systems adaptation. Models play a key role in the validation of dependable systems, dynamic adaptation calls for the use of such models at run time. In this paper we describe the approach we have un- dertaken in recent projects to address the challenge of assessing dependability for adaptive software systems

    Methodological developments in the field of structural integrity analyses of large scale reactor pressure vessels in Hungary

    Get PDF
    Buildings, structures and systems of large scale and high value (e.g. conventional and nuclear power plants, etc.) are designed for a certain, limited service lifetime. If the standards and guidelines of the time are taken into account during the design process, the resulting structures will operate safely in most cases. However, in the course of technical history there were examples of unusual, catastrophic failures of structures, even resulting in human casualties. Although the concept of Structural Integrity first appeared in industrial applications only two-three decades ago, its pertinence has been growing higher ever since. Four nuclear power generation units have been constructed in Hungary, more than 30 years ago. In every unit, VVER-440 V213 type light-water cooled, light-water moderated, pressurized water reactors are in operation. Since the mid-1980s, Pressurized Thermal Shock (PTS) analyses of Reactor Pressure Vessels (RPV) have been conducted in Hungary, where the concept of structural integrity was the basis of research and development. In the first part of the paper, a short historic overview is given, where the origins of the Structural Integrity concept are presented, and the beginnings of Structural Integrity in Hungary are summarized. In the second part, a new conceptual model of Structural Integrity is introduced. In the third part, a brief description of the VVER-440 V213 type RPV and its surrounding primary system is presented. In the fourth part, a conceptual model developed for PTS Structural Integrity Analyses is explained

    Towards the Correctness of Software Behavior in UML: A Model Checking Approach Based on Slicing

    Get PDF
    Embedded systems are systems which have ongoing interactions with their environments, accepting requests and producing responses. Such systems are increasingly used in applications where failure is unacceptable: traffic control systems, avionics, automobiles, etc. Correct and highly dependable construction of such systems is particularly important and challenging. A very promising and increasingly attractive method for achieving this goal is using the approach of formal verification. A formal verification method consists of three major components: a model for describing the behavior of the system, a specification language to embody correctness requirements, and an analysis method to verify the behavior against the correctness requirements. This Ph.D. addresses the correctness of the behavioral design of embedded systems, using model checking as the verification technology. More precisely, we present an UML-based verification method that checks whether the conditions on the evolution of the embedded system are met by the model. Unfortunately, model checking is limited to medium size systems because of its high space requirements. To overcome this problem, this Ph.D. suggests the integration of the slicing (reduction) technique

    ModÚles, outils et plate-forme d'exécution pour les applications à service dynamiques

    Get PDF
    L'essor de l'Internet et l'Ă©volution des dispositifs communicants ont permis l'intĂ©gration du monde informatique et du monde rĂ©el, ouvrant ainsi la voie Ă  de nouveaux types d'applications, tels que les applications ubiquitaires et pervasives. Ces applications doivent s'exĂ©cuter dans des contextes hĂ©tĂ©rogĂšnes, distribuĂ©s et ouverts qui sont en constante Ă©volution. Dans de tels contextes, la disponibilitĂ© des services et des dispositifs, les prĂ©fĂ©rences et la localisation des utilisateurs peuvent varier Ă  tout moment pendant l'exĂ©cution des applications. La variabilitĂ© des contextes d'exĂ©cution fait que l'exĂ©cution d'une application dĂ©pend, par exemple, des services disponibles ou des dispositifs accessibles Ă  l'exĂ©cution. En consĂ©quence, l'architecture d'une telle application ne peut pas ĂȘtre connue statiquement Ă  la conception, au dĂ©veloppement ou au dĂ©ploiement, ce qui impose de redĂ©finir ce qu'est une application dynamique : comment la concevoir, la dĂ©velopper, l'exĂ©cuter et la gĂ©rer Ă  l'exĂ©cution. Dans cette thĂšse, nous proposons une approche dirigĂ©e par les modĂšles pour la conception, le dĂ©veloppement et l'exĂ©cution d'applications dynamiques. Pour cela, nous avons dĂ©fini un modĂšle de composants Ă  services permettant d'introduire des propriĂ©tĂ©s de dynamisme au sein d'un modĂšle de composants. Ce modĂšle permet de dĂ©finir une application en intention, via un ensemble de propriĂ©tĂ©s, de contraintes et de prĂ©fĂ©rences de composition. Une application est ainsi spĂ©cifiĂ©e de façon abstraite ce qui permet de contrĂŽler la composition graduelle de l'application lors de son dĂ©veloppement et de son exĂ©cution. Notre approche vise Ă  effacer la frontiĂšre entre les activitĂ©s effectuĂ©es avant et pendant l'exĂ©cution des applications. Pour ce faire, le mĂȘme modĂšle et les mĂȘmes mĂ©canismes de composition sont utilisĂ©s de la conception jusqu'Ă  l'exĂ©cution des applications. A l'exĂ©cution, le processus de composition considĂšre, en plus, les services disponibles dans la plate-forme d'exĂ©cution permettant la composition opportuniste des applications ; ainsi que la variabilitĂ© du contexte d'exĂ©cution permettant l'adaptation dynamique des compositions. Nous avons mis en Ɠuvre notre approche via un prototype nommĂ© COMPASS, qui s'appuie sur les plates-formes CADSE pour la rĂ©alisation d'environnements logiciels de conception et de dĂ©veloppement, et APAM pour la rĂ©alisation d'un environnement d'exĂ©cution d'applications Ă  services dynamiques.The growth of the Internet and the evolution of communicating devices have allow the integration of the computer world and the real world, paving the way for developing new types of applications such as pervasive and ubiquitous ones. These applications must run in heterogeneous, distributed and open environments that evolve constantly. In such environments, the availability of services and devices, the preferences and location of users may change at any time during the execution of applications. The variability of the execution context makes the execution of an application dependent on the available services and devices. Building applications capable of evolving dynamically to their execution context is a challenging task. In fact, the architecture of such an application cannot be fully known nor statically specified at design, development or deployment times. It is then needed to redefine the concept of dynamic application in order to cover the design, development, execution and management phases, and to enable thus the dynamic construction and evolution of applications. In this dissertation, we propose a model-driven approach for the design, development and execution of dynamic applications. We defined a component service model that considers dynamic properties within a component model. This model allows defining an application by its intention (its goal) through a set of composition properties, constraints and preferences. An application is thus specified in an abstract way, which allows controlling its gradual composition during development and execution times. Our approach aims to blur the boundary between development-time and runtime. Thus, the same model and the same composition mechanisms are used from design to runtime. At runtime, the composition process considers also the services available in the execution platform in order to compose applications opportunistically; and the variability of the execution context in order to adapt compositions dynamically. We implemented our approach through a prototype named COMPASS, which relies on the CADSE platform for building software design and development environments, and on the APAM platform for building an execution environment for dynamic service-based applications.SAVOIE-SCD - Bib.Ă©lectronique (730659901) / SudocGRENOBLE1/INP-Bib.Ă©lectronique (384210012) / SudocGRENOBLE2/3-Bib.Ă©lectronique (384219901) / SudocSudocFranceF
    corecore