10 research outputs found
Processes and unfoldings: concurrent computations in adhesive categories
We generalise both the notion of non-sequential process and the unfolding construction (previously developed for concrete formalisms such as Petri nets and graph grammars) to the abstract setting of (single pushout) rewriting of objects in adhesive categories. The main results show that processes are in one-to-one correspondence with switch-equivalent classes of derivations, and that the unfolding construction can be characterised as a coreflection, i.e., the unfolding functor arises as the right adjoint to the embedding of the category of occurrence grammars into the category of grammars. As the unfolding represents potentially infinite computations, we need to work in adhesive categories with "well-behaved" colimits of omega-chains of monos. Compared to previous work on the unfolding of Petri nets and graph grammars, our results apply to a wider class of systems, which is due to the use of a refined notion of grammar morphism
A Category Theoretical Approach to the Concurrent Semantics of Rewriting: Adhesive Categories and Related Concepts
This thesis studies formal semantics for a family of rewriting formalisms that have arisen as category theoretical abstractions of the so-called algebraic approaches to graph rewriting. The latter in turn generalize and combine features of term rewriting and Petri nets. Two salient features of (the abstract versions of) graph rewriting are a suitable class of categories which captures the structure of the objects of rewriting, and a notion of independence or concurrency of rewriting steps – as in the theory of Petri nets.
Category theoretical abstractions of graph rewriting such as double pushout rewriting encapsulate the complex details of the structures that are to be rewritten by considering them as objects of a suitable abstract category, for example an adhesive one. The main difficulty of the development of appropriate categorical frameworks is the identification of the essential properties of the category of graphs which allow to develop the theory of graph rewriting in an abstract framework. The motivations for such an endeavor are twofold: to arrive at a succint description of the fundamental principles of rewriting systems in general, and to apply well-established verification and analysis techniques of the theory of Petri nets (and also term rewriting systems) to a wide range of distributed and concurrent systems in which states have a "graph-like" structure.
The contributions of this thesis thus can be considered as two sides of the same coin: on the one side, concepts and results for Petri nets (and graph grammars) are generalized to an abstract category theoretical setting; on the other side, suitable classes of "graph-like" categories which capture the essential properties of the category of graphs are identified. Two central results are the following: first, (concatenable) processes are faithful partial order representations of equivalence classes of system runs which only differ w.r.t. the rescheduling of causally independent events; second, the unfolding of a system is established as the canonical partial order representation of all possible events (following the work of Winskel). Weakly ω-adhesive categories are introduced as the theoretical foundation for the corresponding formal theorems about processes and unfoldings.
The main result states that an unfolding procedure for systems which are given as single pushout grammars in weakly ω-adhesive categories exists and can be characetrised as a right adjoint functor from a category of grammars to the subcategory of occurrence grammars. This result specializes to and improves upon existing results concerning the coreflective semantics of the unfolding of graph grammars and Petri nets (under an individual token interpretation). Moreover, the unfolding procedure is in principle usable as the starting point for static analysis techniques such as McMillan’s finite complete prefix method. Finally, the adequacy of weakly ω-adhesive categories as a categorical framework is argued for by providing a comparison with the notion of topos, which is a standard abstraction of the categories of sets (and graphs)
Foundations of Software Science and Computation Structures
This open access book constitutes the proceedings of the 22nd International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2019, which took place in Prague, Czech Republic, in April 2019, held as part of the European Joint Conference on Theory and Practice of Software, ETAPS 2019. The 29 papers presented in this volume were carefully reviewed and selected from 85 submissions. They deal with foundational research with a clear significance for software science
Unfolding of Double-Pushout Graph Grammars is a Coreflection
In a recent paper, mimicking Winskel’s construction for Petri nets, a concurrent semantics for (double-pushout) DPO graph grammars has been provided by showing that each graph grammar can be unfolded into an acyclic branching structure, that is itself a (nondeterministic occurrence) graph grammar describing all the possible computations of the original grammar.
This paper faces the problem of providing a closer correspondence with Winskel’s result by showing that the unfolding construction can be described as a coreflection between the category of graph grammars and the category of occurrence graph grammars. The result is shown to hold for a suitable subclass of graph grammars, called semi-weighted graph grammars. Unfortunately the coreflection does not extend to the whole category of graph grammars: some ideas for solving the problem are suggested
Unfolding of Double-Pushout Graph Grammars is a Coreflection
In a recent paper, mimicking Winskel\u2019s construction for Petri nets, a concurrent semantics for (double-pushout) DPO graph grammars has been provided by showing that each graph grammar can be unfolded into an acyclic branching structure, that is itself a (nondeterministic occurrence) graph grammar describing all the possible computations of the original grammar.
This paper faces the problem of providing a closer correspondence with Winskel\u2019s result by showing that the unfolding construction can be described as a coreflection between the category of graph grammars and the category of occurrence graph grammars. The result is shown to hold for a suitable subclass of graph grammars, called semi-weighted graph grammars. Unfortunately the coreflection does not extend to the whole category of graph grammars: some ideas for solving the problem are suggested
Unfolding of double-pushout graph grammars is a coreflection
In a recent paper, mimicking Winskel’s construction for Petri nets, a concurrent semantics for (double-pushout) DPO graph grammars has been provided by showing that each graph grammar can be unfolded into an acyclic branching structure, that is itself a (nondeterministic occurrence) graph grammar describing all the possible computations of the original grammar. This paper faces the problem of providing a closer correspondence with Winskel’s result by showing that the unfolding construction can be describe
Unfolding semantics of graph transformation
Several attempts have been made of extending to graph grammars the unfolding semantics originally developed by Winskel for (safe) Petri nets, but only partial results were obtained. In this paper we fully extend Winskel's approach to single-pushout grammars providing them with a categorical concurrent semantics expressed as a coreflection between the category of (semi-weighted) graph grammars and the category of prime algebraic domains, which factorises through the category of occurrence grammars and the category of asymmetric event structures. For general, possibly non semi-weighted single-pushout grammars, we define an analogous functorial concurrent semantics, which, however, is not characterised as an adjunction. Similar results can be obtained for double-pushout graph grammars, under the assumptions that nodes are never deleted
Unfolding Semantics of Graph Transformation
Several attempts have been made of extending to graph grammars the unfolding semantics originally developed by Winskel for (safe) Petri nets, but only partial results were obtained. In this paper, we fully extend Winskel's approach to single-pushout grammars providing them with a categorical concurrent semantics expressed as a coreflection between the category of (semi-weighted) graph grammars and the category of prime algebraic domains, which factorises through the category of occurrence grammars and the category of asymmetric event structures. For general, possibly nonsemi-weighted single-pushout grammars, we define an analogous functorial concurrent semantics, which, however, is not characterised as an adjunction. Similar results can be obtained for double-pushout graph grammars, under the assumptions that nodes are never deleted
Hybrid programs
The MAP-i Doctoral Programme in Informatics, of the Universities of Minho, Aveiro and PortoThis thesis studies hybrid systems, an emerging family of devices that combine in their
models digital computations and physical processes. They are very quickly becoming a
main concern in software engineering, which is explained by the need to develop software
products that closely interact with physical attributes of their environment e. g. velocity,
time, energy, temperature – typical examples range from micro-sensors and pacemakers,
to autonomous vehicles, transport infrastructures and district-wide electric grids. But
even if already widespread, these systems entail different combinations of programs with
physical processes, and this renders their development a challenging task, still largely
unmet by the current programming practices.
Our goal is to address this challenge at its core; we wish to isolate the basic interactions
between discrete computations and physical processes, and bring forth the programming
paradigm that naturally underlies them. In order to do so in a precise and clean way, we
resort to monad theory, a well established categorical framework for developing program
semantics systematically. We prove the existence of a monad that naturally encodes the
aforementioned interactions, and use it to develop and examine the foundations of the
paradigm alluded above, which we call hybrid programming: we show how to build, in a
methodical way, different programming languages that accommodate amplifiers, differential
equations, and discrete assignments – the basic ingredients of hybrid systems – we list
all program operations available in the paradigm, introduce if-then-else constructs, abort
operations, and different types of feedback.
Hybrid systems bring several important aspects of control theory into computer science.
One of them is the notion of stability, which refers to a system’s capacity of avoiding
significant changes in its output if small variations in its state or input occur. We introduce
a notion of stability to hybrid programming, explore it, and show how to analyse hybrid
programs with respect to it in a compositional manner.
We also introduce hybrid programs with internal memory and show that they form
the basis of a component-based software development discipline in hybrid programming.
We develop their coalgebraic theory, namely languages, notions of behaviour, and bisimulation.
In the process, we introduce new theoretical results on Coalgebra, including
improvements of well-known results and proofs on the existence of suitable notions of
behaviour for non-deterministic transition systems with infinite state spaces.Esta tese estuda sistemas híbridos, uma família emergente de dispositivos que envolvem
diferentes interações entre computações digitais e processos físicos. Estes sistemas estão
rapidamente a tornar-se elementos-chave da engenharia de software, o que é explicado
pela necessidade de desenvolver produtos que interagem com os atributos físicos do seu
ambiente e. g. velocidade, tempo, energia, e temperatura – exemplos típicos variam de
micro-sensores e pacemakers, a veículos autónomos, infra-estruturas de transporte, e redes
eléctricas distritais. Mas ainda que amplamente usados, estes sistemas são geralmente
desenvolvidos de forma pouco sistemática nas prácticas de programação atuais.
O objetivo deste trabalho é isolar as interações básicas entre computações digitais e
processos físicos, e subsequentemente desenvolver o paradigma de programação subjacente.
Para fazer isto de forma precisa, a nossa base de trabalho irá ser a teoria das
mónadas, uma estrutura categórica para o desenvolvimento sistemático de semânticas
na programação. A partir desta base, provamos a existência de uma mónada que capta
as interações acima mencionadas, e usamo-la para desenvolver e examinar os fundamentos
do paradigma de programação correspondente a que chamamos programação híbrida:
mostramos como construir, de maneira metódica, diferentes linguagens de programação
que acomodam amplificadores, equações diferenciais, e atribuições - os ingredientes básicos
dos sistemas híbridos - caracterizamos todas as operações sobre programas disponíveis,
introduzimos construções if-then-else, operações para lidar com excepções, e diferentes
tipos de feedback.
Os sistemas híbridos trazem vários aspectos da teoria de controlo para a ciência da
computação. Um destes é a noção de estabilidade, que se refere à capacidade de um
sistema de evitar mudanças drásticas no seu output se pequenas variações no seu estado ou
input ocorrerem. Neste trabalho, desenvolvemos uma noção composicional de estabilidade
para a programação híbrida. Introduzimos também programas híbridos com memória
interna, que formam a base de uma disciplina de desenvolvimento de software baseado em
componentes. Desenvolvemos a sua teoria coalgébrica, nomeadamente linguagens, noções
de comportamento e bisimulação. Neste processo, introduzimos também novos resultados
teóricos sobre Coalgebra, incluindo melhorias a resultados conhecidos e provas acerca da
existência de noções de comportamento para sistemas de transição não determinísiticos
com espaço de estados infinitos.The present work was financed by FCT – Fundação para a Ciência e a Tecnologia –
with the grant SFRH/BD/52234/2013. Additional support was provided by the PTFLAD
Chair on Smart Cities & Smart Governance and by project Dalí (POCI-01-0145-FEDER-016692), the latter funder by ERDF – European Regional Development Fund – through COMPETE 2020 – Operational Programme for Competitiveness and Internationalisation – together with FCT