Projects
Below is an (incomplete) list of my projects (software and other) with short descriptions and links
Maude Query Language
Maude Query Language is a implementation in a rewriting system Maude of a multiset query and DML language based on term matching, together with a simple simulation framework. Its intended application of this software is specification of data-centric business processes and their analysis through simulation and reachability analysis.
Some additional information can be found here:
- B. Zieliński, “A Query Language Based on Term Matching and Rewriting”, Fundamenta Informaticae 169 (3), 237-274. DOI: 10.3233/FI-2019-1845.
@article{b-z19, title={A Query Language Based on Term Matching and Rewriting}, author={Zieli{\'n}ski, Bartosz}, journal={Fundamenta Informaticae}, volume={169}, number={3}, pages={237--274}, year={2019}, publisher={IOS Press}, doi={10.3233/FI-2019-1845} }
Nondeterministic Rewriting Query Language
NDRQL (Nondeterministic Rewriting Query Language) is a multiset query and update language executable in a term rewriting system. Its most remarkable feature, besides non-standard approach to quantification and introduction of fresh values, is non-determinism — a query result is not uniquely determined by the database. Arguably, this feature is very useful, e.g., in modelling user choices during simulation or reachability analysis of a data-centric business process — the intended application of NDQRL. Query evaluation is implemented by converting the query into a terminating term rewriting system and normalizing the initial term which encapsulates the current database. A normal form encapsulates a query result. One can prove that NDQRL can express any relational algebra query. The language is implemented in Maude.
Some additional details can be found in
- B. Zieliński. “A Non-Deterministic Multiset Query Language.” Fundamenta Informaticae 184.2 (2021): 141–180. DOI: 10.3233/FI-2021-2095
@article{bz2021, title={A Non-Deterministic Multiset Query Language}, author={Zieli{\'n}ski, Bartosz}, journal={Fundamenta Informaticae}, volume={184}, number={2}, pages={141--180}, year={2021}, publisher={IOS Press}, doi={10.3233/FI-2021-2095} }
Latopis Nowogrodzki Pierwszy
I made a specialized static site generator to create the website for exploration of Latopis Nowogrodzki Pierwszy (The Novgorod First Chronicle) (both the original and the new translation). More information in english about the project can be found here
Pattern Explorer
Complex event processing (CEP) systems discover in the incoming event stream occurrences of patterns of events (called complex events) which indicate threats, opportunities, or necessity of some action. Sufficiently complex patterns may become hard to understand, and even simple patterns may contain subtle errors with respect to their intended meaning.
Pattern Explorer tool helps to find errors in patterns. The tool compiles patterns (regular language-like) into a non-deterministic automata with variables. Compiled patterns can be matched with streams of events. More importantly, using extended narrowing the tool can generate effectively symbolic event sequences satisfying a pattern. Generated sequences can then be matched with another pattern to check if there are any unintended matching complex events. Of particular note is our efficient representation of skipped events in generated symbolic streams which avoids creation of spurious instances and reduces the search space. A user-friendly web interface provides access to most important functionalities.