  We propose $\mathcal{E}^{\downarrow}$-logic as a formal foundation for the
specification and development of event-based systems with local data states.
The logic is intended to cover a broad range of abstraction levels from
abstract requirements specifications up to constructive specifications. Our
logic uses diamond and box modalities over structured actions adopted from
dynamic logic. Atomic actions are pairs $e /\psi$ where $e$ is an event and
$\psi$ a state transition predicate capturing the allowed reactions to the
event. To write concrete specifications of recursive process structures we
integrate (control) state variables and binders of hybrid logic. The semantic
interpretation relies on event/data transition systems; specification
refinement is defined by model class inclusion. For the presentation of
constructive specifications we propose operational event/data specifications
allowing for familiar, diagrammatic representations by state transition graphs.
We show that $\mathcal{E}^{\downarrow}$-logic is powerful enough to
characterise the semantics of an operational specification by a single
$\mathcal{E}^{\downarrow}$-sentence. Thus the whole development process can
rely on $\mathcal{E}^{\downarrow}$-logic and its semantics as a common basis.
This includes also a variety of implementation constructors to support, among
others, event refinement and parallel composition.
