About
78
Publications
2,975
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
294
Citations
Introduction
I am an associate professor (pol. profesor uczelni) in the Faculty of Mathematics and Computer Science at the Nicolaus Copernicus University (Toruń, Poland), an associate professor in Faculty of Engineering at McMaster University (Hamilton, Canada) and a Visiting Researcher at the Newcastle University (Newcastle, United Kingdom). My main research interest is concurrency theory, including Petri nets and trace theory.
Current institution
Additional affiliations
August 2019 - March 2020
Education
October 2006 - July 2011
Nicolaus Copernicus University (in coperation with University of Warsaw)
Field of study
- computer science
October 2001 - July 2006
October 2001 - September 2007
Publications
Publications (78)
Non-interleaving semantics of concurrent systems is often expressed using posets, where causally related events are ordered and concurrent events are unordered. Each causal poset describes a unique concurrent history, i.e., a set of executions, expressed as sequences or step sequences, that are consistent with it. Moreover, a poset captures all pre...
Traces and their extension called combined traces (comtraces) are two formal
models used in the analysis and verification of concurrent systems. Both models
are based on concepts originating in the theory of formal languages, and they
are able to capture the notions of causality and simultaneity of atomic actions
which take place during the process...
The notion of persistency, based on the rule “no action can disable another one” is one of the classical notions in concurrency theory. In this paper, we deal with arbitrary place/transition nets, but concentrate on their persistent computations. It leads to an interesting decision problem: Is a given marking reachable with a persistent run? In ord...
Modeling the interaction between components is crucial for many applications and serves as a fundamental step in analyzing and verifying properties in multi-agent systems. In this paper, we propose a method based on 1-safe Petri nets to model Asynchronous Multi-Agent Systems (AMAS), starting from two semantics defined on AMAS represented as transit...
Reaction systems are a formal model for computational processing in which reactions operate on sets of entities (molecules) providing a framework for dealing with qualitative aspects of biochemical systems. This paper is concerned with reaction systems in which entities can have discrete concentrations, and so reactions operate on multisets rather...
In the development of operational semantics of concurrent systems, a key decision concerns the adoption of a suitable notion of execution model, which basically amounts to choosing a class of partial orders according to which events are arranged along the execution line. Typical kinds of such partial orders are the total, stratified and interval or...
In every matured theory, there is a need to investigate possible relationships between considered objects. To address this issue, it is natural to relate a category with given model of computing. Thanks to such approach, many properties are unified and simplified. In this paper, we investigate how category theory can be used to give a faithful sema...
Reaction systems are a formal model for computational processing in which reactions operate on sets of entities (molecules) providing a framework for dealing with qualitative aspects of biochemical systems. This paper is concerned withr eaction systems in which entities can have discrete concentrations, and so reactions operate on multisets rather...
In every matured theory, there is a need to investigate possible relationships between considered objects. To address this issue, it is natural to relate a category with given model of computing. Thanks to such approach, many properties are unified and simplified. In this paper, we investigate how category theory can be used to give a faithful sema...
Interval traces can model sophisticated behaviours of concurrent systems under the assumptions that all observations/system runs are represented by interval orders and simultaneity is not necessarily transitive. What they cannot model is the case when a and b are considered independent, interleavings ab and ba are deemed equivalent, but simultaneou...
Model checking of strategic abilities is a notoriously hard problem, even more so in the realistic case of agents with imperfect information. Assume-guarantee reasoning can be of great help here, providing a way to decompose the complex problem into a small set of exponentially easier subproblems. In this paper, we propose two schemes for assume-gu...
We present a substantially expanded version of the open source tool STV for strategy synthesis and verification of strategic abilities. The new version provides a web interface and support for assume-guarantee verification of multi-agent systems.
Reversing Petri nets (RPNs) have recently proposed as a Petri-net inspired formalism that supports the modelling of causal and out-of-causal order reversibility. In previous works we proposed a structural way of translating a specific subclass of RPNs into bounded coloured Petri nets (CPNs). In this paper we extend these results by removing the res...
We present a substantially expanded version of our tool STV for strategy synthesis and verification of strategic abilities. The new version provides a web interface and support for assume-guarantee verification of multi-agent systems.
In reversible computations one is interested in the development of mechanisms allowing to undo the effects of executed actions. The past research has been concerned mainly with reversing single actions. In this paper, we consider the problem of reversing the effect of the execution of groups of actions (steps). Using Petri nets as a system model, w...
Step traces are an extension of concurrency traces where each equivalence class (step trace) consists of sequences of steps rather than sequences of actions. Relationships between individual actions are defined statically as the parameters of step alphabets. Allowing only some of the possible relationships between actions leads in a natural way to...
This chapter serves as the main reference for subsequent reading, presenting a number of standard concepts, notations, and formal definitions. In addition, it introduces several more specific notions and associated results used throughout the book.
Relational structures based on acyclic orders can successfully model a fundamental class of concurrent system behaviours. We have exemplified this by considering concurrency traces and en-systems. However, there are important cases, such as en-systems with activator arcs, where more general relational structures are needed. In this chapter, we pres...
In this chapter, we discuss the idea of ‘paradigms’ of concurrency and the pivotal role of histories as abstract representations of behaviours of concurrent systems. A history groups together observations of concurrent behaviour which only differ in inessential details, and can therefore be regarded as being underpinned by the same concurrent run....
The original model of Petri nets over the years has been extended in several directions, often by adding new types of connections (arcs) between places and transitions, e.g., inhibitor and activator arcs. In this chapter, we will extend the model of en-systems by adding activator and mutex arcs, aiming to retain as much as possible of the notations...
In this chapter, we first present a generalisation of the original trace approach to a framework based on step sequences, where static relationships between actions are captured by relations more involved than independence. We aim at retaining the original philosophy underlying concurrency traces and the resulting framework will be based on just a...
This chapter presents two ways of associating causality semantics with en-systems. To start with, concurrency traces can be applied in a direct way to en-systems and their executions captured by firing sequences. The resulting semantical model is based on actions even though Petri nets contain also local state information which is equally significa...
At the very centre of the approach followed in this book is the perception that the behavioural semantics of a concurrent system can be represented using two different kinds of domains — abstract domains based solely on actions and relational domains based on action occurrences (events) — with each kind of domain having distinct advantages and disa...
This chapter presents the basics of the theory of concurrency traces which are elements of equational partially commutative monoids of sequences. The theory of trace monoids has been developed and applied within diverse areas, such as combinatorics and, in particular, concurrency theory. Its origins are rooted in the theory of formal languages with...
In reversible computations one is interested in the development of mechanisms allowing to undo the effects of executed actions. The past research has been concerned mainly with reversing single actions. In this paper, we consider the problem of reversing the effect of the execution of groups of actions (steps). Using Petri nets as a system model, w...
Traces and their extensions as comtraces, step traces and interval traces are quotient monoids over sequences or step sequences that play an important role in the formal analysis and verification of concurrent systems. Step traces are generalizations of comtraces and classical traces while interval traces are specialized traces that can deal with i...
Relational structures based on acyclic relations can successfully model fundamental aspects of concurrent systems behaviour. Examples include Elementary Net systems and Mazurkiewicz traces. There are however cases where more general relational structures are needed. In this paper, we present a general model of relational structures which can be use...
Traces and their extensions as comtraces, step traces and interval traces are quotient monoids over sequences or step sequences that play an important role in the formal analysis and verification of concurrent systems. Step traces are generalizations of comtraces and classical traces while interval traces are specialized traces that can deal with i...
Reversible computation allows computation to proceed not only in the standard, forward direction, but also backward, recovering past states. While reversible computation has attracted interest for its multiple applications, covering areas as different as low-power computing, simulation, robotics and debugging, such applications need to be supported...
Sets of finite words, as well as some infinite ones, can be described using finite systems, e.g. automata. On the other hand, some automata may be constructed with the use of even more compact systems, like Petri nets. We call such automata Petri net solvable. In this paper we consider the solvability of singleton languages over a binary alphabet (...
In reversible computations one is interested in the development of mechanisms allowing to undo the effects of executed actions. The past research has been concerned mainly with reversing single actions. In this paper, we consider the problem of reversing the effect of the execution of groups of actions (steps).Using Petri nets as a system model, we...
In Petri nets, computation is performed by executing transitions. An effect-reverse of a given transition b is a transition that, when executed, undoes the effect of b. A transition b is reversible if it is possible to add enough effect-reverses of b so to always being able to undo its effect, without changing the set of reachable markings.This pap...
In modern systems CPUs as well as GPUs are equipped with multi-level memory architectures, where different levels of the hierarchy vary in latency and capacity. Therefore, various memory access models were studied. Such a model can be seen as an interface abstracting the user from the physical architecture details. In this paper we present a genera...
Step traces are an extension of Mazurkiewicz traces where each equivalence class (trace) consists of sequences of steps instead of sequences of atomic actions. Relations between the actions of the system are defined statically, as parameters of a concurrent step alphabet. By allowing only some of the possible relationships between actions, subclass...
Reversible computation deals with mechanisms for undoing the effects of actions executed by a dynamic system. This paper is concerned with reversibility in the context of Petri nets which are a general formal model of concurrent systems. A key construction we investigate amounts to adding 'reverse' versions of selected net transitions. Such a stati...
Petri nets are a general formal model of concurrent systems which supports both action-based and state-based modelling and reasoning. One of important behavioural properties investigated in the context of Petri nets has been reversibility, understood as the possibility of returning to the initial marking from any reachable net marking. Thus reversi...
A step trace is an equivalence class of step sequences, where the equivalence is determined by dependencies between pairs of actions expressed as potential simultaneity and sequentialisability. Step traces can be represented by invariant structures with two relations: mutual exclusion and (possibly cyclic) weak causality. An important issue concern...
A step alphabet describes dependencies between the actions
of a concurrent system in the form of two relations expressing potential
simultaneity and sequentialisability. These form the basis for the identi-
fication of step sequences as observations of the same run of the system.
The resulting equivalence classes – step traces – can be represented...
In the study of behaviours of concurrent systems, traces are sets of behaviourally equivalent action sequences. Traces can be represented by causal partial orders. Step traces, on the other hand, are sets of behaviourally equivalent step sequences, each step being a set of simultaneous actions. Step traces can be represented by relational structure...
The design and analysis of concurrent computing systems is often concerned with fundamental behavioural properties involving system activities, e.g., boundedness, liveness, and persistence. This paper is about the latter property and a complementary property of nonviolence. Persistence means that an enabled activity cannot be disabled, whereas nonv...
A word is called Petri net solvable if it is isomorphic to the reachability graph of an unlabelled Petri net. In this paper, the class of finite, two-letter, Petri net solvable, words is studied. Two conjectures providing different characterisations of this class of words are motivated and proposed. One conjecture characterises the class in terms o...
Petri nets are a general formal model of concurrent systems which supports both action-based and state-based modelling and reasoning. One of important behavioural properties investigated in the context of Petri nets has been reversibility, understood as the possibility of returning to the initial marking from any reachable net marking. Thus reversi...
Persistence is a widely investigated fundamental property of concurrent systems, which was extended in many ways. We propose a unified characterisation of several notions considered in the literature. The main result of the paper is a detailed description of a general and extendable framework that allows to state decision problems for different per...
Non-interleaving semantics of concurrent systems is often expressed using posets, where causally related events are ordered and concurrent events are unordered. Each causal poset describes a unique concurrent history, i.e. a set of executions, expressed as sequences or step sequences, that are consistent with it. Moreover, a poset captures all prec...
A finite word is called Petri net solvable if it is isomorphic to the reachability graph of some unlabelled Petri net. In this paper, the class of two-letter Petri net solvable words is studied.
In the classical Mazurkiewicz trace approach the behaviour of a concurrent system is described in terms of sequential observations that differ only with respect to their ordering of independent actions. This paper investigates an extension of the trace model to the case that actions can be observed as occurring simultaneously. Thus observations are...
There exist many constructions of infinite words over three-letter alphabet avoiding squares. However, the characterization of the lexicographically minimal square-free word is an open problem. Efficient construction of this word is not known. We show that the situation changes when some letters commute with each other. We give two characterization...
Traces are equivalence classes of action sequences which can be represented by partial orders capturing the causality in the behaviour of a concurrent system. Generalised traces, on the other hand, are equivalence classes of step sequences. They are represented by order structures that can describe non-simultaneity and weak causality, phenomena whi...
A concurrent system is persistent if throughout its operation no activity which became enabled can subsequently be prevented from being executed by any other activity. This is often a highly desirable (or even necessary) property; in particular, if the system is to be implemented in hardware. Over the past 40 years, persistence has been investigate...
This paper deals with an intermediate phase of resolving Web Service Composition Problem (WSCP) provided by Planics. The abstract planner discovers a set of abstract plans for a WSCP instance. The proposed algorithm utilizes the combinatorial structure of this set and, abstracting from object attributes, browses the space of all potential solutions...
To represent concurrent behaviours one can use concepts originating from language theory, including traces and comtraces. Traces can express notions such as concurrency and causality, whereas comtraces can also capture weak causality and simultaneity. This paper is concerned with the development of efficient data structures and algorithms for manip...
It is natural to relate partially ordered sets (posets in short) and classes of equivalent words over partially commutative alphabets. Their common graphical representation are Hasse diagrams. We investigate this relation in detail and propose an efficient online algorithm that decompresses a concurrent word to its Hasse diagram. The lexicographica...
Mazurkiewicz traces are a widely used model for describing the languages of concurrent systems computations. The causal structure of atomic actions occurring in a process modeled as a trace generates a partial order. Hasse diagrams of such order are very common structures used for presentation and nvestigation in the concurrency theory, especially...
Combined traces are intrinsic mathematical model for studying concurrent systems behaviors. They can be used to describe and investigate processes of elementary net systems with inhibitor arcs and allow to describe weak causality and simultaneity of actions. We provide several algorithms for manipulating combined traces using their language theoret...
Computer science education is composed of two main approaches. One is to get students familiar with information technology where students learn how to use modern applications for information processing. Second approach is teaching students how to solve problems with the help of computers. This is always related with programming skills and abstract...
Combined traces are intrinsic mathematical model for studying concurrent systems behaviors. They can be used to describe and investigate processes of elementary net systems with inhibitor arcs and allow to describe weak causality and simultaneity of actions. We provide several algorithms for manipulating combined traces using their language theoret...
A concurrent system is persistent if throughout its operation no activity which become enabled can subsequently be prevented from being executed by any other activity. This is often a highly desir-
able (or even absolutely necessary) property, in particular, if the system is to be implemented in hardware. Over the past 40 years, persistence has be...
Traces – and their extension called combined traces (comtraces) – are two formal models used in the analysis and verification of concurrent systems. Both models are based on concepts originating in the theory of formal languages, and they are able to capture the notions of causality and simultaneity of atomic actions which take place during the pro...
One of the standard ways to represent concurrent behaviours is to use concepts originating from language theory, such as traces and comtraces. Traces can express notions such as concurrency and causality, whereas comtraces can also capture weak causality and simultaneity. This paper is concerned with the development of efficient data structures and...
Aktywność użytkowników korzystających z zasobów portali internetowych zapisywana jest w plikach logów serwera WWW. W celu odkrycia i analizy wzorców zachowań takich użytkowników, dane z surowych plików loga należy poddać przetwarzaniu wstępnemu. W niniejszym artykule przeprowadzono badanie złożone z dwóch etapów.
W pierwszym z nich znajdowane są w...
Nonviolence Petri Nets are the classical Place/Transition Nets,
equipped with a restricted execution rule – only persistent executions are
permitted. Surprisingly, that class of nets is Turing-powerful. But the known
construction (of transforming inhibitor nets to nonviolence nets) uses weights
and selfloops. Moreover, the weights and selfloops...
It is natural to try to relate partially ordered sets (posets in short) and classes of equivalent words over partially commutative alphabets. Their common graphical representation are Hasse diagrams. We investigate this relation in detail and propose an efficient on-line algorithm that decompresses a string to Hasse diagram. The lexicographically m...
The contemporary computational biology gives motivation to study dependencies between finite sequences. Primary structures of DNA or proteins are represented by such sequences (also called words or strings). In the paper a linear algorithm, computing the distance between two words, is presented. The model operates with transpositions of single lett...
The notion of persistency, based on the rule “no action can disable
another one” is one of the classical notions in concurrency theory. In this paper,
we deal with arbitrary place/transition nets, but concentrate on their persistent
computations. It leads to an interesting decision problem: Is a given marking
reachable with a persistent run? In...
Projections into free monoids are one of possible ways of describing finite traces. That approach is used to expand them to
infinite traces, which are defined as members of a proper subfamily of cartesian product of mentioned free monoids, completed
with least upper bounds in the Scott’s sense. Elements of the cartesian product are called projectio...
The popularity of the Internet results from the almost unlimited resources of information stored in it. At the same time, Internet portals have become a widespread source of information and note very large number of visits. The list of web pages opened by users is stored in web servers’ log files. Extraction of knowledge on the navigation paths of...
Computer science would not exist without the concept of algorithm. Therefore design of algorithms plays an important role in education while implementation is usually considered to be straightforward. Increasing variety of programming languages, wealth of possible constructions, programming environments and tools makes programming difficult for the...
Dynamic development of parallel computers makes them standard tool for large simulations. The technology achievements are
not followed by the progress in scalable code design. The molecular dynamics is a good example. In this paper we present novel
approach to the molecular dynamics which is based on the new asynchronous parallel algorithm inspired...
The behavior of infinite traces is an interesting field for studies. Infinite traces can be described using projections to word monoids. Such projection representations can be generalized to projection sets. To complete simple descriptions, the binary operation from projection sets to traces has been defined. After such preparations some properties...