2,500 research outputs found
PROGRAM CODE GENERATION BASED ON UML STATECHART MODELS
Since visual modelling languages are getting more and more
popular, the automatic
generation of the program code on the basis of high-level models is an
important
issue. This article discusses implementation possibilities of statecharts,
the graphical notation for describing state-based event-driven behaviour in the
Unified Modelling Language (UML). The first part of the article outlines
common approaches published in the literature and identifies their weaknesses.
In the second part an implementation pattern is proposed that is capable of
efficiently instantiating most of the statechart features. The pattern
developed by us poses low hardware requirements therefore applicable even in
embedded systems
A formally verified compiler back-end
This article describes the development and formal verification (proof of
semantic preservation) of a compiler back-end from Cminor (a simple imperative
intermediate language) to PowerPC assembly code, using the Coq proof assistant
both for programming the compiler and for proving its correctness. Such a
verified compiler is useful in the context of formal methods applied to the
certification of critical software: the verification of the compiler guarantees
that the safety properties proved on the source code hold for the executable
compiled code as well
Refinement Calculus of Reactive Systems
Refinement calculus is a powerful and expressive tool for reasoning about
sequential programs in a compositional manner. In this paper we present an
extension of refinement calculus for reactive systems. Refinement calculus is
based on monotonic predicate transformers, which transform sets of post-states
into sets of pre-states. To model reactive systems, we introduce monotonic
property transformers, which transform sets of output traces into sets of input
traces. We show how to model in this semantics refinement, sequential
composition, demonic choice, and other semantic operations on reactive systems.
We use primarily higher order logic to express our results, but we also show
how property transformers can be defined using other formalisms more amenable
to automation, such as linear temporal logic (suitable for specifications) and
symbolic transition systems (suitable for implementations). Finally, we show
how this framework generalizes previous work on relational interfaces so as to
be able to express systems with infinite behaviors and liveness properties
Formal aspects of component software
This is the pre-proceedings of 6th International Workshop on Formal Aspects of Component Software (FACS'09)
- …