Re: Double switch crossing: 'crossingRef' attribute for the fictive switches [message #375 is a reply to message #352] |
Tue, 02 October 2012 19:21 |
Dirk Bräuer
Messages: 311 Registered: August 2008
|
Senior Member |
|
|
Dear Christian,
> But still I am a big fan of the idea of grouping infrastructure
> elements. Therefore I want to suggest an alternative approach, which
> defines macroscopic infrastructure elements such as diamond crossings or
> turntables and let them refer to microscopic elements.
In general, I totally agree with you.
In particular, I would prefer not to force it to very special (limited)
macroscopic elements.
The theory is in my opinion:
1. There is a limited number of natural microscopic elements: tracks,
points, may be crossings (but even not necessarily crossings - could be
two tracks). We should be able to enumerate all allowed microscopic
elements.
2. There is a much more greater possible number of macroscopic elements,
and may be we do not even know all possible macroscopic elements.
That's why I would prefer to use your 'grouping' idea in a very much
generic way:
- No pre-defined macroscopic element type
'doubleSwitchCrossing'/'diamondCrossing' or 'turntable' or such.
- Macroscopic elements can refer to other macroscopic elements - there can
be a hierarchy just as we have allowed it with OCPs (which I think is very
good generic).
Your example would then be:
<macroscopicTrackElement id="kr01" type="crossing" >
<elementRef type="track" ref="s01s03">
<elementRef type="track" ref="s02s04">
</macroscopicTrackElement>
<macroscopicTrackElement id="dkw01" type="diamondCrossing" >
<elementRef type="macro" ref="kr01"> <-- one macroscopicTrackElement
to another
<elementRef type="switch" ref="s01">
<elementRef type="switch" ref="s02">
<elementRef type="switch" ref="s03">
<elementRef type="switch" ref="s04">
<elementRef type="track" ref="t01c01">
<elementRef type="track" ref="t02c01">
<elementRef type="track" ref="c01t03">
<elementRef type="track" ref="c01t04">
</macroscopicTrackElement>
The attribute <macroscopicTrackElement>."type" is the compromise: It is
pre-defined, but it is an enumeration which can always and easily be
extended (and which can allow non-predefined enumeration values).
With this generic principle of grouping infrastructure elements, I think
we are very flexible, very general and therefore have much advantages
compared with the current infrastructure model, so that it is worth the
effort of change. I would welcome such a change in 3.0.
Best regards,
Dirk.
|
|
|