Results 11  20
of
20
Semantic Foundation and Tool Support for ModelDriven Development with UML 2 Activity Diagrams
, 2006
"... 2 ..."
Process Algebra Having Inherent Choice: Revised Semantics for Concurrent Systems
, 2007
"... Process algebras are standard formalisms for compositionally describing systems by the dependencies of their observable synchronous communication. In concurrent systems, parallel composition introduces resolvable nondeterminism, i.e., nondeterminism that will be resolved in later design phases or by ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Process algebras are standard formalisms for compositionally describing systems by the dependencies of their observable synchronous communication. In concurrent systems, parallel composition introduces resolvable nondeterminism, i.e., nondeterminism that will be resolved in later design phases or by the operating system. Sometimes it is also important to express inherent nondeterminism for equal (communication) labels. Here, we give operational and axiomatic semantics to a process algebra having a parallel operator interpreted as concurrent and having a choice operator interpreted as inherent, not only w.r.t. different, but also w.r.t. equal nextstep actions. In order to handle the different kinds of nondeterminism, the operational semantics uses µautomata as underlying semantical model. Soundness and completeness of our axiom system w.r.t. the operational semantics is shown.
Runtime Verification of C Memory Safety
"... C is the most widely used imperative system’s implementation language. While C provides types and highlevel abstractions, its design goal has been to provide highest performance which often requires lowlevel access to memory. As a consequence C supports arbitrary pointer arithmetic, casting, and e ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
C is the most widely used imperative system’s implementation language. While C provides types and highlevel abstractions, its design goal has been to provide highest performance which often requires lowlevel access to memory. As a consequence C supports arbitrary pointer arithmetic, casting, and explicit allocation and deallocation. These operations are difficult to use, resulting in programs that often have software bugs like buffer overflows and dangling pointers that cause security vulnerabilities. We say a C program is memory safe, if at runtime it never goes wrong with such a memory access error. Based on standards for writing “good” C code, this paper proposes strong memory safety as the least restrictive formal definition of memory safety amenable for runtime verification. We show that although verification of memory safety is in general undecidable, even when restricted to closed, terminating programs, runtime verification of strong memory safety is a decision procedure for this class of programs. We verify strong memory safety of a program by executing the program using a symbolic, deterministic definition of the dynamic semantics. A prototype implementation of these ideas shows the feasibility of this approach. 1
Algebraic Foundations of the Unifying Theories of Programming
, 2007
"... Hoare and He’s Unifying Theories of Programming take a relational view on semantics. The meaning of a nondeterministic, imperative program is described by ‘designs’ composed of two relations. They represent terminating states and relate the initial and final values of the observable variables, resp ..."
Abstract
 Add to MetaCart
Hoare and He’s Unifying Theories of Programming take a relational view on semantics. The meaning of a nondeterministic, imperative program is described by ‘designs’ composed of two relations. They represent terminating states and relate the initial and final values of the observable variables, respectively. Several ‘healthiness conditions’ are imposed by the theory to obtain properties found in practice. This work determines the structure of designs and modifies the theory to support nonstrict computations. It achieves these goals by identifying healthiness conditions and related axioms that involve unnecessary restrictions and subsequently removing them. The outcome provides a clear account of the algebraic foundations of the Unifying Theories of Programming. One of the results is a generalisation of designs by constructing them on semirings with ideals, structures having fewer axioms than relations. This clarifies the essential algebraic structure of designs, allows the reuse of existing mathematical theory and connects to further semantical approaches. The framework is extended by algebraic formulations of finite and infinite iteration, domain, preimage, determinacy, invariants and convergence. Calculations
A Denotational Semantics for Curry (progress report)
"... Abstract. We aim to build a denotational semantics for the functional logic programming language Curry, to be used for parametricity and logical relation arguments. First, we investigate only a subset of Curry, but include the important features that separate Curry from a just functional language. W ..."
Abstract
 Add to MetaCart
Abstract. We aim to build a denotational semantics for the functional logic programming language Curry, to be used for parametricity and logical relation arguments. First, we investigate only a subset of Curry, but include the important features that separate Curry from a just functional language. We compare a poweralgebraic and a multialgebraic semantic approach and motivate our decision for the multialgebraic one. Afterwards, we describe how general recursion and lists, as an example for algebraic data types, can be added. 1
K: a Rewritebased Framework for Modular Language Design, Semantics, Analysis and Implementation —Version 2—
"... K is an algebraic framework for defining programming languages. It consists of a technique and of a specialized and highly optimized notation. The Ktechnique, which can be best explained in terms of rewriting modulo equations or in terms of rewriting logic, is based on a firstorder representation ..."
Abstract
 Add to MetaCart
K is an algebraic framework for defining programming languages. It consists of a technique and of a specialized and highly optimized notation. The Ktechnique, which can be best explained in terms of rewriting modulo equations or in terms of rewriting logic, is based on a firstorder representation of continuations with intensive use of matching modulo associativity, commutativity and identity. The Knotation consists of a series of highlevel conventions that make the programming language definitions intuitive, easy to understand, to read and to teach, compact, modular and scalable. One important notational convention is based on context transformers, definitions once the concrete structure of the state is provided, by “completing ” the contexts in which the rules should apply. The K framework is introduced by defining FUN, a concurrent higherorder programming language with parametric exceptions. A rewrite logic definition of a programming language can be executed on rewrite engines, thus providing an interpreter for the language for free, but also gives an initial model semantics, amenable to formal analysis such as model checking and inductive theorem proving. Rewrite logic definitions in K can lead to
der Rheinischen FriedrichWilhelmsUniversität Bonn An Adequate, Denotational, FunctionalStyle Semantics for Typed FlatCurry
"... Forschungsberichte sind erhältlich durch: Technical reports can be requested from: ..."
Abstract
 Add to MetaCart
Forschungsberichte sind erhältlich durch: Technical reports can be requested from:
Compositional Homomorphisms of Relational Structures (Modeled As Multialgebras)
, 2003
"... The paper attempts a systematic study of homomorphisms of relational structures. Such structures are modeled as multialgebras (i.e., relation is represented as a setvalued function). The first, main, result is that, under reasonable restrictions on the form of the definition of homomorphism, there ..."
Abstract
 Add to MetaCart
The paper attempts a systematic study of homomorphisms of relational structures. Such structures are modeled as multialgebras (i.e., relation is represented as a setvalued function). The first, main, result is that, under reasonable restrictions on the form of the definition of homomorphism, there are exactly nine compositional homomorphisms of multialgebras. Then the comparison of the obtained categories with respect to the existence of finite limits and colimits reveals two of them to be finitely complete and cocomplete. Without claiming that compositionality and categorical properties are the only possible criteria for selecting a definition of homomorphism, we nevertheless suggest that, for many purposes, these criteria actually might be acceptable. For such cases, the paper gives an overview of the available alternatives and a clear indication of their advantages and disadvantages.
and
, 906
"... We present here three different approaches to the problem of modeling mathematically the concept of a nondeterministic mechanism. Each of these three approaches leads to a mathematical definition. We then show that all the three mathematical concepts are equivalent to one another. This insight gives ..."
Abstract
 Add to MetaCart
We present here three different approaches to the problem of modeling mathematically the concept of a nondeterministic mechanism. Each of these three approaches leads to a mathematical definition. We then show that all the three mathematical concepts are equivalent to one another. This insight gives us the option of approaching the wp formalism of Dijkstra from a different viewpoint that is easier to understand and to teach.
ATermGraphSyntax for Algebras over Multisets ⋆
"... Abstract. Earlier papers argued that term graphs play for the specification of relationbased algebras the same role that standard terms play for total algebras. The present contribution enforces the claim by showing that term graphs are a sound and complete representation for multiset algebras, i.e ..."
Abstract
 Add to MetaCart
Abstract. Earlier papers argued that term graphs play for the specification of relationbased algebras the same role that standard terms play for total algebras. The present contribution enforces the claim by showing that term graphs are a sound and complete representation for multiset algebras, i.e., algebras whose operators are interpreted over multisets. 1