278 research outputs found

    STAIRS - Understanding and Developing Specifications Expressed as UML Interaction Diagrams

    Get PDF
    STAIRS is a method for the step-wise, compositional development of interactions in the setting of UML 2.x. UML 2.x interactions, such as sequence diagrams and interaction overview diagrams, are seen as intuitive ways of describing communication between different parts of a system, and between a system and its users. STAIRS addresses the challenges of harmonizing intuition and formal reasoning by providing a precise understanding of the partial nature of interactions, and of how this kind of incomplete specifications may be consistently refined into more complete specifications. For understanding individual interaction diagrams, STAIRS defines a denotational trace semantics for the main constructs of UML 2.x interactions. The semantic model takes into account the partiality of interactions, and the formal semantics of STAIRS is faithful to the informal semantics given in the UML 2.x standard. For developing UML 2.x interactions, STAIRS defines a number of refinement relations corresponding to basic system development steps. STAIRS also defines matching compliance relations, for relating interactions to real computer systems. An important feature of STAIRS is the distinction between underspecification and inherent nondeterminism. Underspecification means that there are several possible behaviours serving the same overall purpose, and that it is sufficient for a computer system to perform only one of these. On the other hand, inherent nondeterminism is used to capture alternative behaviours that must all be possible for an implementation. A typical example is the tossing of a coin, where both heads and tails should be possible outcomes. In some cases, using inherent nondeterminism may also be essential for ensuring the necessary security properties of a system

    Software Architecture Description & UML Workshop

    Get PDF

    Agent-based Extensions for the UML Profile for Service-Oriented Architectures (UPMS-A)

    Get PDF
    Service-Oriented Architectures are today’s favorite answer to solve interoperability issues. As various kinds of systems can be used to implement Service-Oriented Architectures, the recent trend is to apply principles of Model-Driven Development by (i) modeling the Service-Oriented Architecture in an abstract manner and (ii) providing model transformations between this abstract specification and the underlying platform specific systems. As such, Multi-Agent Systems (MASs) became very popular as both, Service-Oriented Architectures and Multi-Agent Systems, share several commonalities. In this thesis, we compare the core building blocks of Multi-Agent Systems and a proposal for a standardized UML Profile and Metamodel for Services (UPMS) requested by the Object Management Group. The major objective of this investigation is to identify if SOA-Pro–the current submission under review–offers functionalities to allow modeling of Multi-Agent Systems adequately and if not to identify what kind of functionality is missing and how this functionality can be achieved. Interaction aspect in MASs describes how the interaction between autonomous entities or organizations take place. In our comparison we found that the ability to multicast messages is one feature that is lacking in UML Sequence Diagrams. This is an important feature or characteristic of agent interaction protocols. Here we show that SOA-Pro can easily be extended to support these kinds of functionalities

    Animation-based validation of reactive software systems using behavioural models

    Get PDF
    Tese de doutoramento em InformáticaDuring the development of software systems, validation is a crucial activity to guarantee that the software system ful lls the users' needs and expectations. A key issue to have a successful validation consists in adopting a process where users and clients can actively discuss the requirements of the system under development. A reactive system is expected to continuously interact with its environment. Usually, the interaction of a reactive system with its environment is supported by a set of nonterminating processes that operate in parallel. During the interaction, the reactive system must answer to high-priority events, even when the system is executing something else. Due to above characteristics, the behaviour of reactive systems can be very complex. The approach suggested in this thesis assumes that the requirements of reactive software systems are partially described by use case diagrams, and each use case is detailed by a collection of scenario descriptions. Within this approach, one can obtain, from a set of behavioural scenarios of a given system, an executable behavioural model that can support, when complemented with animation- and domain-speci c elements, a graphical animation for reproducing that set of scenarios for validation purposes. Animating the scenarios using graphical elements from the application domain ensures an e ective involvement of the users in the system's validation. The Coloured Petri nets (CPNs) modelling language is used as the notation to obtain the behavioural models, due to its natural support for mechanisms like concurrency, synchronisation, and resource sharing and its tool support. The obtained CPN model is guaranteed to be (1) parametric, allowing an easy modi cation of the initial conditions of the scenarios, (2) environment-descriptive, meaning that it includes the state of the relevant elements of the environment, and (3) animation-separated, implying that the elements related to the animation are separated from the other ones. We validate our approach based on its application to three case studies of reactive systems.Durante o desenvolvimento de sistemas de software, a validação é uma actividade crucial para garantir que o sistema de software satisfaz as necessidades e expectativas do utilizador. O sucesso na validação consiste na utilização de um processo onde os utilizadores e os clientes possam discutir de uma forma activa os requisitos do sistema que está a ser desenvolvido. Um sistema reactivo está continuamente em interacção com o seu ambiente, que é geralmente suportada por um conjunto de processos intermináveis que operam em paralelo. Durante a interacção, o sistema reactivo dever a responder aos eventos com alta prioridade, mesmo quando o sistema está a executar algo diferente. Devido às características anteriores, o comportamento dos sistemas reactivos pode ser muito complexo. A abordagem sugerida nesta tese assume que os requisitos de sistemas reactivos são em parte descritos por diagramas de casos de uso e que cada caso de uso é detalhado por uma colecção de descrições de cenários. Nesta abordagem, é possível obter, a partir de um conjunto de cenários de um dado sistema, um modelo comportamental que seja executável e que suporte, quando complementado com elementos específicos, uma animação gráfica que reproduza aquele conjunto de cenários para fins de validação. A animação dos cenários utilizando elementos gráficos do domínio da aplicação garante um envolvimento efectivo dos utilizadores na validação do sistema. A linguagem de modelação redes de Petri coloridas (CPNs) é usada como a notação para obter os modelos comportamentais, devido ao seu suporte natural a mecanismos como a concorrência, sincronização e partilha de recursos, e às suas ferramentas de suporte. Se as recomendações da abordagem proposta foram seguidas, temos a garantia que o modelo CPN: (1) parametriza as condições iniciais dos cenários, (2) contém uma descrição do ambiente, incluindo o estado dos seus elementos, e (3) separa os elementos relacionados com a animação dos outros elementos do modelo. A validação da nossa abordagem tem por base a sua aplicação a três casos de estudo de sistemas reactivos.Fundação para a Ciência e a Tecnologia (FCT) SFRH/BD/19718/200

    Design and management of pervasive eCare services

    Get PDF

    A model driven approach to analysis and synthesis of sequence diagrams

    Get PDF
    Software design is a vital phase in a software development life cycle as it creates a blueprint for the implementation of the software. It is crucial that software designs are error-free since any unresolved design-errors could lead to costly implementation errors. To minimize these errors, the software community adopted the concept of modelling from various other engineering disciplines. Modelling provides a platform to create and share abstract or conceptual representations of the software system – leading to various modelling languages, among them Unified Modelling Language (UML) and Petri Nets. While Petri Nets strong mathematical capability allows various formal analyses to be performed on the models, UMLs user-friendly nature presented a more appealing platform for system designers. Using Multi Paradigm Modelling, this thesis presents an approach where system designers may have the best of both worlds; SD2PN, a model transformation that maps UML Sequence Diagrams into Petri Nets allows system designers to perform modelling in UML while still using Petri Nets to perform the analysis. Multi Paradigm Modelling also provided a platform for a well-established theory in Petri Nets – synthesis to be adopted into Sequence Diagram as a method of putting-together different Sequence Diagrams based on a set of techniques and algorithms
    • …
    corecore