Research projects

Below is a list of research projects in reverse chronological order, grouped by countries, with my role and the sources of funding in brackets. The results are described in papers and patents. In some projects, we developed proof-of-concept software.

In Poland

  1. Scalable in-memory data store systems based on mixed-consistency data types and replication algorithms for efficient and anomaly-free data management in the emerging NVM-based computer architectures (Principal Investigator, funded by Foundation for Polish Science - FNP). Home page: <https://www.cs.put.poznan.pl/persistentdatastore/>

  2. Novel methods and coherence algorithms for transactional datastores (Principal Investigator, funded by Foundation for Polish Science - FNP)

  3. Eventually consistent replication: Algorithms and methods (Principal Investigator, funded by Polish National Science Centre - NCN)

  4. Concurrency control and fault-tolerance for distributed transactional memory (Principal Investigator, funded by Polish National Science Centre - NCN)

  5. Development, design and implementation of methods, algorithms, and tools for transactional replication in distributed transactional memory (Supervisor, this was my PhD student’s grant, funded by Polish National Science Centre - NCN)

  6. Behavioural Types for Reliable Large-Scale Software Systems (Management Committee member, ICT European Cooperation in Science and Technology (COST) Action IC1201)

  7. Transactional Memories: Foundations, Algorithms, Tools, and Applications (Management Committee member, ICT European Cooperation in Science and Technology (COST) Action IC1001)

  8. Novel information technologies for public sector based on the Service-Oriented Architecture (SOA) paradigm (Co-Principal Investigator of part at PUT, funded by Polish Ministry of Science and Higher Education)

  9. Effective service state replication and recovery in distributed mobile systems (Co-Investigator, funded by Polish National Research Council - KBN)

  10. Integration of information systems for public administration (Co-Investigator, funded by Polish National Research Council - KBN)

  11. Algorithms for distributed systems management (Co-Investigator, funded by Polish National Research Council - KBN)

In Switzerland

  1. Semantics-guided design and implementation of group communication middleware (Co-Investigator with prof. André Schiper and prof. Uwe Nestmann, funded by Swiss National Science Foundation - SNF)

  2. Semantics-guided design and implementation of group communication middleware (Co-Investigator with prof. Uwe Nestmann and prof. André Schiper, funded by Hasler-Stiftung Foundation)

  3. Semantics-guided design and implementation of group communication middleware (Co-Investigator with prof. André Schiper and prof. Uwe Nestmann, funded by EPFL)

In England

  1. Wide-area programming: Language, semantics and infrastructure design (Participant, with prof. Peter Sewell (Principal Investigator), prof. Robin Milner (Co-Investigator), and dr James Leifer, funded by Engineering and Physical Sciences Research Council - EPSRC)

  2. Calculi for interactive systems: Theory and experiment (Participant, with prof. Robin Milner (Principal Investigator), prof. Philippa Gardner (Co-Investigator), and prof. Peter Sewell, funded by Engineering and Physical Sciences Research Council - EPSRC)

Software

Below are proof-of-concept software developed within some of the above projects and my PhD project (the last one):

Jiffy

A very fast index based on Skip-List supporting batch updates and range scans for NoSQL databases and data warehouses.

Creek

A speculation-based solution that combines atomic transactions and eventually consistent operations without restrictions that occur in commercial NoSQL databases.

JPaxos

A variant of Paxos-based state machine replication tool with efficient recovery of a crashed replica from other replicas.

mPaxos(SM)

Two variants of the above system, but with recovery from persistent memory (Intel® Optane™ Persistent Memory).

Atomic RMI

A library implementing distributed atomic transactions in Java, with pessimistic concurrency control.

nPict

A strongly typed programming language with mobile agents, with formal semantics based on the \(\pi\)-calculus.

Note

This page is under development.

This document was generated on Apr 18, 2024.