-
Language-Integrated Query for Temporal Data (Extended version)
Authors:
Simon Fowler,
Vashti Galpin,
James Cheney
Abstract:
Modern applications often manage time-varying data. Despite decades of research on temporal databases, which culminated in the addition of temporal data operations into the SQL:2011 standard, temporal data query and manipulation operations are unavailable in most mainstream database management systems, leaving developers with the unenviable task of implementing such functionality from scratch. In…
▽ More
Modern applications often manage time-varying data. Despite decades of research on temporal databases, which culminated in the addition of temporal data operations into the SQL:2011 standard, temporal data query and manipulation operations are unavailable in most mainstream database management systems, leaving developers with the unenviable task of implementing such functionality from scratch. In this paper, we extend \emph{language-integrated query} to support writing temporal queries and updates in a uniform host language, with the language performing the required rewriting to emulate temporal capabilities automatically on any standard relational database. We introduce two core languages, $λ_{\mathsf{TLINQ}}$ and $λ_{\mathsf{VLINQ}}$, for manipulating transaction time and valid time data respectively, and formalise existing implementation strategies by giving provably correct semantics-preserving translations into a non-temporal core language, $λ_{\mathsf{LINQ}}$. We show how existing work on query normalisation supports a surprisingly simple implementation strategy for \emph{sequenced joins}. We implement our approach in the Links programming language, and describe a non-trivial case study based on curating COVID-19 statistics.
△ Less
Submitted 21 October, 2022;
originally announced October 2022.
-
Curating Covid-19 data in Links
Authors:
Vashti Galpin,
James Cheney
Abstract:
Curated scientific databases play an important role in the scientific endeavour and support is needed for the significant effort that goes into their creation and maintenance. This demonstration and case study illustrate how curation support has been developed in the Links cross-tier programming language, a functional, strongly typed language with language-integrated query and support for temporal…
▽ More
Curated scientific databases play an important role in the scientific endeavour and support is needed for the significant effort that goes into their creation and maintenance. This demonstration and case study illustrate how curation support has been developed in the Links cross-tier programming language, a functional, strongly typed language with language-integrated query and support for temporal databases. The chosen case study uses weekly released Covid-19 fatality figures from the Scottish government which exhibit updates to previously released data. This data allows the capture and query of update provenance in our prototype. This demonstration will highlight the potential for language-integrated support for curation to simplify and streamline prototyping of web-applications in support of scientific databases
△ Less
Submitted 1 June, 2021;
originally announced June 2021.
-
Modelling movement for collective adaptive systems with CARMA
Authors:
Natalia Zoń,
Vashti Galpin,
Stephen Gilmore
Abstract:
Space and movement through space play an important role in many collective adaptive systems (CAS). CAS consist of multiple components interacting to achieve some goal in a system or environment that can change over time. When these components operate in space, then their behaviour can be affected by where they are located in that space. Examples include the possibility of communication betwee…
▽ More
Space and movement through space play an important role in many collective adaptive systems (CAS). CAS consist of multiple components interacting to achieve some goal in a system or environment that can change over time. When these components operate in space, then their behaviour can be affected by where they are located in that space. Examples include the possibility of communication between two components located at different points, and rates of movement of a component that may be affected by location. The CARMA language and its associated software tools can be used to model such systems. In particular, a graphical editor for CARMA allows for the specification of spatial structure and generation of templates that can be used in a CARMA model with space. We demonstrate the use of this tool to experiment with a model of pedestrian movement over a network of paths.
△ Less
Submitted 8 July, 2016;
originally announced July 2016.
-
CARMA: Collective Adaptive Resource-sharing Markovian Agents
Authors:
Luca Bortolussi,
Rocco De Nicola,
Vashti Galpin,
Stephen Gilmore,
Jane Hillston,
Diego Latella,
Michele Loreti,
Mieke Massink
Abstract:
In this paper we present CARMA, a language recently defined to support specification and analysis of collective adaptive systems. CARMA is a stochastic process algebra equipped with linguistic constructs specifically developed for modelling and programming systems that can operate in open-ended and unpredictable environments. This class of systems is typically composed of a huge number of interact…
▽ More
In this paper we present CARMA, a language recently defined to support specification and analysis of collective adaptive systems. CARMA is a stochastic process algebra equipped with linguistic constructs specifically developed for modelling and programming systems that can operate in open-ended and unpredictable environments. This class of systems is typically composed of a huge number of interacting agents that dynamically adjust and combine their behaviour to achieve specific goals. A CARMA model, termed a collective, consists of a set of components, each of which exhibits a set of attributes. To model dynamic aggregations, which are sometimes referred to as ensembles, CARMA provides communication primitives that are based on predicates over the exhibited attributes. These predicates are used to select the participants in a communication. Two communication mechanisms are provided in the CARMA language: multicast-based and unicast-based. In this paper, we first introduce the basic principles of CARMA and then we show how our language can be used to support specification with a simple but illustrative example of a socio-technical collective adaptive system.
△ Less
Submitted 28 September, 2015;
originally announced September 2015.
-
Stochastic HYPE: Flow-based modelling of stochastic hybrid systems
Authors:
Luca Bortolussi,
Vashti Galpin,
Jane Hillston
Abstract:
Stochastic HYPE is a novel process algebra that models stochastic, instantaneous and continuous behaviour. It develops the flow-based approach of the hybrid process algebra HYPE by replacing non-urgent events with events with exponentially-distributed durations and also introduces random resets. The random resets allow for general stochasticity, and in particular allow for the use of event duratio…
▽ More
Stochastic HYPE is a novel process algebra that models stochastic, instantaneous and continuous behaviour. It develops the flow-based approach of the hybrid process algebra HYPE by replacing non-urgent events with events with exponentially-distributed durations and also introduces random resets. The random resets allow for general stochasticity, and in particular allow for the use of event durations drawn from distributions other than the exponential distribution. To account for stochasticity, the semantics of stochastic HYPE target piecewise deterministic Markov processes (PDMPs), via intermediate transition-driven stochastic hybrid automata (TDSHA) in contrast to the hybrid automata used as semantic target for HYPE. Stochastic HYPE models have a specific structure where the controller of a system is separate from the continuous aspect of this system providing separation of concerns and supporting reasoning. A novel equivalence is defined which captures when two models have the same stochastic behaviour (as in stochastic bisimulation), instantaneous behaviour (as in classical bisimulation) and continuous behaviour. These techniques are illustrated via an assembly line example.
△ Less
Submitted 17 November, 2014;
originally announced November 2014.
-
Hybrid performance modelling of opportunistic networks
Authors:
Luca Bortolussi,
Vashti Galpin,
Jane Hillston
Abstract:
We demonstrate the modelling of opportunistic networks using the process algebra stochastic HYPE. Network traffic is modelled as continuous flows, contact between nodes in the network is modelled stochastically, and instantaneous decisions are modelled as discrete events. Our model describes a network of stationary video sensors with a mobile ferry which collects data from the sensors and delivers…
▽ More
We demonstrate the modelling of opportunistic networks using the process algebra stochastic HYPE. Network traffic is modelled as continuous flows, contact between nodes in the network is modelled stochastically, and instantaneous decisions are modelled as discrete events. Our model describes a network of stationary video sensors with a mobile ferry which collects data from the sensors and delivers it to the base station. We consider different mobility models and different buffer sizes for the ferries. This case study illustrates the flexibility and expressive power of stochastic HYPE. We also discuss the software that enables us to describe stochastic HYPE models and simulate them.
△ Less
Submitted 3 July, 2012;
originally announced July 2012.
-
A semi-quantitative equivalence for abstracting from fast reactions
Authors:
Vashti Galpin,
Jane Hillston,
Federica Ciocchetta
Abstract:
Semantic equivalences are used in process algebra to capture the notion of similar behaviour, and this paper proposes a semi-quantitative equivalence for a stochastic process algebra developed for biological modelling. We consider abstracting away from fast reactions as suggested by the Quasi-Steady-State Assumption. We define a fast-slow bisimilarity based on this idea. We also show congruence un…
▽ More
Semantic equivalences are used in process algebra to capture the notion of similar behaviour, and this paper proposes a semi-quantitative equivalence for a stochastic process algebra developed for biological modelling. We consider abstracting away from fast reactions as suggested by the Quasi-Steady-State Assumption. We define a fast-slow bisimilarity based on this idea. We also show congruence under an appropriate condition for the cooperation operator of Bio-PEPA. The condition requires that there is no synchronisation over fast actions, and this distinguishes fast-slow bisimilarity from weak bisimilarity. We also show congruence for an operator which extends the reactions available for a species. We characterise models for which it is only necessary to consider the matching of slow transitions and we illustrate the equivalence on two models of competitive inhibition.
△ Less
Submitted 7 September, 2011;
originally announced September 2011.
-
HYPE with stochastic events
Authors:
Luca Bortolussi,
Vashti Galpin,
Jane Hillston
Abstract:
The process algebra HYPE was recently proposed as a fine-grained modelling approach for capturing the behaviour of hybrid systems. In the original proposal, each flow or influence affecting a variable is modelled separately and the overall behaviour of the system then emerges as the composition of these flows. The discrete behaviour of the system is captured by instantaneous actions which might b…
▽ More
The process algebra HYPE was recently proposed as a fine-grained modelling approach for capturing the behaviour of hybrid systems. In the original proposal, each flow or influence affecting a variable is modelled separately and the overall behaviour of the system then emerges as the composition of these flows. The discrete behaviour of the system is captured by instantaneous actions which might be urgent, taking effect as soon as some activation condition is satisfied, or non-urgent meaning that they can tolerate some (unknown) delay before happening. In this paper we refine the notion of non-urgent actions, to make such actions governed by a probability distribution. As a consequence of this we now give HYPE a semantics in terms of Transition-Driven Stochastic Hybrid Automata, which are a subset of a general class of stochastic processes termed Piecewise Deterministic Markov Processes.
△ Less
Submitted 6 July, 2011;
originally announced July 2011.
-
Bounds on series-parallel slowdown
Authors:
András Z. Salamon,
Vashti Galpin
Abstract:
We use activity networks (task graphs) to model parallel programs and consider series-parallel extensions of these networks. Our motivation is two-fold: the benefits of series-parallel activity networks and the modelling of programming constructs, such as those imposed by current parallel computing environments. Series-parallelisation adds precedence constraints to an activity network, usually i…
▽ More
We use activity networks (task graphs) to model parallel programs and consider series-parallel extensions of these networks. Our motivation is two-fold: the benefits of series-parallel activity networks and the modelling of programming constructs, such as those imposed by current parallel computing environments. Series-parallelisation adds precedence constraints to an activity network, usually increasing its makespan (execution time). The slowdown ratio describes how additional constraints affect the makespan. We disprove an existing conjecture positing a bound of two on the slowdown when workload is not considered. Where workload is known, we conjecture that 4/3 slowdown is always achievable, and prove our conjecture for small networks using max-plus algebra. We analyse a polynomial-time algorithm showing that achieving 4/3 slowdown is in exp-APX. Finally, we discuss the implications of our results.
△ Less
Submitted 28 April, 2009;
originally announced April 2009.