Kevin Chalmers

dblp:39/3298 · DBLP profile ↗
← Back
11ranked-venue papers
1as first author
3since 2021 · last 2026
0000-0002-3409-432XORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Artificial intelligence and machine learning · 3Graphics, computer vision, multimedia, augmented reality and games · 2Theory of computation · 2 · 1 first-author · 2 since 2021Systems, architecture and hardware · 1Software engineering, systems software and programming languages · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2026 Communicating Cooperatively Scheduled Processes: On the Unlikelihood of Implementing a Pure CSP Channel
abstract
This article presents the modelling of the ProcessJ cooperative runtime environment for the implementation of a CSP-inspired communication channel. We used the CSP tool FDR to verify the correctness of the ProcessJ runtime and primitives, demonstrating how we have overcome a limitation in the existing ProcessJ runtime to improve behaviour. However, our work has demonstrated a limitation when trying to claim a cooperatively-scheduled channel implementation meets the abstract specification of a CSP channel. Our conclusion is that without sufficient hardware to execute all processes at once, a channel implementation cannot fully meet its specification when considering the execution environment in which the channel must operate. We are assured that the ProcessJ channel works correctly, such as other implementations including JCSP and CSO, but we are not assured that modelling can use a pure CSP channel in place of a ProcesssJ channel or other implementation when undertaking modelling due to unintended prioritisation occurring when not enough resources are available for full concurrency. Our work has demonstrated the need to consider the execution environment as it may cause behavioural issues not detected when only modelling a system in the abstract.
Kevin Chalmers, Jan Pedersen 0001
Formal Aspects Comput.1
2023 Toward Verifying Cooperatively Scheduled Runtimes Using CSP
abstract
In this article, we present the novel verification of synchronous channel communication and channel alternation (choice) by considering the environment within which our primitives are executing. Our work is in exploring development of a multi-threaded scheduler for a cooperatively scheduled process-oriented language, ProcessJ. We use communicating sequential processes to produce formal specifications for the implementation of the various parts of the language runtime (scheduler, runtime components, and generated code). We use established communicating sequential process specifications that model channel communication and choice as well as the formal verification tool FDR to formally prove that the implementations are correct and behave as expected, when executed by our scheduler (the execution environment). Our approach is novel and not seen in similar research, as we consider the behavior of the systems we examine under the restrictions imposed by an execution environment (a runtime system, a scheduler, an operating system, etc.) and show that even with such restrictions the channel communication and alternation work. More specifically, we show correctness when a system is executed by the ProcessJ cooperative scheduler. The main contributions of this work are in the models defined and method undertaken to verify cooperatively channel communication and choice.
Jan Pedersen 0001, Kevin Chalmers
Formal Aspects Comput.2
2022 An empirical evaluation of a novel domain-specific language - modelling vehicle routing problems with Athos
abstract
Abstract Domain-specific languages (DSLs) are a popular approach among software engineers who demand for a tailored development interface. A DSL-based approach allows to encapsulate the intricacies of the target platform in transformations that turn DSL models into executable software code. Often, DSLs are even claimed to reduce development complexity to a level that allows them to be successfully applied by domain-experts with limited programming knowledge. Recent research has produced some scientifically backed insights on the benefits and limitations of DSLs. Further empirical studies are required to build a sufficient body of knowledge from which support for different claims related to DSLs can be derived. In this research study, we adopt current DSL evaluation approaches to investigate potential gains in terms of effectiveness and efficiency, through the application of our DSL Athos, a language developed for the domain of traffic and transportation simulation and optimisation. We compare Athos to the alternative of using an application library defined within a general-purpose language (GPL). We specified two sets of structurally identical tasks from the domain of vehicle routing problems and asked study groups with differing levels of programming knowledge to solve the tasks with the two approaches. The results show that inexperienced participants achieved considerable gains in effectiveness and efficiency with the usage of Athos DSL. Though hinting at Athos being the more efficient approach, the results were less distinct for more experienced programmers. The vast majority of participants stated to prefer working with Athos over the usage of the presented GPL’s API.
Benjamin Hoffmann, Neil Urquhart, Kevin Chalmers, Michael Guckert
Empir. Softw. Eng.3
2019 Simulating Dynamic Vehicle Routing Problems With Athos
abstract
Complex routing problems, such as vehicle routing problems with additional constraints, are both hard to solve and hard to express in a form that is accessible to the human expert and at the same time processible by a computer system that is supposed to produce a solution of sufficient quality. The formulation must be formal enough to avoid ambiguities and also comprehensible enough to be created, discussed and shared by domain experts. In this paper, we present the domain specific language Athos in which complex routing problems can be expressed in a computationally independent, human-readable form. Athos is then transformed into code that can be run in an adequate target platform. Suitable methods for solving problems are available and applied to the given problem. We present a case study in which we use a genetic algorithm to solve instances of a vehicle routing problem with time windows and demonstrate the end to end process to produce a solution in the Athos environment. Moreover, we show how the Athos system goes beyond optimisation of static routes and can be used as a tool to simulate the impact of traffic and congestion on the tours. We call this extended problem a dynamic vehicle routing problem with time windows.
Benjamin Hoffmann, Michael Guckert, Kevin Chalmers, Neil Urquhart
ECMS3
2018 A Domain-Specific Language For Routing Problems
abstract
Vehicle Routing Problems (VRPs) are commonly used as benchmark optimisation problems and they also have many applications in industry. Using agent-based approaches to solve VRPs allows the analysis of dynamic VRP instances that incorporate congestion effects. By using a domain-specific language as part of a model-driven approach, routing problems can be modelled in an abstract form that does not contain implementation and other technical details. With such a tool domain experts can concentrate on the actual modelling task without being distracted by low-level intricacies. We present the DSL Athos in which computational and platform independent routing problems can be defined. The DSL offers an efficient way to model problems with seamless integration of established optimisation methods. Generators create executable code for several agent based platforms. Proof of concept is given by applying the tools to the Oliver 30 TSP and an instance of a dynamic TSP.
Benjamin Hoffmann, Michael Guckert, Thomas Farrenkopf, Kevin Chalmers, Neil Urquhart
ECMS4
2016 A Task Orientated Requirements Ontology for Cloud Computing Services
abstract
Requirements ontology offers a mechanism to map requirements for cloud computing services to cloud computing resources. Multiple stakeholders can capture and map knowledge in a flexible and efficient manner. The major contribution of the paper is the definition and development of an ontology for cloud computing requirements. The approach views each user requirement as a semantic intelligence task that maps and delivers it as cloud services. Requirements are modelled as tasks designed to meet specific requirements, problem domains that the requirements exist in, and problem-solving methods which are generic mechanisms to solve problems. A meta-ontology for cloud computing is developed and populated with ontology fragments on to which cloud computing requirements can be mapped. A critical analysis of the usage of ontologies in the requirements process is made and a case study is described that demonstrates the approach in a real-world application. The conclusion is that problem-solving ontologies provide a useful mechanism for the specification and reuse of requirements in the cloud computing environment.
Richard Greenwell, Xiaodong Liu 0002, Kevin Chalmers, Claus Pahl
CLOSER (1)3
2015 Collaborative Diffusion on the GPU for Path-Finding in Games
Craig McMillan, Emma Hart, Kevin Chalmers
EvoApplications3
2015 A Task Taxonomy for Temporal Graph Visualisation
abstract
By extending and instantiating an existing formal task framework, we define a task taxonomy and task design space for temporal graph visualisation. We discuss the process involved in their generation, and describe how the design space can be 'sliced and diced' into multiple overlapping task categories, requiring distinct visual techniques for their support. The approach addresses deficiencies in the task literature, offering domain independence, greater task coverage, and unambiguous task specification. The taxonomy and design space capture tasks for temporal graphs, and also static graphs, multivariate graphs, and graph comparison, and will be of value in the design and evaluation of temporal graph visualisation systems.
Natalie Kerracher, Jessie Kennedy, Kevin Chalmers
IEEE Trans. Vis. Comput. Graph.3
2014 Poxels: polygonal voxel environment rendering
abstract
We present efficient rendering of opaque, sparse, voxel environments with data amplified in local graphics memory with stream-out from a geomery shader to a cached vertex buffer pool. We show that our Poxel rendering primitive aligns with optimized rasterization hardware and so results in high visual quality over ray casting methods. Lossless run length encoding of occlusion culled voxels and coordinate quantization further reduces host data transfers.
Mark Miller 0002, Andrew Cumming, Kevin Chalmers, Benjamin Kenwright, Kenny Mitchell
VRST3
2013 Pricing Intelligence as a Service for Cloud Computing
abstract
Pricing Intelligence as a service (PINaaS) can be seen as the brokerage of user requirements to pricing of available resources in a cloud computing environment. Users of both public and private clouds have to consider the price of services they consume. Current cloud pricing approaches require the service consumer to calculate their own prices by interpreting high level requirements. This paper will examine issues seen in cloud service pricing and propose an ontological problem-solving approach which manages cloud pricing automatically at semantic level as "pricing intelligence". A case study of Amazon EC2 pricing has been carried out to provide a practical demonstration and validation of the approach.
Richard Greenwell, Xiaodong Liu 0002, Kevin Chalmers
CloudCom (2)3
2010 Alting barriers: synchronisation with choice in Java using JCSP
abstract
Abstract Communicating Sequential Processes for Java (JCSP) is a mature library that implements CSP‐derived concurrency primitives in Java. A JCSP system is a hierarchical network of autonomous processes communicating over synchronous (optionally buffered) channels, and multiway synchronising through barriers. This paper presents a significant extension to the barrier mechanism: the fast resolution of choice between any number of barrier events, channel communications (in either direction) and timeouts. Previously, and in line with all currently released libraries and languages offering the CSP concurrency model, choice was restricted to channel inputs and timeouts. The paper demonstrates an application of alting barriers and explains the mechanisms used in their implementation that enables their use as guards in a choice. It also shows how choice over channel outputs becomes possible, as a simple consequence of having choice over barriers. Finally, an efficient implementation of CSP's broadcasting channels is presented (using a phased barrier synchronisation pattern) and a mechanism for allowing choice over these is discussed. With this extended JCSP, almost all CSP‐specified systems can now be directly implemented. The new library is available under LGPL open source. Copyright © 2010 PH Welch, NCC Brown, J Moores, KV Chalmers & B Sputh.
Peter H. Welch, Neil Brown 0001, James Moores, Kevin Chalmers, Bernhard H. C. Sputh
Concurr. Comput. Pract. Exp.4