Learn More
We describe a method for the automatic assembly of aviation safety cases by combining auto-generated argument fragments derived from the application of a formal method to software, with manually created argument fragments derived from system safety analysis. Our approach emphasizes the heterogeneity of safety-relevant information and we show how such(More)
We present AdvoCATE, an Assurance Case Automation ToolsEt, to support the automated construction and assessment of safety cases. In addition to manual creation and editing, it has a growing suite of automated features. In this paper, we highlight its capabilities for (i) inclusion of specific metadata, (ii) translation to and from various formats, including(More)
A safety case is a structured argument, supported by a body of evidence, which provides a convincing and valid justification that a system is acceptably safe for a given application in a given operating environment. This report describes the development of a fragment of a preliminary safety case for the Swift Unmanned Aircraft System. The construction of(More)
We present here the experiences made on taking some first steps into the world of dual-core embedded processor technology. The processors we consider here consist of one DSP core and one general-purpose ARM core as are commonly used today by large mobile phone manufacturers. We describe some beginner's problems we encountered with Texas Instruments' OMAP(More)
In the constructive setting, membership predicates over recursive types are inhabited by terms indexing the elements that satisfy the criteria for membership. In this paper, we motivate and explore this idea in the concrete setting of lists and trees. We show that the inhabitants of membership predicates are precisely the inhabitants of a generic shape(More)
Military deployment and distribution responsibilities call for intelligent collaborative tools in support of strategic and operational planning functions involving the sustainment and movement of military forces. The sustainment requirement is generated at the operational level and is dynamic. It is composed of shifting priorities responding to changes in(More)
Closing the gap between formalized proof and practical programming has long been an objective of working in type theory. Monads epitomize this balance. They are a formal construct but have revolutionized programming in purely functional environments. We play on this relationship by formalizing the structure of a monad as a type. By instantiating the type(More)
Trees carrying information stored in their nodes are a fundamental abstract data type. Approaching trees in a formal constructive environment allows us to realize properties of trees, inherent in their structure. Specifically we will look at the evidence provided by the predicates which operate on these trees. This evidence, expressed in terms of logical(More)
I will begin by giving an overview of the CoVer project (Combining Verification Methods in Software Development, 2003-2005) at Chalmers University. This was a research project comprising both researchers in Programming Languages (especially in functional programming) and Program Verification (especially in random testing, automatic theorem proving, type(More)
Trees are pervasive in the literature of data structures and algorithms. Every computer science undergraduate has an understanding of at least how trees function as part of their chosen field as well as their formation. The foundations of many abstract data types rely on trees and the ability to quickly and efficiently search and organize large data sets(More)
  • 1