98 research outputs found

    A coalgebraic semantic framework for reasoning about UML: sequence diagrams

    Get PDF
    If, as a well-known aphorism states, modelling is for reasoning , this paper is an attempt to define and apply a formal semantics to UML sequence diagrams in order to enable rigourous reasoning about them. Actually, model transfor- mation plays a fundamental role in the process of software development, in general, and in model driven engineering in particular. Being a de facto standard in this area, UML is no exception, even if the number and diversity of diagrams expressing UML models makes it difficult to base its semantics on a single framework. This paper builds on previous attempts to base UML semantics in a coalgebraic setting and illustrates the application of the proposed framework to reason about composition and refactoring of sequence diagrams.(undefined

    UML model refactoring as refinement: a coalgebraic perspective

    Get PDF
    Although increasingly popular, Model Driven Architecture (MDA) still lacks suitable formal foundations on top of which rigorous methodologies for the description, analysis and transformation of models could be built. This paper aims to contribute in this direction: building on previous work by the authors on coalgebraic refinement for software components and architectures, it discusses refactoring of models within a coalgebraic semantic framework. Architectures are defined through aggregation based on a coalgebraic semantics for (subsets of) UML. On the other hand, such aggregations, no matter how large and complex they are, can always be dealt with as coalgebras themselves. This paves the way to a discipline of models’ transformations which, being invariant under either behavioural equivalence or refinement, are able to formally capture a large number of refactoring patterns. The main ideas underlying this research are presented through a detailed example in the context of refactoring of UML class diagrams.The work reported in this paper is partially supported by a grant from the GLANCE funding program of NWO, through project CooPer (600.643.000.05N12)

    Bringing class diagrams to life

    Get PDF
    Research in formal methods emphasizes a funda- mental interconnection between modeling, calculation and prototyping, made possible by a common unambiguous, mathematical semantics. This paper, building on a broader research agenda on coalgebraic semantics for Unified Modeling Language diagrams, concentrates on class diagrams and discusses how such a coalgebraic perspective can be of use not only for formalizing their specification, but also as a basis for prototyping.This research was partially supported by a grant from the GLANCE funding program of NWO, through project CooPer (600.643.000.05N12), aswell as by Fct (the Portuguese Foundation for Science and Technology) under contract PTDC/EIA/73252/2006

    Proceedings of International Workshop "Global Computing: Programming Environments, Languages, Security and Analysis of Systems"

    Get PDF
    According to the IST/ FET proactive initiative on GLOBAL COMPUTING, the goal is to obtain techniques (models, frameworks, methods, algorithms) for constructing systems that are flexible, dependable, secure, robust and efficient. The dominant concerns are not those of representing and manipulating data efficiently but rather those of handling the co-ordination and interaction, security, reliability, robustness, failure modes, and control of risk of the entities in the system and the overall design, description and performance of the system itself. Completely different paradigms of computer science may have to be developed to tackle these issues effectively. The research should concentrate on systems having the following characteristics: • The systems are composed of autonomous computational entities where activity is not centrally controlled, either because global control is impossible or impractical, or because the entities are created or controlled by different owners. • The computational entities are mobile, due to the movement of the physical platforms or by movement of the entity from one platform to another. • The configuration varies over time. For instance, the system is open to the introduction of new computational entities and likewise their deletion. The behaviour of the entities may vary over time. • The systems operate with incomplete information about the environment. For instance, information becomes rapidly out of date and mobility requires information about the environment to be discovered. The ultimate goal of the research action is to provide a solid scientific foundation for the design of such systems, and to lay the groundwork for achieving effective principles for building and analysing such systems. This workshop covers the aspects related to languages and programming environments as well as analysis of systems and resources involving 9 projects (AGILE , DART, DEGAS , MIKADO, MRG, MYTHS, PEPITO, PROFUNDIS, SECURE) out of the 13 founded under the initiative. After an year from the start of the projects, the goal of the workshop is to fix the state of the art on the topics covered by the two clusters related to programming environments and analysis of systems as well as to devise strategies and new ideas to profitably continue the research effort towards the overall objective of the initiative. We acknowledge the Dipartimento di Informatica and Tlc of the University of Trento, the Comune di Rovereto, the project DEGAS for partially funding the event and the Events and Meetings Office of the University of Trento for the valuable collaboration

    Coalgebraic Methods for Object-Oriented Specification

    Get PDF
    This thesis is about coalgebraic methods in software specification and verification. It extends known techniques of coalgebraic specification to a more general level to pave the way for real world applications of software verification. There are two main contributions of the present thesis: 1. Chapter 3 proposes a generalisation of the familiar notion of coalgebra such that classes containing methods with arbitrary types (including binary methods) can be modelled with these generalised coalgebras. 2. Chapter 4 presents the specification language CCSL (short for Coalgebraic Class Specification Language), its syntax, its semantics, and a prototype compiler that translates CCSL into higher-order logic.Die Dissertation beschreibt coalgebraische Mittel und Methoden zur Softwarespezifikation und -verifikation. Die Ergebnisse dieser Dissertation vereinfachen die Anwendung coalgebraischer Spezifikations- und Verifikationstechniken und erweitern deren Anwendbarkeit. Damit werden Softwareverifikation im Allgemeinen und im Besonderen coalgebraische Methoden zur Softwareverifikation der praktischen Anwendbarkeit ein Stück nähergebracht. Diese Dissertation enthält zwei wesentliche Beiträge: 1. Im Kapitel 3 wird eine Erweiterung des klassischen Begriffs der Coalgebra vorgestellt. Diese Erweiterung erlaubt die coalgebraische Modellierung von Klassenschnittstellen mit beliebigen Methodentypen (insbesondere mit binären Methoden). 2. Im Kapitel 4 wird die coalgebraische Spezifikationssprache CCSL (Coalgebraic Class Specification Language) vorgestellt. Die Bescheibung umfasst Syntax, Semantik und einen Prototypcompiler, der CCSL Spezifikationen in Logik höherer Ordnung (passend für die Theorembeweiser PVS und Isabelle/HOL) übersetzt

    Coalgebra for the working software engineer

    Get PDF
    Often referred to as ‘the mathematics of dynamical, state-based systems’, Coalgebra claims to provide a compositional and uniform framework to spec ify, analyse and reason about state and behaviour in computing. This paper addresses this claim by discussing why Coalgebra matters for the design of models and logics for computational phenomena. To a great extent, in this domain one is interested in properties that are preserved along the system’s evolution, the so-called ‘business rules’ or system’s invariants, as well as in liveness requirements, stating that e.g. some desirable outcome will be eventually produced. Both classes are examples of modal assertions, i.e. properties that are to be interpreted across a transition system capturing the system’s dynamics. The relevance of modal reasoning in computing is witnessed by the fact that most university syllabi in the area include some incursion into modal logic, in particular in its temporal variants. The novelty is that, as it happens with the notions of transition, behaviour, or observational equivalence, modalities in Coalgebra acquire a shape . That is, they become parametric on whatever type of behaviour, and corresponding coinduction scheme, seems appropriate for addressing the problem at hand. In this context, the paper revisits Coalgebra from a computational perspective, focussing on three topics central to software design: how systems are modelled, how models are composed, and finally, how properties of their behaviours can be expressed and verified.Fuzziness, as a way to express imprecision, or uncertainty, in computation is an important feature in a number of current application scenarios: from hybrid systems interfacing with sensor networks with error boundaries, to knowledge bases collecting data from often non-coincident human experts. Their abstraction in e.g. fuzzy transition systems led to a number of mathematical structures to model this sort of systems and reason about them. This paper adds two more elements to this family: two modal logics, framed as institutions, to reason about fuzzy transition systems and the corresponding processes. This paves the way to the development, in the second part of the paper, of an associated theory of structured specification for fuzzy computational systems

    On developing a multi-model repository

    Get PDF

    Specification and refinement of software connectors

    Get PDF
    Tese de doutoramento em Informática (área de conhecimento de Fundamentos da Computação)Modern computer based systems are essentially based on the cooperation of distributed, heterogeneous component organized into open software architectures that, moreover, can survive in loosely-coupled environments and be easily adapted to changing application requirements. Such is the case, for example, of applications designed to take advantage of the increased computational power provided by massively parallel systems or of the whole business of Internet-based software development. In order to develop such systems in a systematic way, the focus in development method has switched, along the last decade, from functional to structural issues: both data and processes are encapsulated into software units which are connected into large systems resorting, to a number of techniques intended to support reusability and modifiability. Actually, the complexity and ubiquity achieved by software in present times makes it imperative, more than ever, the availability of both technologies and sound methods to drive its development. Programming ‘in–the–large’, component–based programming and software architecture become popular expressions which embody this sort of concerns and correspond to driving forces in current software engineering. In such a context this thesis aims at introducing formal models for software connectors as well as the corresponding notions of equivalence and refinement upon which calculation principles for reasoning and transforming connector-based software architectures can be developed. This research adopts an exogenous coordination point of view in order to deal with components’ temporal and spatial decoupling and, therefore, to provide support for looser levels of inter-component dependency. The thesis also characterises a notion of behavioural interface for components and services. Interfaces and connectors are put together to form configurations, an abstraction for representing software architectures. A prototype implementation of a subset of the proposed models is provided, in the form of a HASKELL library, as a proof of concept. Furthermore, the thesis reports on a case study in which exogenous coordination is applied to the specification of interactive systems.Um número crescente de sistemas computacionais é baseado na cooperação de componentes interdependentes e heterogêneas, organizadas em arquiteturas abertas capazes de sobreviverem em ambientes altamente distribuídos e facilmente adaptáveis a alterações nos requisitos das aplicações que os suportam. Tal é o caso, por exemplo, de aplicações que exploram o poder computacional de sistemas massivamente paralelos ou de sistemas desenvolvidos sobre a Internet. Para desenvolver este tipo de sistemas de forma sistemática, o foco nos métodos de desenvolvimento alterou-se, ao longo da última década, dos aspectos funcionais para os aspectos estruturais dos sistemas: ambos, estruturas de dados e processos são encapsulados em unidades computacionais que são conectadas em grandes sistemas utilizando-se de diversas técnicas que se pretendem capazes de suportar a reutilização e a adaptabilidade do software. Na realidade, a complexidade e ubiqüidade atingidas pelo software nos dias correntes tornam imperativo, mais do que nunca, a disponibilidade de tecnologias e sólidos métodos para conduzir este processo de desenvolvimento. Programação ’em-grande-escala’, programação baseada em componentes e arquiteturas de software são expressões populares que englobam esta preocupação e correspondem aos esforços direcionados pela engenharia de software. Em tal contexto, esta tese tem por objetivo introduzir modelos formais para conectores de software bem como as correspondentes noções de equivalência e refinamento que suportem cálculos para raciocinar e transformar arquiteturas de software baseada em conectores. Esta pesquisa adota um ponto de vista de coordenação exógena para lidar com a separação espacial e temporal das componentes e suportar níveis elevados de independência entre componentes. A tese caracteriza, ainda, uma noção de interface comportamental para componentes e serviços. Interfaces e conectores agregam-se para formar configurações, uma abstração introduzida para representar arquiteturas de software. A implementação, em protótipo, de parte dos modelos propostos, sob a forma de uma biblioteca em HASKELL, é fornecida como prova de conceito. Finalmente, a tese percorre um estudo de caso em que coordenação exôgena é utilizada na especificação de sistemas interactivos.Fundação para a Ciência e a Tecnologia (FCT), SFRH/BD/11083/200

    Consistency of Heterogeneously Typed Behavioural Models: A Coalgebraic Approach

    Get PDF
    Under embargo until: 2023-07-03Systematic and formally underpinned consistency checking of heterogeneously typed interdependent behavioural models requires a common metamodel, into which the involved models can be translated. And, if additional system properties are imposed on the behavioural models by modal logic formulae, the question arises, whether these formulae are faithfully translated, as well. In this paper, we propose a formal methodology based on natural transformations between coalgebraic specifications, which enables state-space preserving translations into a category of homogeneously typed systems, and we determine mild assumptions for the transformations to guarantee preservation and reflection of truth of translated formulae.acceptedVersio
    • …
    corecore