Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJune 2023
Compositional Reasoning for Non-multicopy Atomic Architectures
Formal Aspects of Computing (FAC), Volume 35, Issue 2Article No.: 8, Pages 1–30https://doi.org/10.1145/3574137Rely/guarantee reasoning provides a compositional approach to reasoning about concurrent programs. However, such reasoning traditionally assumes a sequentially consistent memory model and hence is unsound on modern hardware in the presence of data races. ...
- ArticleNovember 2021
Rely/Guarantee Reasoning for Multicopy Atomic Weak Memory Models
AbstractRely/guarantee reasoning provides a compositional approach to reasoning about concurrent programs. However, such reasoning traditionally assumes a sequentially consistent memory model and hence is unsound on modern hardware in the presence of data ...
- research-articleFebruary 2020
Linearizability on hardware weak memory models
Formal Aspects of Computing (FAC), Volume 32, Issue 1Pages 1–32https://doi.org/10.1007/s00165-019-00499-8AbstractLinearizability is a widely accepted notion of correctness for concurrent objects. Recent research has investigated redefining linearizability for particular hardware weak memory models, in particular for TSO. In this paper, we provide an overview ...
- ArticleOctober 2019
An Abstract Semantics of Speculative Execution for Reasoning About Security Vulnerabilities
Formal Methods. FM 2019 International WorkshopsOct 2019, Pages 323–341https://doi.org/10.1007/978-3-030-54997-8_21AbstractReasoning about correctness and security of software is increasingly difficult due to the complexity of modern microarchitectural features such as out-of-order execution. A class of security vulnerabilities termed Spectre that exploits side ...
- research-articleOctober 2019
Modelling concurrent objects running on the TSO and ARMv8 memory models
Science of Computer Programming (SCPR), Volume 184, Issue COct 2019https://doi.org/10.1016/j.scico.2019.102308Highlights- Presents a method for using a standard linearizability proof method on hardware weak memory models.
Hardware weak memory models, such as TSO and ARM, are used to increase the performance of concurrent programs by allowing program instructions to be executed on the hardware in a different order to that specified by the software. This ...
-
- research-articleApril 2019
A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency
Formal Aspects of Computing (FAC), Volume 31, Issue 2Pages 133–163https://doi.org/10.1007/s00165-018-0464-4AbstractIn this paper we introduce an abstract algebra for reasoning about concurrent programs, that includes an abstract algebra of atomic steps, with sub-algebras of program and environment steps, and an abstract synchronisation operator. We show how ...
- research-articleNovember 2017
Relating trace refinement and linearizability
Formal Aspects of Computing (FAC), Volume 29, Issue 6Pages 935–950https://doi.org/10.1007/s00165-017-0418-2AbstractIn the late 1980’s, Back extended the notion of stepwise refinement of sequential systems to concurrent systems. By doing so he provided a definition of what it means for a concurrent system to be correct with respect to an abstract (potentially ...
- research-articleAugust 2015
Next-preserving branching bisimulation
Theoretical Computer Science (TCSC), Volume 594, Issue CAugust 2015, Pages 120–142https://doi.org/10.1016/j.tcs.2015.05.013Bisimulations are equivalence relations between transition systems which assure that certain aspects of the behaviour of the systems are the same in a related pair. For many applications it is not possible to maintain such an equivalence unless non-...
- ArticleOctober 2012
Optimising ordering strategies for symbolic model checking of railway interlockings
ISoLA'12: Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: applications and case studies - Volume Part IIOctober 2012, Pages 246–260https://doi.org/10.1007/978-3-642-34032-1_24Interlockings implement Railway Signalling Principles which ensure the safe movements of trains along a track system. They are safety critical systems which require a thorough analysis. We are aiming at supporting the safety analysis by automated tools, ...
- ArticleOctober 2012
Incremental Development of Multi-agent Systems in Object-Z
SEW '12: Proceedings of the 2012 35th Annual IEEE Software Engineering WorkshopOctober 2012, Pages 120–129https://doi.org/10.1109/SEW.2012.19The complexity of multi-agent systems (MAS) demands a formal and incremental approach to their development. Such an approach needs to take into account issues specific to the development of MAS. In particular, methods are required for incrementally ...
- ArticleJuly 2012
Reasoning About Adaptivity of Agents and Multi-agent Systems
ICECCS '12: Proceedings of the 2012 IEEE 17th International Conference on Engineering of Complex Computer SystemsJuly 2012, Pages 341–350Although adaptivity is a central feature of agents and multi-agent systems (MAS), there is no precise definition of it in the literature. What does it mean for an agent or for a MAS to be adaptive? How can we reason about and measure the ability of ...
- research-articleMarch 2012
Cut Set Analysis using Behavior Trees and model checking
Formal Aspects of Computing (FAC), Volume 24, Issue 2Pages 249–266https://doi.org/10.1007/s00165-011-0181-8AbstractSafety analysis can be labour intensive and error prone for system designers. Moreover, even a relatively minor change to a system’s design can necessitate a complete reworking of the system safety analysis. This paper proposes the use of Behavior ...
- articleOctober 2011
Experience with fault injection experiments for FMEA
Software—Practice & Experience (SPRE), Volume 41, Issue 11October 2011, Pages 1233–1258https://doi.org/10.1002/spe.1039Failure Modes and Effects Analysis (FMEA) is a widely used system and software safety analysis technique that systematically identifies failure modes of system components and explores whether these failure modes might lead to potential hazards. In ...
- ArticleSeptember 2010
Safety Assessment Using Behavior Trees and Model Checking
SEFM '10: Proceedings of the 2010 8th IEEE International Conference on Software Engineering and Formal MethodsSeptember 2010, Pages 181–190https://doi.org/10.1109/SEFM.2010.23This paper demonstrates the use of Behavior Trees and model checking to assess system safety requirements for a system containing substantial redundancy. The case study concerns the hydraulics systems for the Airbus A320 aircraft, which are critical for ...
- ArticleSeptember 2010
Integrating Requirements: The Behavior Tree Philosophy
SEFM '10: Proceedings of the 2010 8th IEEE International Conference on Software Engineering and Formal MethodsSeptember 2010, Pages 41–50https://doi.org/10.1109/SEFM.2010.13Behavior Trees were invented by Geoff Dromey as a graphical modelling notation. Their design was driven by the desire to ease the task of capturing functional system requirements and to bridge the gap between an informal language description and a ...
- ArticleApril 2009
Dynamic Relational Behaviour for Large-Scale Systems
ASWEC '09: Proceedings of the 2009 Australian Software Engineering ConferenceApril 2009, Pages 173–182https://doi.org/10.1109/ASWEC.2009.41In this paper we introduce a syntax and semantics for capturing complex relational behaviour commonly found in natural language system requirements. The syntax is an extension of \emph{Behaviour Trees}, a modelling notation used for capturing user ...
- research-articleFebruary 2009
Model checking action system refinements
Formal Aspects of Computing (FAC), Volume 21, Issue 1-2Pages 155–186https://doi.org/10.1007/s00165-007-0053-4AbstractAction systems provide a formal approach to modelling parallel and reactive systems. They have a well established theory of refinement supported by simulation-based proof rules. This paper introduces an automatic approach for verifying action ...
- articleDecember 2008
Timed Behavior Trees for Failure Mode and Effects Analysis of time-critical systems
Journal of Systems and Software (JSSO), Volume 81, Issue 12December, 2008, Pages 2163–2182https://doi.org/10.1016/j.jss.2008.04.035Behavior Trees are a graphical notation used for formalising functional requirements, and have been successfully applied to several industrial case studies. However, the standard notation does not support the concept of time, and consequently its ...
- articleJune 2008
Defining the abstract syntax of visual languages with advanced graph grammars-A case study based on behavior trees
Journal of Visual Languages and Computing (JVLC), Volume 19, Issue 3June, 2008, Pages 343–379https://doi.org/10.1016/j.jvlc.2007.11.003Diagrammatic visual languages can increase the ability of engineers to model and understand complex systems. However, to effectively use visual models, the syntax and semantics of these languages should be defined precisely. Since most diagrammatic ...
- articleJanuary 2008
Formal verification of ASMs using MDGs
Journal of Systems Architecture: the EUROMICRO Journal (JOSA), Volume 54, Issue 1-2January, 2008, Pages 15–34https://doi.org/10.1016/j.sysarc.2007.03.007We present a framework for the formal verification of abstract state machine (ASM) designs using the multiway decision graphs (MDG) tool. ASM is a state based language for describing transition systems. MDG provides symbolic representation of transition ...