Information Technology Reference
In-Depth Information
4
From Static Domain Model to Domain-Specific
Language
In this section we explain how a domain-specific description language for our
case study can be formally developed from a static domain model using RSL.
At the end of this development process, the RSL model obtained represents the
abstract syntax
and
static semantics
of the DSL under construction. It then
only remains to associate the abstract syntactic elements with
concrete
syntax,
in order to complete the DSL definition: The
behavioural semantics
is defined in
a transformational way by means of the generator translating DSL specifications
into SystemC.
4.1
RSL Static Domain Model
We start by describing how a domain model can be established. The domain
model covers the concepts of railway networks and routes. More general models
would typically cover further aspects like time tables, but here we only present
those concepts that are relevant for the development of the application consid-
ered in this paper. The model of each concept is
generic
(algebraic) in the sense
that it defines
which
properties any concrete instance of the concept should have.
The generic model can be instantiated to produce a
concrete
one defining
what
the specific properties are for that specific instance.
Generic Network Model.
Any concrete network model should describe the
topology of a railway network consisting of the physical components: segments,
sensors, signals and points.
In the generic model, for each kind of component, an abstract type of identi-
fiers for its components is declared:
type
Sensor, Point, Signal, Segment
Furthermore, signatures for functions that describe the relationship between the
components are given. For instance, the following function gives the sensor at
which a given signal is placed:
value
sensor of : Signal
→
Sensor
Finally, a number of axioms express requirements to these functions, i.e. impose
restrictions on which network topologies are allowed. For instance, the following
axiom requires that any two distinct signals are placed at distinct sensors:
∀
s1, s2 : Signal
•
s1
=s2
⇒
sensor of(s1)
=sensorof(s2)
To describe a
concrete network
, the elements of the types should be specified
and the functions should be explicitly defined in such a way that the axioms are
satisfied.
Search WWH ::
Custom Search