59,925 research outputs found
The foundational legacy of ASL
Abstract. We recall the kernel algebraic specification language ASL and outline its main features in the context of the state of research on algebraic specification at the time it was conceived in the early 1980s. We discuss the most significant new ideas in ASL and the influence they had on subsequent developments in the field and on our own work in particular.
Combining behavioural types with security analysis
Today's software systems are highly distributed and interconnected, and they
increasingly rely on communication to achieve their goals; due to their
societal importance, security and trustworthiness are crucial aspects for the
correctness of these systems. Behavioural types, which extend data types by
describing also the structured behaviour of programs, are a widely studied
approach to the enforcement of correctness properties in communicating systems.
This paper offers a unified overview of proposals based on behavioural types
which are aimed at the analysis of security properties
Observation and abstract behaviour in specification and implementation of state-based systems
Classical algebraic specification is an accepted framework for specification. A criticism which applies is the
fact that it is functional, not based on a notion of state as most software development and implementation languages
are. We formalise the idea of a state-based object or abstract machine using algebraic means. In contrast to similar approaches we consider dynamic logic instead of equational logic as the framework for specification and implementation. The advantage is a more expressive language allowing us to specify safety and liveness conditions. It also allows a clearer distinction of functional and state-based parts which require different treatment in order to achieve behavioural abstraction when necessary. We shall in particular focus on abstract behaviour and observation. A behavioural notion of satisfaction for state-elements is needed in order to abstract from irrelevant details of the state realisation
Distributive Laws for Monotone Specifications
Turi and Plotkin introduced an elegant approach to structural operational
semantics based on universal coalgebra, parametric in the type of syntax and
the type of behaviour. Their framework includes abstract GSOS, a categorical
generalisation of the classical GSOS rule format, as well as its categorical
dual, coGSOS. Both formats are well behaved, in the sense that each
specification has a unique model on which behavioural equivalence is a
congruence. Unfortunately, the combination of the two formats does not feature
these desirable properties. We show that monotone specifications - that
disallow negative premises - do induce a canonical distributive law of a monad
over a comonad, and therefore a unique, compositional interpretation.Comment: In Proceedings EXPRESS/SOS 2017, arXiv:1709.0004
Developing reproducible and comprehensible computational models
Quantitative predictions for complex scientific theories are often obtained by running simulations on computational models. In order for a theory to meet with wide-spread acceptance, it is important that the model be reproducible and comprehensible by independent researchers. However, the complexity of computational models can make the task of replication all but impossible. Previous authors have suggested that computer models should be developed using high-level specification languages or large amounts of documentation. We argue that neither suggestion is sufficient, as each deals with the prescriptive definition of the model, and does not aid in generalising the use of the model to
new contexts. Instead, we argue that a computational model should be released as three components: (a) a well-documented implementation; (b) a set of tests illustrating each of the key processes within the model; and (c) a set of canonical results, for reproducing the modelās predictions in important experiments. The included tests and experiments would provide the concrete exemplars required for easier comprehension of the model, as well as a confirmation that independent implementations and
later versions reproduce the theoryās canonical results
Object orientation without extending Z
The good news of this paper is that without extending Z,
we can elegantly specify object-oriented systems, including encapsulation,
inheritance and subtype polymorphism (dynamic dispatch). The
bad news is that this specification style is rather different to normal
Z specifications, more abstract and axiomatic, which means that it is
not so well supported by current Z tools such as animators. It also enforces
behavioural subtyping, unlike most object-oriented programming
languages. This paper explains the proposed style, with examples, and
discusses its advantages and disadvantages
Metamodel-based model conformance and multiview consistency checking
Model-driven development, using languages such as UML and BON, often makes use of multiple diagrams (e.g., class and sequence diagrams) when modeling systems. These diagrams, presenting different views of a system of interest, may be inconsistent. A metamodel provides a unifying framework in which to ensure and check consistency, while at the same time providing the means to distinguish between valid and invalid models, that is, conformance. Two formal specifications of the metamodel for an object-oriented modeling language are presented, and it is shown how to use these specifications for model conformance and multiview consistency checking. Comparisons are made in terms of completeness and the level of automation each provide for checking multiview consistency and model conformance. The lessons learned from applying formal techniques to the problems of metamodeling, model conformance, and multiview consistency checking are summarized
Behavioural Types for Local-First Software (Artifact)
This artifact supports the theory of swarm protocols presented in the related article. Specifically, following the top-down development typical of choreographic approaches, our artifact enables the specification of systems of peers communicating through an event notification mechanism from a global viewpoint which can then be projected to local specifications of peers, rendered as machines. To the best of our knowledge, ours is the first implementation of a behavioural type framework supporting the application of the principles of local-first software for network devices which collaborate on a common task while retaining full autonomy. The artifact can be integrated in the Actyx industrial platform; this proves this work a viable step towards reasoning about local-first and peer-to-peer software systems
Discovery and Selection of Certified Web Services Through Registry-Based Testing and Verification
Reliability and trust are fundamental prerequisites for the establishment of functional relationships among peers in a Collaborative Networked Organisation (CNO), especially in the context of Virtual Enterprises where economic benefits can be directly at stake. This paper presents a novel approach towards effective service discovery and selection that is no longer based on informal, ambiguous and potentially unreliable service descriptions, but on formal specifications that can be used to verify and certify the actual Web service implementations. We propose the use of Stream X-machines (SXMs) as a powerful modelling formalism for constructing the behavioural specification of a Web service, for performing verification through the generation of exhaustive test cases, and for performing validation through animation or model checking during service selection
- ā¦