Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/VDM/VDMRT/VDMRT/   (Wiener Entwicklungsmethode ©)  Datei vom 13.4.2020 mit Größe 1 kB image not shown  

Quelle  TrafficData.vdmrt   Sprache: VDM

 
\section{TrafficData Class}


\begin{vdm_al}
-----------------------------------------------
-- Class: TrafficData
-- Description:  TrafficData is the base for different types of 
-- messages in the system.
-----------------------------------------------

--
-- class definition
--
class TrafficData

--
-- instance variables
--
instance variables
private dir: Types`Direction;
private pos: Position;
private message: MessageType;
private timeToLive : nat;

--
-- Types definition section
--
types   
public MessageType = <LowGrip> | <Congestion> | <LeftTurn> | <RedLight>;

--
-- Operations definition section
--
operations
public TrafficData: MessageType * Position * Types`Direction ==> TrafficData
 TrafficData(m,p,d) ==
  (
  pos := p ;
  message := m;
  dir := d;
  timeToLive := time + Config`TrafficDataLifeTime;
  );

public GetPosition: () ==> Position 
 GetPosition() ==
 return pos;
 
public GetMessage: () ==> MessageType
 GetMessage() ==
 return message;

public GetDirection: () ==> Types`Direction 
GetDirection() ==
return dir;
 
public Expired : () ==> bool
Expired() ==
return time >= timeToLive;

public ToString : () ==> seq of char 
ToString() ==
return "traffic data reporting " 
  ^ MessageTypeToString(message) 
  ^ " moved " ^ Types`DirectionToString(dir) 
  ^ " at " ^ pos.toString()  
  ^ " with lifetime " 
  ^ Printer`intToString(timeToLive - time);

--
-- Functions definition section
--
functions

public static MessageTypeToString : MessageType -> seq of char 
MessageTypeToString(m) ==
(
cases m:
<LowGrip>-> "Low Grip",
<Congestion>-> "Congestion ",
<LeftTurn>-> "Left Turn",
<RedLight> -> "Red Light"
end
)

--
-- Values definition section
--
values

end TrafficData


\end{vdm_al}

\begin{rtinfo}
[TotalxCoverage]{vdm.tc}[TrafficData]
\end{rtinfo}

86%


¤ Dauer der Verarbeitung: 0.14 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.