Skip to main content

Research Repository

Advanced Search

Outputs (47)

Simulating Dynamic Vehicle Routing Problems with Athos (2019)
Conference Proceeding
Hoffman, B., Guckert, M., Chalmers, K., & Urquhart, N. (2019). Simulating Dynamic Vehicle Routing Problems with Athos. In Proceedings of the 33rd International ECMS Conference on Modelling and Simulation ECMS 2019 (296-302). https://doi.org/10.7148/2019-0296

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... Read More about Simulating Dynamic Vehicle Routing Problems with Athos.

Athos - A Model Driven Approach to Describe and Solve Optimisation Problems (2019)
Conference Proceeding
Hoffman, B., Chalmers, K., Urquhart, N., & Guckert, M. (2019). Athos - A Model Driven Approach to Describe and Solve Optimisation Problems. . https://doi.org/10.1145/3300111.3300114

Implementing solutions for optimisation problems with general purpose high-level programming languages is a time consuming task that can only be carried out by professional software developers who typically are not domain experts. We address this pro... Read More about Athos - A Model Driven Approach to Describe and Solve Optimisation Problems.

Towards reducing complexity of multi-agent simulations by applying model-driven techniques (2018)
Conference Proceeding
Hoffman, B., Chalmers, K., Urquhart, N., Farrenkopf, T., & Guckert, M. (2018). Towards reducing complexity of multi-agent simulations by applying model-driven techniques. In Y. Demazeau, B. An, J. Bajo, & A. Fernández-Caballero (Eds.), Advances in Practical Applications of Agents, Multi-Agent Systems, and Complexity: The PAAMS Collection. PAAMS 2018 (187-199). https://doi.org/10.1007/978-3-319-94580-4_15

Creating multi-agent simulations is a challenging task often requiring programming skills at the professional software developer level. Model driven methods of software development are an appropriate tool for reducing the complexity of the developmen... Read More about Towards reducing complexity of multi-agent simulations by applying model-driven techniques.

Using a task classification in the visualisation design process for task understanding and abstraction: an empirical study (2018)
Conference Proceeding
Kerracher, N., Kennedy, J., & Chalmers, K. (2018). Using a task classification in the visualisation design process for task understanding and abstraction: an empirical study. In J. Johansson, F. Sadlo, & T. Schreck (Eds.), Proceedings of the 2018 Eurographics Conference on Visualization (EuroVis 2018) - Short Papers (79-83). https://doi.org/10.2312/eurovisshort.20181082

Task classifications are widely purported to be useful in the design process, with various suggestions having been made for their use at the different stages. However, little has been written regarding the actual use of task classifications in these... Read More about Using a task classification in the visualisation design process for task understanding and abstraction: an empirical study.

A Domain-Specific Language For Routing Problems (2018)
Conference Proceeding
Hoffmann, B., Hoffman, B., Guckert, M., Farrenkopf, T., Chalmers, K., & Urquhart, N. (2018). A Domain-Specific Language For Routing Problems. In L. Nolle, A. Burger, C. Tholen, J. Werner, & J. Wellhausen (Eds.), Proceedings of the 32nd EUROPEAN CONFERENCE ON MODELLING AND SIMULATION. https://doi.org/10.7148/2018-0262

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... Read More about A Domain-Specific Language For Routing Problems.

Building a C++CSP Channel Using C++ Atomics (2017)
Conference Proceeding
Chalmers, K. (2019). Building a C++CSP Channel Using C++ Atomics. . https://doi.org/10.3233/978-1-61499-949-2-19

Mutex-based implementations of synchronous channels are slow. This work investigates atomic operations as a technique to improve communication efficiency between two threads via a busy channel. Such a channel provides faster communication than a mute... Read More about Building a C++CSP Channel Using C++ Atomics.

What are Communicating Process Architectures? Towards a Framework for Evaluating Message-passing Concurrency Languages (2017)
Conference Proceeding
Chalmers, K. (2019). What are Communicating Process Architectures? Towards a Framework for Evaluating Message-passing Concurrency Languages. . https://doi.org/10.3233/978-1-61499-949-2-227

What does it mean to be a message-passing concurrent language? This work attempts to build a framework for classifying such languages by judging four in regards to features and performance. Features of process calculi are used to evaluate Go, Rust, E... Read More about What are Communicating Process Architectures? Towards a Framework for Evaluating Message-passing Concurrency Languages.

Communicating Connected Components: Extending Plug-and-Play to Support Skeletons (2017)
Conference Proceeding
Chalmers, K., Kerridge, J., & Pedersen, J. B. (2017). Communicating Connected Components: Extending Plug-and-Play to Support Skeletons. In Communicating Process Architectures 2016

For a number of years, the Communicating Process Architecture (CPA) community have developed languages and runtimes supporting message passing concurrency. For these we always provide a set of reusable processes called plug and play. These components... Read More about Communicating Connected Components: Extending Plug-and-Play to Support Skeletons.

The Design and Evaluation of a Modern C++ Library (2016)
Conference Proceeding
Chalmers, K. (2016). The Design and Evaluation of a Modern C++ Library. In Communicating Process Architectures 2016

Although many CSP inspired libraries exist, none yet have targeted modern C++ (C++11 onwards). The work presented has a main objective of providing a new C++ CSP library which adheres to modern C++ design principles and standards. A secondary objecti... Read More about The Design and Evaluation of a Modern C++ Library.