AutomaticMultipathConfigurationShowcase

Package: inet.showcases.tsn.framereplication.automaticmultipathconfiguration

AutomaticMultipathConfigurationShowcase

network

(no description)

PcapRecorder IIntegratedVisualizer IL3NetworkConfigurator INetworkConfigurator IGateScheduleConfigurator INetworkConfigurator INetworkConfigurator TsnDevice LocalTsnSwitch LocalTsnSwitch LocalTsnSwitch LocalTsnSwitch LocalTsnSwitch TsnDevice

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends

Name Type Description
TsnNetworkBase network

This module serves as a network base module for Time-Sensitive Networking (TSN).

Parameters

Name Type Default value Description
recordPcap bool false
numPcapRecorders int recordPcap ? 1 : 0
hasGlobalArp bool true

Properties

Name Value Description
isNetwork
class NetworkBase

Unassigned submodule parameters

Name Type Default value Description
pcapRecorder.verbose bool true

whether to log packets on the module output

pcapRecorder.pcapFile string ""

the PCAP file to be written

pcapRecorder.fileFormat string "pcapng"
pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

pcapRecorder.displayStringTextFormat string "rec: %n pks"
source.status.initialStatus string "UP"

TODO @signal, @statistic

source.pcapRecorder.verbose bool true

whether to log packets on the module output

source.pcapRecorder.pcapFile string ""

the PCAP file to be written

source.pcapRecorder.fileFormat string "pcapng"
source.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

source.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

source.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

source.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

source.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

source.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

source.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

source.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

source.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

source.pcapRecorder.displayStringTextFormat string "rec: %n pks"
source.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

source.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

source.cb.forwardServiceRegistration bool true
source.cb.forwardProtocolRegistration bool true
source.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

source.bl.forwardServiceRegistration bool true
source.bl.forwardProtocolRegistration bool true
source.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

source.li.forwardServiceRegistration bool true
source.li.forwardProtocolRegistration bool true
source.eth.bitrate double
source.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

source.nl.forwardServiceRegistration bool true
source.nl.forwardProtocolRegistration bool true
source.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

source.tn.forwardServiceRegistration bool true
source.tn.forwardProtocolRegistration bool true
source.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

source.at.forwardServiceRegistration bool true
source.at.forwardProtocolRegistration bool true
s1.macTable.agingTime double
s1.macTable.forwardingTableFile string
s1.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

s1.l2NodeConfigurator.interfaceTableModule string
s1.l2NodeConfigurator.l2ConfiguratorModule string "l2NetworkConfigurator"

the absolute path to the ~L2NetworkConfigurator; use "" if there is no configurator

s1.status.initialStatus string "UP"

TODO @signal, @statistic

s1.pcapRecorder.verbose bool true

whether to log packets on the module output

s1.pcapRecorder.pcapFile string ""

the PCAP file to be written

s1.pcapRecorder.fileFormat string "pcapng"
s1.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

s1.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

s1.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

s1.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

s1.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

s1.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

s1.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

s1.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

s1.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

s1.pcapRecorder.displayStringTextFormat string "rec: %n pks"
s1.stp.helloTime double
s1.stp.forwardDelay double
s1.stp.maxAge double
s1.stp.bridgePriority int
s1.stp.visualize bool
s1.sc.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s1.sc.forwardServiceRegistration bool true
s1.sc.forwardProtocolRegistration bool true
s1.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s1.cb.forwardServiceRegistration bool true
s1.cb.forwardProtocolRegistration bool true
s1.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s1.bl.forwardServiceRegistration bool true
s1.bl.forwardProtocolRegistration bool true
s1.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s1.li.forwardServiceRegistration bool true
s1.li.forwardProtocolRegistration bool true
s1.cutthrough.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s1.cutthrough.forwardServiceRegistration bool true
s1.cutthrough.forwardProtocolRegistration bool true
s1.eth.bitrate double
s2a.macTable.agingTime double
s2a.macTable.forwardingTableFile string
s2a.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

s2a.l2NodeConfigurator.interfaceTableModule string
s2a.l2NodeConfigurator.l2ConfiguratorModule string "l2NetworkConfigurator"

the absolute path to the ~L2NetworkConfigurator; use "" if there is no configurator

s2a.status.initialStatus string "UP"

TODO @signal, @statistic

s2a.pcapRecorder.verbose bool true

whether to log packets on the module output

s2a.pcapRecorder.pcapFile string ""

the PCAP file to be written

s2a.pcapRecorder.fileFormat string "pcapng"
s2a.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

s2a.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

s2a.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

s2a.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

s2a.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

s2a.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

s2a.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

s2a.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

s2a.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

s2a.pcapRecorder.displayStringTextFormat string "rec: %n pks"
s2a.stp.helloTime double
s2a.stp.forwardDelay double
s2a.stp.maxAge double
s2a.stp.bridgePriority int
s2a.stp.visualize bool
s2a.sc.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s2a.sc.forwardServiceRegistration bool true
s2a.sc.forwardProtocolRegistration bool true
s2a.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s2a.cb.forwardServiceRegistration bool true
s2a.cb.forwardProtocolRegistration bool true
s2a.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s2a.bl.forwardServiceRegistration bool true
s2a.bl.forwardProtocolRegistration bool true
s2a.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s2a.li.forwardServiceRegistration bool true
s2a.li.forwardProtocolRegistration bool true
s2a.cutthrough.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s2a.cutthrough.forwardServiceRegistration bool true
s2a.cutthrough.forwardProtocolRegistration bool true
s2a.eth.bitrate double
s3a.macTable.agingTime double
s3a.macTable.forwardingTableFile string
s3a.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

s3a.l2NodeConfigurator.interfaceTableModule string
s3a.l2NodeConfigurator.l2ConfiguratorModule string "l2NetworkConfigurator"

the absolute path to the ~L2NetworkConfigurator; use "" if there is no configurator

s3a.status.initialStatus string "UP"

TODO @signal, @statistic

s3a.pcapRecorder.verbose bool true

whether to log packets on the module output

s3a.pcapRecorder.pcapFile string ""

the PCAP file to be written

s3a.pcapRecorder.fileFormat string "pcapng"
s3a.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

s3a.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

s3a.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

s3a.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

s3a.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

s3a.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

s3a.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

s3a.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

s3a.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

s3a.pcapRecorder.displayStringTextFormat string "rec: %n pks"
s3a.stp.helloTime double
s3a.stp.forwardDelay double
s3a.stp.maxAge double
s3a.stp.bridgePriority int
s3a.stp.visualize bool
s3a.sc.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s3a.sc.forwardServiceRegistration bool true
s3a.sc.forwardProtocolRegistration bool true
s3a.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s3a.cb.forwardServiceRegistration bool true
s3a.cb.forwardProtocolRegistration bool true
s3a.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s3a.bl.forwardServiceRegistration bool true
s3a.bl.forwardProtocolRegistration bool true
s3a.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s3a.li.forwardServiceRegistration bool true
s3a.li.forwardProtocolRegistration bool true
s3a.cutthrough.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s3a.cutthrough.forwardServiceRegistration bool true
s3a.cutthrough.forwardProtocolRegistration bool true
s3a.eth.bitrate double
s2b.macTable.agingTime double
s2b.macTable.forwardingTableFile string
s2b.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

s2b.l2NodeConfigurator.interfaceTableModule string
s2b.l2NodeConfigurator.l2ConfiguratorModule string "l2NetworkConfigurator"

the absolute path to the ~L2NetworkConfigurator; use "" if there is no configurator

s2b.status.initialStatus string "UP"

TODO @signal, @statistic

s2b.pcapRecorder.verbose bool true

whether to log packets on the module output

s2b.pcapRecorder.pcapFile string ""

the PCAP file to be written

s2b.pcapRecorder.fileFormat string "pcapng"
s2b.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

s2b.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

s2b.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

s2b.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

s2b.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

s2b.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

s2b.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

s2b.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

s2b.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

s2b.pcapRecorder.displayStringTextFormat string "rec: %n pks"
s2b.stp.helloTime double
s2b.stp.forwardDelay double
s2b.stp.maxAge double
s2b.stp.bridgePriority int
s2b.stp.visualize bool
s2b.sc.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s2b.sc.forwardServiceRegistration bool true
s2b.sc.forwardProtocolRegistration bool true
s2b.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s2b.cb.forwardServiceRegistration bool true
s2b.cb.forwardProtocolRegistration bool true
s2b.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s2b.bl.forwardServiceRegistration bool true
s2b.bl.forwardProtocolRegistration bool true
s2b.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s2b.li.forwardServiceRegistration bool true
s2b.li.forwardProtocolRegistration bool true
s2b.cutthrough.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s2b.cutthrough.forwardServiceRegistration bool true
s2b.cutthrough.forwardProtocolRegistration bool true
s2b.eth.bitrate double
s3b.macTable.agingTime double
s3b.macTable.forwardingTableFile string
s3b.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

s3b.l2NodeConfigurator.interfaceTableModule string
s3b.l2NodeConfigurator.l2ConfiguratorModule string "l2NetworkConfigurator"

the absolute path to the ~L2NetworkConfigurator; use "" if there is no configurator

s3b.status.initialStatus string "UP"

TODO @signal, @statistic

s3b.pcapRecorder.verbose bool true

whether to log packets on the module output

s3b.pcapRecorder.pcapFile string ""

the PCAP file to be written

s3b.pcapRecorder.fileFormat string "pcapng"
s3b.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

s3b.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

s3b.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

s3b.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

s3b.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

s3b.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

s3b.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

s3b.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

s3b.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

s3b.pcapRecorder.displayStringTextFormat string "rec: %n pks"
s3b.stp.helloTime double
s3b.stp.forwardDelay double
s3b.stp.maxAge double
s3b.stp.bridgePriority int
s3b.stp.visualize bool
s3b.sc.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s3b.sc.forwardServiceRegistration bool true
s3b.sc.forwardProtocolRegistration bool true
s3b.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s3b.cb.forwardServiceRegistration bool true
s3b.cb.forwardProtocolRegistration bool true
s3b.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s3b.bl.forwardServiceRegistration bool true
s3b.bl.forwardProtocolRegistration bool true
s3b.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s3b.li.forwardServiceRegistration bool true
s3b.li.forwardProtocolRegistration bool true
s3b.cutthrough.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

s3b.cutthrough.forwardServiceRegistration bool true
s3b.cutthrough.forwardProtocolRegistration bool true
s3b.eth.bitrate double
destination.status.initialStatus string "UP"

TODO @signal, @statistic

destination.pcapRecorder.verbose bool true

whether to log packets on the module output

destination.pcapRecorder.pcapFile string ""

the PCAP file to be written

destination.pcapRecorder.fileFormat string "pcapng"
destination.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

destination.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

destination.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

destination.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

destination.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

destination.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

destination.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

destination.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

destination.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

destination.pcapRecorder.displayStringTextFormat string "rec: %n pks"
destination.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

destination.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

destination.cb.forwardServiceRegistration bool true
destination.cb.forwardProtocolRegistration bool true
destination.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

destination.bl.forwardServiceRegistration bool true
destination.bl.forwardProtocolRegistration bool true
destination.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

destination.li.forwardServiceRegistration bool true
destination.li.forwardProtocolRegistration bool true
destination.eth.bitrate double
destination.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

destination.nl.forwardServiceRegistration bool true
destination.nl.forwardProtocolRegistration bool true
destination.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

destination.tn.forwardServiceRegistration bool true
destination.tn.forwardProtocolRegistration bool true
destination.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

destination.at.forwardServiceRegistration bool true
destination.at.forwardProtocolRegistration bool true

Source code

network AutomaticMultipathConfigurationShowcase extends TsnNetworkBase
{
    submodules:
        source: TsnDevice {
            @display("p=300,200");
        }
        s1: LocalTsnSwitch {
            @display("p=500,200");
        }
        s2a: LocalTsnSwitch {
            @display("p=700,100");
        }
        s3a: LocalTsnSwitch {
            @display("p=900,100");
        }
        s2b: LocalTsnSwitch {
            @display("p=700,300");
        }
        s3b: LocalTsnSwitch {
            @display("p=900,300");
        }
        destination: TsnDevice {
            @display("p=1100,200");
        }
    connections:
        s3a.ethg++ <--> EthernetLink <--> destination.ethg++;
        s3b.ethg++ <--> EthernetLink <--> destination.ethg++;
        s2a.ethg++ <--> EthernetLink <--> s3a.ethg++;
        s2b.ethg++ <--> EthernetLink <--> s3b.ethg++;
        s2a.ethg++ <--> EthernetLink <--> s2b.ethg++;
        s1.ethg++ <--> EthernetLink <--> s2a.ethg++;
        s1.ethg++ <--> EthernetLink <--> s2b.ethg++;
        source.ethg++ <--> EthernetLink <--> s1.ethg++;
}

File: showcases/tsn/framereplication/automaticmultipathconfiguration/AutomaticMultipathConfigurationShowcase.ned