Reiko Heckel

Reiko Heckel
  • Professor at University of Leicester

About

361
Publications
127,440
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
7,297
Citations
Current institution
University of Leicester
Current position
  • Professor
Additional affiliations
November 2004 - August 2016
University of Leicester
Position
  • Professor (Full)

Publications

Publications (361)
Chapter
We introduce stochastic decision Petri nets (SDPNs), which are a form of stochastic Petri nets equipped with rewards and a control mechanism via the deactivation of controllable transitions. Such nets can be translated into Markov decision processes (MDPs), potentially leading to a combinatorial explosion in the number of states due to concurrency....
Preprint
Full-text available
We introduce stochastic decision Petri nets (SDPNs), which are a form of stochastic Petri nets equipped with rewards and a control mechanism via the deactivation of controllable transitions. Such nets can be translated into Markov decision processes (MDPs), potentially leading to a combinatorial explosion in the number of states due to concurrency....
Preprint
Adaptive networks model social, physical, technical, or biological systems as attributed graphs evolving at the level of both their topology and data. They are naturally described by graph transformation, but the majority of authors take an approach inspired by the physical sciences, combining an informal description of the operations with programm...
Article
Adaptive networks model social, physical, technical, or biological systems as attributed graphs evolving at the level of both their topology and data. They are naturally described by graph transformation, but the majority of authors take an approach inspired by the physical sciences, combining an informal description of the operations with programm...
Chapter
Full-text available
Users have the right to know how their software works, what data it collects about them and how this data is used. This is a legal requirement under General Data Protection Regulation (GDPR) and fosters users’ trust in the system. Transparency, when used correctly, is a tool to achieve this. The adoption of agile approaches, focused on coding and r...
Article
Full-text available
Transparency is key to enhancing users’ trust by enabling their judgment on the outcomes and consequences of a system’s operations. This paper presents the transparency engineering methodology (TEM) to generate transparency requirements that enable users’ trust judgement. The idea is to identify where transparency is lacking and to address this thr...
Article
Full-text available
Graph transformation theory relies upon the composition of rules to express the effects of sequences of rules. In practice, graphs are often subject to constraints, ruling out many candidates for composed rules. Focusing on the case of sesqui-pushout (SqPO) semantics, we develop a number of alternative strategies for computing compositions, each th...
Preprint
Full-text available
In modelling complex systems with graph grammars (GGs), it is convenient to restrict the application of rules using attribute constraints and negative application conditions (NACs). However, having both attributes and NACs in GGs renders the behavioural analysis (e.g. unfolding) of such systems more complicated. We address this issue by an approach...
Preprint
Full-text available
This paper exploits extended Bayesian networks for uncertainty reasoning on Petri nets, where firing of transitions is probabilistic. In particular, Bayesian networks are used as symbolic representations of probability distributions, modelling the observer's knowledge about the tokens in the net. The observer can study the net by monitoring success...
Chapter
Attributed graph grammars can specify the transformation of complex data and object structures within a natural rule-based model of concurrency. This is crucial to their use in modelling interfaces of services and components as well as the evolution of complex systems and networks. However, the established concurrent semantics of graph grammars by...
Chapter
We have defined a graph transformation step as the application of a rule, defined over a type graph and a rule signature, to a given instance graph and producing a derived graph in a single, atomic action. In software modelling, individual actions are often combined into processes describing, for example, a business transaction or the implementatio...
Chapter
Graphs are used to model entities and their relations in domains as diverse as chemistry, biology, physics, the social sciences, linguistics and, in particular, computer science. For example, communication networks, data structures, control and data flows of computations are represented by graphs. In software engineering, graphs are used as notatio...
Chapter
The high-level structure of a software system is referred to as its software architecture. Apart from the functionality to be supported, its design is determined by non-functional requirements, such as platform and location independence, scalability, and reliability. In this chapter, we want to consider a method that uses graph transformation for p...
Chapter
n model-based software development, models are primary artefacts that represent many aspects of a software system. In software evolution in particular, models are used to provide an overview of the current version of the software, to redesign it and to generate code from the redesigned model. Evolution may be driven by changes in the environment, n...
Chapter
One motivation for software models is the ability to analyse them, for example to validate requirements and verify the consistency of models with each other or with respect to an implementation. Since we want to use graph transformation systems as software engineering models, we have to provide analysis techniques to answer questions about these sy...
Chapter
Requirements engineering is the process of gathering, structuring, analysing and validating requirements for a software system. The result is a requirements specification that provides the basis for design decisions. Therefore, the detection of requirement errors later in the development process can cause expensive iterations through all phases, em...
Chapter
Models are used in software development as abstract representations of systems, to focus on specific aspects, sketch new developments or create a highlevel view of an existing system. In Chapter 5, for example, class diagrams and refined activity models were used to capture functional requirements. Supporting different problem domains and implement...
Chapter
When working on an existing software system, we face the challenge of developing a high-level understanding of its implementation. This is necessary for both finding and correcting errors, and for adding or revising features or improving the architecture through refactoring. This is especially difficult in large systems that have undergone many cha...
Chapter
Software testing is the most important method for verifying the correctness of a system against its specification. This remains the case despite advances in formal verification methods such as model checking or theorem proving. Even if testing can not demonstrate the absence of errors, when carried out systematically it can increase our confidence...
Chapter
When software systems evolve, their model-level representations have to evolve with them to maintain consistency. A program change, for example, may induce a change to its control flow graph. The application of a design pattern may result in a change to the class structure of a software component. A new requirement may introduce a change to the ass...
Chapter
Service-oriented systems are developed by composing reusable services, often distributed and provided by external organisations. In addition, the familiar approach to building applications from reusable components is extended into runtime, raising the need to find and bind to required services automatically. At the business level, this means ensuri...
Chapter
In model-based software engineering, models are used to represent systems on a higher level of abstraction. They allow developers to abstract from implementation details, focussing on expressing solutions in terms of domain concepts. Model translations to one or more implementation platforms support a model-driven approach, allowing reuse across pl...
Preprint
Full-text available
In the semantics of stochastic rewriting systems (SRSs) based on rule algebras, the evolution equations for average expected pattern counts are computed via so-called commutators counting the distinct sequential compositions of rules and observable patterns regarded as identity rules. In this paper, we consider the commutators for conditional SRS i...
Book
This book is an introduction to graph transformation as a foundation to model-based software engineering at the level of both individual systems and domain-specific modelling languages. The first part of the book presents the fundamentals in a precise, yet largely informal way. Besides serving as prerequisite for describing the applications in the...
Article
Full-text available
The paper summarises the contributions in a session at GCM 2019 presenting and discussing the use of native and translation-based solutions to common analysis problems for Graph Transformation Systems (GTSs). In addition to a comparison of native and translation-based techniques in this area, we explore design choices for the latter, s.a. choice of...
Preprint
Full-text available
The paper summarises the contributions in a session at GCM 2019 presenting and discussing the use of native and translation-based solutions to common analysis problems for Graph Transformation Systems (GTSs). In addition to a comparison of native and translation-based techniques in this area, we explore design choices for the latter, s.a. choice of...
Conference Paper
Full-text available
Online social media platforms such as Twitter and Facebook offer a flexible and effective means of communication on a large scale leading to a vast amount of diverse datasets. This capability makes it possible to analyse large amounts of data virtually on any topic from online users. Organisations, media houses, politicians, artists, entertainers,...
Conference Paper
Full-text available
Twitter bots are automated user accounts widely used in political campaigns to promote opinions and attack opponents. In this paper, we study the behaviour of bots in the Brexit debates after the 2016 referendum, including on issues such as a second Brexit referendum and Scottish independence. Our findings, which are useful for understanding the ro...
Poster
This poster is a summary of an HDR UK funded Sprint project that is investigating the use of Privitar technology to link healthcare data from multiple sources using a secure encrypted linkage identifier that allows the data subject to remain anonymous. It further aims to elucidate a minimum data set that can be used for discovery, whilst ensuring d...
Chapter
The unfolding of a graph grammar provides a compact and comprehensive representation of its behaviour, serving both as a semantic model and as the basis for scalable analysis techniques. We study the extension of the theory of unfolding to grammars with negative application conditions (NACs), discuss the challenges with the general case of NACs con...
Article
Full-text available
The rise in the number of automated or bot accounts on Twitter engaging in manipulative behaviour is of great concern to studies using social media as a primary data source. Many strategies have been proposed and implemented, however, the sophistication and rate of deployment of bot accounts is increasing rapidly. This impedes and limits the capabi...
Article
Full-text available
Visual contracts model the operation of components or services by pre- and post-conditions formalised as graph transformation rules. They provide a precise intuitive notation to support testing, understanding and analysis of software. Their detailed specification of internal data states and transformations, referred to as deep behavioural modelling...
Conference Paper
Full-text available
Recent research has shown significant success in the detection of social bots. While there are tools to distinguish automated bots from regular user accounts, information about their strategies, biases and influence on their target audience remains harder to obtain. To uncover such details, e.g., to understand the role of bots in political campaign...
Preprint
Full-text available
The paper extends Bayesian networks (BNs) by a mechanism for dynamic changes to the probability distributions represented by BNs. One application scenario is the process of knowledge acquisition of an observer interacting with a system. In particular, the paper considers condition/event nets where the observer's knowledge about the current marking...
Chapter
Full-text available
Graph databases such as neo4j are designed to handle and integrate big data from heterogeneous sources. For flexibility and performance they do not ensure data quality through schemata but leave it to the application level. In this paper, we present a model-driven approach for data integration through graph databases with data sources in relational...
Book
This volume pays tribute to the scientific achievements of Hartmut Ehrig, who passed away in March 2016. The contributions represent a selection from a symposium, held in October 2016 at TU Berlin, commemorating Hartmut’ s life and work as well as other invited papers in the areas he was active in. These areas include Graph Transformation, Model Tr...
Preprint
Full-text available
The design of agent-based models (ABMs) is often ad-hoc when it comes to defining their scope. In order for the inclusion of features such as network structure, location, or dynamic change to be justified, their role in a model should be systematically analysed. We propose a mechanism to compare and assess the impact of such features. In particular...
Article
Full-text available
The design of agent-based models (ABMs) is often ad-hoc when it comes to defining their scope. In order for the inclusion of features such as network structure, location, or dynamic change to be justified, their role in a model should be systematically analysed. We propose a mechanism to compare and assess the impact of such features. In particular...
Conference Paper
Full-text available
Optimal support for continuous evolution in model-based software development requires tool environments to be customisable to domain-specific modelling languages. An important aspect is the set of change operations available to modify models. In-place model transformations are well-suited for that purpose. However, the specification of transformati...
Conference Paper
Full-text available
The Domain Name System (DNS) has a direct impact on the performance and dependability of nearly all aspects of interactions on the Internet. DNS relies on a delegation-based architecture, where resolution of a name to its IP address requires resolving the names of the servers responsible for that name. The graphs of the inter-dependencies that exis...
Article
Full-text available
Trust is the key concern that underpins social sustainability. In this paper we provide a brief overview of trust from a number of perspectives (from security to customer relationship management), and present our take on trust as an interaction-based phenomenon.
Conference Paper
Full-text available
Visual contracts model the operations of classes, components or services by pre- and post-conditions formalised as graph transformation rules. They provide a precise but intuitive notation to test, document and analyse software systems. However, due to their detailed level of specification of data states and transformations, modelling a real applic...
Conference Paper
The success of E-commerce applications and services depends on the outcomes of interactions between the provider of the products or services and its requestors. The flexibility of these agents to negotiate features of the products or services traded is an important characteristic of face to face business interactions, but is often missing in the on...
Conference Paper
Systems and models usually evolve with time, triggering the question of how the introduced modifications impact their original behavior. For rule-based models such as graph transformation systems, model evolution may be represented by means of a collection of structural modifications in individual transformation rules. In this work we introduce the...
Article
Full-text available
The Domain Name System (DNS) is one of the most important components of the Internet infrastructure. DNS relies on a delegation-based architecture, where resolution of names to their IP addresses requires resolving the names of the servers responsible for those names. The recursive structures of the inter dependencies that exist between name server...
Article
Full-text available
Higher-order functions – the ones which manipulate other functions – have a fundamental role in Computer Science, specially in areas such as functional programming and theory of computation. Graph transformation – the rule-based modification of graphs – is also an important approach used in many contexts, as for instance, the definition of syntax a...
Article
Full-text available
In model transformations, where source models are automatically translated into target models or code, termination is necessary for the transformation to be well defined. There are a number of specific termination criteria that can be used when specifying model transformations by graph transformation, though termination is undecidable in general. U...
Conference Paper
Using graph transformations to specify the dynamics of distributed systems and networks, we require a precise understanding of concurrency. Negative application conditions (NACs) are an essential means for controlling the application of rules, extending our ability to model complex systems. A classical notion of concurrency in graph transformation...
Conference Paper
Stochastic rule-based models of networks and biological systems are hard to construct and analyse. Refinements help to produce systems at the right level of abstraction, enable analysis techniques and mappings to other formalisms. Rigidity is a property of graphs introduced in Kappa to support stochastic refinement, allowing to preserve the number...
Article
Full-text available
Graph transformation is being increasingly used to express the semantics of domain-specific visual languages since its graphical nature makes rules intuitive. However, many application domains require an explicit handling of time to accurately represent the behaviour of a real system and to obtain useful simulation metrics to measure throughputs, u...
Article
Full-text available
Visual contracts provide a concise and intuitive representation of preand postconditions for operations in object-oriented or component-based systems, which can be used for documentation, testing, or simulation. However, defining visual contracts to correctly describe the behaviour of existing classes or components requires a deep understanding of t...
Article
Adaptive networks are characterised by mutual dependencies between nodes' local state changes and evolving topology. Stochastic graph transformation systems are ideally suited to model such networks, but in order to analyse their properties we require more scalable methods. %We present a case study of a simple but representative example of adaptive...
Conference Paper
Full-text available
Simulation of stochastic graph transformation systems (SGTS) allows us to analyse the model's behaviour. However, complexity of models limits our capability for analysis. In this paper, we aim to simplify models by abstraction while preserving relevant trends in their global behaviour. Based on a hierarchical graph model inspired by membrane system...
Conference Paper
Full-text available
The more model transformations are applied in various application domains, the more questions about their quality arise. In this paper, we present a first approach towards improving the quality of endogenous in-place model transformation systems. This kind of model transformations is typically rule-based and well suited to perform model simulations...
Conference Paper
Full-text available
In several application areas, Graph Transformation Systems (GTSs) are equipped with Negative Application Conditions (NACs) that specify “forbidden contexts”, in which the rules shall not be applied. The extension to NACs, however, introduces inhibiting effects among transformation steps that are not local in general, causing a severe problem for a...
Article
Visual contracts provide a diagrammatic notation for pre- and postconditionsas alternative to the Object-Constraint Language (OCL) or code-levelcontract languages. Using visual contracts for testing, we benefit from their executabilityand formal background in graph transformation to provide model-basedtest oracles and coverage criteria. Based on a...
Article
Full-text available
Graph transformations have been used to model services and systems where rules describe pre and post conditions of operations changing a complex state. However, despite their intuitive nature, creating such models is a time-consuming and error-prone process. In this paper we investigate the possibility of extracting rules from observations of trans...
Conference Paper
Full-text available
Testing service-oriented or component-based systems poses new challenges due to the non-availability of code and the distributed nature of the applications being tested. Structural coverage criteria, traditionally used to assess test suites, require access to code. As an alternative we consider model-based criteria based on interface specifications...
Conference Paper
Full-text available
In graph transformation, a match just represents an occurrences of a rule’s left-hand side in the host graph. This is expressed by a morphism preserving the graph structure. However, there are situations where occurrences are bound by additional constraints. These can either be implicit, such as the gluing conditions of the DPO, or explicit such as...
Conference Paper
Full-text available
Graph transformation systems (GTS) have been proposed for high-level stochastic modelling of dynamic systems and networks. The resulting systems can be described as semi-Markov processes with graphs as states and transformations as transitions. The operational semantics of such processes can be explored through stochastic simulation. In this paper,...
Article
Modularization is a well-known concept to structure software systems as well as their specifications. Modules are equipped with export and import interfaces and thus can be connected with other modules requesting or providing certain features. In this paper, we study modules the interfaces of which consist of behav- ioral specifications given by ty...
Article
A test oracle predicts expected outcomes for a set of test cases, often based on a formal, executable specification. Visual contracts are graph transformation rules describing pre- and post-conditions of a serviceís operations. To obtain an oracle based on visual contracts, we use the Attributed Graph Grammar System (AGG) to execute the rules, crea...
Article
Full-text available
Modelling complex systems by graph transformation, we face scalability challenges both in our ability to create and understand these models and in the ability of tools to analyse them. To address these problems we propose to model graph transformation systems in views which can be understood and analysed separately. In particular, we show that tran...
Conference Paper
Super nodes have been introduced to improve the performance of structured P2P networks. The resulting heterogeneity benefits efficiency without compromising the decentralised nature. However, this only works as long as there are enough super nodes and the distribution of clients among them is roughly even. With the increase in the number of users o...
Article
Full-text available
Modelling complex systems by graph transformation, we face scalability challenges both in our ability to create and understand these models and in the ability of tools to analyse them. To address these problems we propose to model graph transformation systems in views which can be understood and analysed separately. In particular, we show that tran...
Article
A test oracle predicts expected outcomes for a set of test cases, often based on a formal, executable specification. Visual contracts are graph transformation rules describing pre- and post-conditions of a service’s operations. To obtain an oracle based on visual contracts, we use the Attributed Graph Grammar System (AGG) to execute the rules, crea...
Article
We propose a model-based approach to analysing the performance of mobile applications where physical mobility and state changes are modelled by graph transformations from which a model in the Performance Evaluation Process Algebra (PEPA) is derived. To fight scalability problems with state space generation we adopt a modular solution where the grap...
Article
We propose a model-based approach to analysing the performance of mobile applications where physical mobility and state changes are modelled by graph transformations from which a model in the Performance Evaluation Process Algebra (PEPA) is derived. To fight scalability problems with state space generation we adopt a modular solution where the grap...
Chapter
Full-text available
Model transformations are a core technology of today’s model-driven software development processes. Graph transformations provide a state-of-the-art formalism to specify and execute such transformations in practice. This was the case in the Sensoria project, where graph transformations have been used as enabling technology in a number of applicatio...
Chapter
Full-text available
This chapter presents an overview of the work on migration of legacy systems towards Service-Oriented Architectures that is taking place within the Sensoria project. In this context, a general methodology for software reengineering was developed and instantiated in two dimensions to allow service components to be extracted from legacy applications....
Conference Paper
Full-text available
When matching services, we are caught in the tradeoff between precise specifications required to make dynamic binding safe and the lack of flexibility that comes with this precision. We propose to use feature modelling techniques to specify the variability of provided and required services, thus increasing the flexibility of the matching process. I...
Conference Paper
Full-text available
Regression testing verifies if systems under evolution retain their existing functionality. Based on large test sets accumulated over time, this is a costly process, especially if testing is manual or the system to be tested is remote or only available for testing during a limited period. Often, changes made to a system are local, arising from fixi...
Conference Paper
Full-text available
We propose a model-based approach to analysing the performance of mobile applications where physical mobility and state changes are modelled by graph transformations from which a model in the Performance Evaluation Process Algebra (PEPA) is derived. To fight scalability problems with state space generation we adopt a modular solution where the grap...
Article
Full-text available
While modelling or testing component-based or service-oriented ap-plications we often complement the external perspective, describing the system in terms of its interactions, by the internal one specifying its implementation. To formalise this view, a graph transformation system is seen as an encapsulated component: The implementation, described by...
Article
To improve scalability and understandability of search-based refactoring, in this paper, we propose a formulation based on graph transformation which allows us to make use of partial order semantics and an associated analysis technique, the approximated unfolding of graph transformation systems. We use graphs to represent object-oriented software a...
Article
When testing component-based or service-oriented applications we cannot always rely on coverage criteria based on source code. Instead, we have to express our requirements for testing at the interface level. Specifying interfaces by graph transformation rules, so-called visual contracts, we define model-based coverage criteria exploiting the well-k...
Article
Full-text available
Workflows often require participation of technical components as well as humans to achieve their objectives. In order to accurately model and simulate the flexibility of human and technical resources we have to consider diverse aspects such as (dynamic) (re)assignment, deadlines, escalation handling, faults and retrieval (backtracking). In order to...
Article
In order for business process models to accurately capture the flexibility of human actors, we have to allow for flexible task management and role allocation. That means to take into account deadlines and escalation procedures, consider access rights, but allow temporary promotion and dynamic assignment of actors. In order to meet these requirement...
Article
Full-text available
The more graph transformations are applied in various application domains, the more questions about the quality of these applications arise. In this paper, we present a first approach towards improving the quality of graph transformation systems based on refactorings. After discussing possible quality aims for graph transformation systems, a first...
Conference Paper
Full-text available
Graph transformation is being increasingly used to express the semantics of domain specific visual languages since its graphical nature makes rules intuitive. However, many application domains require an explicit handling of time in order to represent accurately the behaviour of the real system and to obtain useful simulation metrics. Inspired by...
Conference Paper
Full-text available
The functional behaviour of a graph transformation system is a crucial property in several application domains including model transformations and visual language engineering. Termination is one of the ingredients of functional behaviour and thus equally important. However, the termination of graph transformation systems is generally undecidable. H...
Conference Paper
Full-text available
P2P systems are characterised by large-scale distribution and high degree of architectural dynamics caused by their lack of central coordination. In such an environment, it is notoriously hard to guarantee a good quality of service. Simulation can help to validate network designs and protocols, but most existing simulation approaches cannot cope wi...
Preprint
Full-text available
Graph transformation has been used to model concurrent systems in software engineering, as well as in biochemistry and life sciences. The application of a transformation rule can be characterised algebraically as construction of a double-pushout (DPO) diagram in the category of graphs. We show how intuitionistic linear logic can be extended with re...
Article
Full-text available
Aspect-orientation is a relatively new paradigm that introduces abstractions to modularize the implementation of system-wide policies. It is based on a composition operation, called aspect weaving, that implicitly modifies a base system by performing related changes within the system modules. Aspect-oriented graph grammars (AOGG) extend the classic...
Conference Paper
Full-text available
in the result and so allow to verify soft performance targets in large-scale systems. We present a tool called GraSS, for Graph-based Stochastic Simulation, to enable the analysis of such processes. The tool is developed in Java-Eclipse, extending the VIATRA model transformation plugin with a control based on the SSJ library for Stochastic Simulati...
Conference Paper
Full-text available
Services provide access to software components that can be discovered dynamically via the Internet. The increasing number of services a requester may be able to use demand support for finding and selecting services. In particular, it is unrealistic to expect that a single service will satisfy complex requirements, so services will have to be combin...
Article
Full-text available
Graph transformation can be used to implement stochastic simulation of dynamic systems based on semi-Markov processes, extending the standard approach based on Markov chains. The result is a discrete event system, where states are graphs, and events are rule matches associated to general distributions, rather than just exponential ones. We present...
Article
In a variety of disciplines models are used to predict, measure or explain quantitative properties. Examples include the concentration of a chemical substance produced within a given period, the growth of the size of a population of individuals, the time taken to recover from a communication breakdown in a network, etc. The models such properties a...
Conference Paper
Full-text available
Distributed systems with mobile components are naturally modelled by graph transformations. To formalise and predict properties such as performance or reliability of such systems, stochastic methods are required. Stochastic graph transformations allow the integrated modelling of these two concerns by associating with each rule and match a probabili...
Article
Full-text available
Graph transformation has been used to model concurrent systems in software engineering, as well as in biochemistry and life sciences. The application of a transformation rule can be characterised algebraically as construction of a double-pushout (DPO) diagram in the category of graphs. We show how intuitionistic linear logic can be extended with re...

Network

Cited By