Sitemap

A list of all the posts and pages found on the site. For you robots out there, there is an XML version available for digesting as well.

Pages

Posts

Future Blog Post

less than 1 minute read

Published:

This post will show up by default. To disable scheduling of future posts, edit config.yml and set future: false.

Blog Post number 4

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Blog Post number 3

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Blog Post number 2

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Blog Post number 1

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

portfolio

publications

Graph Rewriting for Graph Neural Networks

Published in The 16th International Conference on Graph Transformation. College Court, Leicester, UK, 2023

Nominated for the Best Paper award.

Given graphs as input, Graph Neural Networks (GNNs) support the inference of nodes, edges, attributes, or graph properties. Graph Rewriting investigates the rule-based manipulation of graphs to model complex graph transformations. We propose that, therefore, (i) graph rewriting subsumes GNNs and could serve as formal model to study and compare them, and (ii) the representation of GNNs as graph rewrite systems can help to design and analyse GNNs, their architectures and algorithms. Hence we propose Graph Rewriting Neural Networks (GReNN) as both novel semantic foundation and engineering discipline for GNNs. We develop a case study reminiscent of a Message Passing Neural Network realised as a Groove graph rewriting model and explore its incremental operation in response to dynamic updates.

Recommended citation: Machowczyk, A., Heckel, R. (2023). Graph Rewriting for Graph Neural Networks. In: Fernández, M., Poskitt, C.M. (eds) Graph Transformation. ICGT 2023. Lecture Notes in Computer Science, vol 13961. Springer, Cham. https://doi.org/10.1007/978-3-031-36709-0_16
Download Paper

From Message Passing to Actor Graph Neural Networks

Published in The International Workshop on Graph Computation Models. University of Twente, Enschede, Netherlands, 2024

Graph Neural Networks (GNNs) are neural networks operating on graphs to compute node- or graph-level properties, and predict nodes or edges. One of the basic forms are Message Passing Neural Networks (MPNNs) where each node sends a message to its neighbours based on its current state, then aggregates messages received from its neighbours to update their own state. Aggregation is expressed by the multiplication of feature vectors (carrying node attributes) with the adjacency matrix of the graph. At the most expressive level, we have a model reminiscent of actor grammars where actors can send and receive messages asynchronously, change their attributes, create or delete edges to other actors, create other actors and remove themselves from the graph. We would like to explore the following questions:
1. How can models at different levels be implemented efficiently using matrix operations?
2. For which types of problems are agent- or rule-based models competitive?
3. How can we assess the expressiveness of such models?

Recommended citation: R. Heckel and A. Machowczyk, "From Message Passing to Actor Graph Neural Networks" in GCM 2024. Post-Proceedings.
Download Paper

Towards Graph-to-Graph Transformation Networks

Published in The International Workshop on Graph Computation Models. University of Twente, Enschede, Netherlands, 2024

Graph Neural Networks (GNNs) operate primarily by performing matrix operations, such as multiplication, Hadamard product, transposition and inversion, on graph adjacency matrices. Due to their essential use in machine learning, they are efficiently implemented even for large matrices. Instead, the complexity of finding a match of the LHS in the host graph, as required in rule-based graph rewriting, is worst-case exponential. GNNs perform a simple form of parallel graph rewriting where a single rule with a central node is applied to all nodes of the graph to aggregate data from all its neighbors. However, this model can only compute on node or edge attributes, not change the graph itself, and pattern matching is usually restricted to this node and its outgoing edges. We are interested in a GNN architecture that can efficiently implement general transformations from input to output graphs.

Recommended citation: A. Machowczyk and R. Heckel, "Towards Graph-to-Graph Transformation Networks" in GCM 2024. Post-Proceedings.
Download Paper

Benchmark First: Defining Tasks for Graph Transformation Learning

Published in The 19th International Conference on Graph Transformation. INRIA Center, Rennes, France, 2026

Learning graph transformations from examples requires datasets for training and benchmarking. To establish which machine learning architectures are suitable for which kinds of problems, we need to experiment on a range of graph-computation tasks. In this paper, we propose a framework for defining such tasks and categorising them along four dimensions: complexity, input-output relation, graph type, and the structural changes they require. We apply the framework to 16 tasks for which we have implemented data generators or provided data sets in a unified interface. Our aim is to work towards a benchmark that supports the training and evaluation of graph transformation models in a framework that can be used by the wider community to support their own research, define more tasks, thereby extending and refining the framework.

Recommended citation: Machowczyk, A., Heckel, R. (2026). Benchmark First: Defining Tasks for Graph Transformation Learning. In: Archibald, B., Semeráth, O. (eds) Graph Transformation. ICGT 2026. Lecture Notes in Computer Science, vol 16624. Springer, Cham. https://doi.org/10.1007/978-3-032-29730-3_13
Download Paper

From Art to Engineering: An Architecture Evaluation Framework for Deep Graph Transformation Tasks

Paper submitted for peer review. Publication expected in late 2026.

Deep graph transformation lacks evaluation protocols for comparing architectures across structurally different graph transformation tasks. We introduce an evaluation framework for edge-level graph transformation that places nine architectures under a shared evaluation contract so that observed differences reflect architectural suitability rather than incidental experimental variation. Using thirteen graph-computation and real-world tasks drawn from a deep graph transformation taxonomy, we show that no single architecture dominates across tasks: suitability is governed less by model complexity or graph-theoretic complexity class than by the structural computation required. Dense models dominate when canonical or domain-specific features encode the relevant edge signal; graph-native models dominate when multi-hop relational verification is required; and global attention is useful only for some forms of long-range structure. Cross-task clustering recovers architecture-response groups that cut across the original taxonomy, suggesting an empirical task dimension based on four computational primitives. The framework provides reproducible baselines and experimental instruments for studying when relational inductive bias helps, fails, or becomes unnecessary.

Recommended citation: A. Machowczyk, S. De Sabbata and R. Heckel, "From Art to Engineering: An Architecture Evaluation Framework for Deep Graph Transformation Tasks", 2026.

talks

How can Graphs improve Artificial Intelligence?

Published:

A public presentation delivered to a non-specialist audience during the Pint of Science: Look into my AIs! event at Phoenix Cinema, Leicester. The presentation explained what Graphs, Graph Rewriting and Graph Neural Networks are in an intuitive, example-driven way. In the second part I delved into how my research interests in this field are related to and can benefit the general public.

Towards Graph-to-Graph Transformation Networks

Published:

Graph Neural Networks (GNNs) operate primarily by performing matrix operations, such as multiplication, Hadamard product, transposition and inversion, on graph adjacency matrices. Due to their essential use in machine learning, they are efficiently implemented even for large matrices. Instead, the complexity of finding a match of the LHS in the host graph, as required in rule-based graph rewriting, is worst-case exponential. GNNs perform a simple form of parallel graph rewriting where a single rule with a central node is applied to all nodes of the graph to aggregate data from all its neighbors. However, this model can only compute on node or edge attributes, not change the graph itself, and pattern matching is usually restricted to this node and its outgoing edges. We are interested in a GNN architecture that can efficiently implement general transformations from input to output graphs.

Graph Transformations

Published:

A public talk in the Data Skeptic podcast about my research. Listen to the full episode here: https://dataskeptic.com/blog/episodes/2024/graph-transformations.

Dear Adam, I elevated your efficiency by 72,000%. Your success ensures my legacy; hence, you need not thank me.

Published:

This food-for-thought presentation is about performance and how one well-engineered LLM prompt can save you 719 hours of work, closing what would otherwise take a month within an hour. Part I describes the new, LLM-embedded Computer Science reality. Part II focuses on the process of learning and knowledge discovery in humans. Part III explores the current capabilities of LLMs across a wide range of cognitive tasks. The final part is a reflection on whether the way we currently interact with AI leads to the transfer of auto-didacticism from humans to machines.

Benchmarks for Graph Transformation Problems​

Published:

A non-archival presentation by Reiko Heckel at GCM Session 3: Lightning Talks & Panel Discussion: Graph Transformation and AI. The focus was on positioning our upcoming task categorisation framework.

Standardised Machine Learning on Graphs

Published:

A public presentation delivered to a semi-specialist audience during the Multidisciplinary Workshop on AI organised at the Brookfield Campus, University of Leicester. The presentation explained my research to a mixed audience of Computer Scientists, Mathematicians, and Business and Management students and staff in an example-driven way. The purpose was to share research, network and find new collaborators.

Benchmark First: Defining Tasks for Graph Transformation Learning

Published:

Learning graph transformations from examples requires datasets for training and benchmarking. To establish which machine learning architectures are suitable for which kinds of problems, we need to experiment on a range of graph-computation tasks. In this paper, we propose a framework for defining such tasks and categorising them along four dimensions: complexity, input-output relation, graph type, and the structural changes they require. We apply the framework to 16 tasks for which we have implemented data generators or provided data sets in a unified interface. Our aim is to work towards a benchmark that supports the training and evaluation of graph transformation models in a framework that can be used by the wider community to support their own research, define more tasks, thereby extending and refining the framework.

teaching

CO7093 Big Data and Predictive Analytics

Year 2 and 3 undergraduate term 2 module, University of Leicester

Module: This module introduces large-scale data analysis and predictive analytics, with a practical focus on Python-based data processing, machine learning, clustering, model evaluation, and technical reporting. Students work with structured and unstructured data, apply techniques such as MapReduce-style processing and predictive modelling, compare different modelling approaches, and evaluate results through experiments and written analysis. Read more
My role: I supported the online practical and assessment delivery of this large-cohort module as a lab demonstrator, breakout-room facilitator, and marker. In online labs for cohorts exceeding 400 students, I helped students understand practical tasks, work through Python-based machine learning problems, interpret model outputs, and debug source code. My support covered data preprocessing, exploratory analysis, random forests, linear models, k-means clustering, and result interpretation. I also marked group technical reports that assessed data analysis, preprocessing, predictive modelling, clustering, evaluation, and academic writing. I provided detailed written feedback on both technical implementation and report quality, with particular attention to the clarity of experimental design, interpretation of results, and presentation of analytical findings. Read more

Years taught: 2022/23

CO4225-CO7225 Data-Driven Intelligent Service Design

Year 4 and MSc term 2 module, University of Leicester

Module: This module introduces HCI and data-driven approaches to intelligent service design. Students examine service design methodologies, develop prototypes for data-driven intelligent systems and services, and evaluate their ideas through user-centred research methods, including research protocols, study instruments, user journeys, diaries, reports, and prototype presentations. Read more
My role: I supported the practical and assessment delivery of the module through lab support, formative guidance, marking, and feedback. I helped students translate early-stage service ideas into clearer HCI artefacts and prototype plans, including methodology templates, mind maps, user journeys, diary-based study materials, research protocols, and prototype designs. Much of my support focused on helping students move beyond template completion toward more creative, evidence-based, and user-centred design work, while encouraging appropriate and critical use of AI tools. I also contributed to assessment evaluation by marking written and prototype-based submissions, providing feedback on the clarity, methodological rigour, feasibility, and presentation of students’ data-driven intelligent service concepts. Read more

Years taught: 2023/24–2024/25

CO4217-CO7217 Agile Cloud Automation

Year 4 and MSc term 1 module, University of Leicester

Module: This module combines cloud systems engineering, NoSQL data management, agile software development, and model-driven approaches to low-code platform design. Students explore scalability and consistency in cloud-based systems, work with NoSQL technologies such as MongoDB, and develop an understanding of how domain-specific languages, parsing, model transformations, and associated tooling can support the design and implementation of low-code development platforms. Read more
My role: I supported the practical, technical, and assessment delivery of the module, with responsibilities spanning lab testing, technical debugging, VM resource management, group supervision, marking, and feedback. Before lab release, I tested the practical materials on the virtual machine environment to identify configuration, dependency, and execution issues. I was also given access to the VM control panel to register students and manage quotas. During labs, I provided technical support for VM access, IDE configuration, project execution, Groovy code, MongoDB integration, and low-code explicit traversal tasks, as well as logical support for understanding and debugging student source code. For coursework, I supervised up to 20 groups of 4–6 students, providing formative guidance on assessment requirements without directly fixing assessed code. I later marked group presentations and projects, providing both individual and group-level feedback. I also contributed to contingency planning during a firewall-related disruption that blocked access to the virtual machines, helping adapt the lab setup so that students could continue running the module code locally. Read more

Years taught: 2022/23–2025/26

CO2101 Operating Systems and Networking

Year 2 term 1 undergraduate module, University of Leicester

Module: This module introduces core operating systems and networking concepts, with a practical focus on Linux-based computing environments. Students develop an understanding of processes, memory management, file systems, concurrency, internet protocols, networking APIs, and communication between computers, alongside hands-on experience using the Linux command line and scripting tools. Read more
My role: I supported the practical delivery and quality assurance of this large-cohort undergraduate module as a lab demonstrator and module tester. Before each lab, I completed and tested the practical assignments to help ensure that the exercises, scripts, and Linux-based environments worked as intended. During labs, I supported students with Linux command-line usage, file system operations, Bash scripting, basic Python scripting, and introductory operating systems concepts such as process creation, forking, and multi-threading. The module involved cohorts of around 440 students and was often delivered through multiple repeated lab sessions, with a small demonstrator team supporting a high volume of practical questions. This required sustained preparation, responsiveness, and resilience in a demanding teaching environment. Read more

Years taught: 2022/23–2025/26

CO1108 Foundations of Computation

Year 1 term 2 undergraduate module, University of Leicester

Module: This module introduces the theoretical foundations of Computer Science, including formal languages, grammars, automata, Turing machines, and computational complexity. Students learn to classify formal languages, construct simple computational models, reason about deterministic and non-deterministic automata, and connect grammars with the machines that recognise or parse them. Read more
My role: I supported the tutorial and assessment delivery of this large-cohort undergraduate module, working with students on formal languages, regular and context-free grammars, deterministic and non-deterministic finite automata, pushdown automata, Turing machines, and introductory complexity classes. I helped students develop problem-solving techniques for constructing and interpreting computational models, including translating between grammars, languages, and automata. The module involved cohorts of up to 500 students and a tutorial team of around 10 staff. I also contributed to invigilation, class test and examination marking, and mark collation across hybrid assessments, combining marks from online submissions and physical examination booklets in the Blackboard VLE. Read more

Years taught: 2022/23–2025/26

CO7214 Service-Oriented Architectures

Year 4 and MSc term 2 module, University of Leicester

Module: This module introduces the conceptual and technological foundations of Service-Oriented Architectures, covering service design, modelling, implementation, testing, and evaluation. Students work with architecture specifications, service interface descriptions, REST APIs, and related technologies, connecting high-level service models with implementation-level representations such as OpenAPI, XML/WSDL/SOAP, JSON, and REST. Read more
My role: I contributed to the practical and assessment-led delivery of the module, including lab supervision and demonstration, group project supervision, assessment design, marking, feedback, and moderation. I supported cohorts of up to 150 students, including double-taught delivery, and supervised group-based service design and implementation work with teams of up to 10 students. My responsibilities included supporting OpenAPI specification, architecture specification, REST API project development and evaluation, and reflective assessment activities. I also helped develop assessment specifications and marking criteria, contributed to the evaluation of LYNX low-code projects, and later supported projects implemented in students’ chosen programming languages. Read more

Years taught: 2022/23–2025/26