tools

Research tools and software

Tools and software developed with my students and collaborators, spanning requirements engineering, smart legal contracts, process modelling and mining, and research-data applications. Most are open source on GitHub — click a screenshot or title to visit its repository.

Symboleo — Specification and Generation of Smart Legal Contracts

SymboleoAC Web IDE screenshot
SymboleoAC Web IDE
Browser-based IDE to write, validate and compile SymboleoAC contracts.

A zero-install web IDE for the SymboleoAC language: live validation, code completion, one-click JavaScript smart-contract generation, and interactive domain and access-control diagrams.

React · TypeScript · Xtext
SymboleoAC Eclipse IDE screenshot
SymboleoAC Eclipse IDE
Eclipse/Xtext IDE for access-controlled Symboleo contracts.

An Xtext-based Eclipse IDE for specifying legal contracts in SymboleoAC, which extends Symboleo with access-control and event-driven concepts for cyber-physical smart contracts. Includes a headless command-line validator.

Java · Xtext · Eclipse
Symboleo2SC + SymboleoPC screenshot
Symboleo2SC + SymboleoPC
One specification, both smart-contract code and model-checking specs.

A combined Xtext/Eclipse tool that, from a single Symboleo specification, generates both executable JavaScript smart-contract code (Symboleo2SC) and SMV model-checking files (SymboleoPC).

Xtend · Xtext · Eclipse
SymboleoAC2SC Examples screenshot
SymboleoAC2SC Examples
Example smart contracts generated from SymboleoAC specifications.

A demonstration repository of the JavaScript smart contracts generated from SymboleoAC specifications, bundled with runnable test suites (e.g., MeatSale, VaccineProcurement).

JavaScript · Node.js

jUCMNav — User Requirements Notation

jUCMNav screenshot
jUCMNav
Eclipse editor and analyzer for the User Requirements Notation.

An Eclipse plug-in for creating, editing and analyzing URN models — combining Use Case Maps (scenarios) and the Goal-oriented Requirement Language (goals) — with semantic verification and import/export. jUCMNavPlus is a modernized build of the long-standing jUCMNav tool.

Java · Eclipse · EMF/GEF

Process Modelling and Mining

pm4py-ucm screenshot
pm4py-ucm
Use Case Map process mining for PM4Py.

An extension that adds Use Case Map (URN / ITU-T Z.151) support to PM4Py's process-mining workflows: discover, visualize and export UCM diagrams from event logs, with a Streamlit web interface and jUCMNav/XMI export.

Python · PM4Py · Streamlit
logprep4pm screenshot
logprep4pm
Event-log cleaning and preprocessing for process mining.

A Python library for scripting reusable event-log cleaning, filtering and preprocessing before process mining; a Python port of the R-based CPA-PM library, integrating with PM4Py.

Python · PM4Py
LLM4QBP screenshot
LLM4QBP
LLM pipeline extracting process models from clinical guidelines.

A pipeline that uses large language models to generate, map and evaluate BPMN process models from clinical guidelines, with activity mapping, BPMN similarity comparison and a Streamlit UI.

Python · LLMs · Streamlit

DASH — Decisions for Affordable/Social Housing

DASH screenshot
DASH
Data-informed decision support for affordable/social housing.

A prototype decision-support system that analyzes and visualizes affordable/social housing data through a SQL Server data warehouse and interactive Power BI dashboards, to support data-informed housing policy and planning.

Power BI · SQL Server

RIMS — Research Institute Management

RIMS — LIFE Research Members Portal screenshot
RIMS — LIFE Research Members Portal
Member and research-record management portal for a research institute.

RIMS (Research Institute Management System) is a web portal for the uOttawa LIFE Research Institute to manage member profiles and research records (events, grants, partnerships, products, supervisions), with role-based access and an integrated Power BI dashboard.

Next.js · TypeScript · Prisma · SQL Server