TUD Logo

German |   Search 
Dresden University of Technology » Faculty of Computer Science » Institute for System Architecture » Chair of Computer Networks

Rechnernetze

Network Design Markup Language, Version NDML 1.0

NDML 1.0 ist DTD-oriented,

You can realize a validation of your instances by embedding of the following line

<!DOCTYPE NETWORK SYSTEM "http://www.rn.inf.tu-dresden.de/scripts_lsrn/Lehre/candy/ndml-dtd/ndml1-0-xxx.dtd">

 

( 1) Complete DTD of project file / Version 1.0 (xxx = project)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT project (devices, nics, media, nets)>

<!ATTLIST project projectId ID #REQUIRED name CDATA #REQUIRED developer CDATA #IMPLIED > 

<!ELEMENT devices (device*)>

<!ELEMENT device EMPTY>

<!ATTLIST device id ID #REQUIRED name CDATA #REQUIRED description CDATA #REQUIRED freeNicSlots CDATA #REQUIRED availableNics CDATA #REQUIRED > 

<!ELEMENT nics (nic*)>

<!ELEMENT nic EMPTY>

<!ATTLIST nic id ID #REQUIRED name CDATA #REQUIRED description CDATA #REQUIRED home IDREF #REQUIRED usedTechnology CDATA #REQUIRED > 

<!ELEMENT media (medium*)>

<!ELEMENT medium (connectedNic+)>

<!ATTLIST medium id ID #REQUIRED name CDATA #REQUIRED length CDATA #IMPLIED description CDATA #IMPLIED plugType CDATA #IMPLIED

<!ELEMENT nets (net*)>

<!ELEMENT net (internalMedium*, uplink?)>

<!ATTLIST net id ID #REQUIRED description CDATA #IMPLIED > 

<!ELEMENT connectedNic EMPTY>

<!ATTLIST connectedNic id IDREF #REQUIRED > 

<!ELEMENT internalMedium EMPTY>

<!ATTLIST internalMedium id IDREF #REQUIRED > 

<!ELEMENT uplink EMPTY>

<!ATTLIST uplink medium IDREF #REQUIRED device IDREF #REQUIRED > 

 

( 2 ) DTD base_nics.xml (xxx = base-nics)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT nics (nic+)>

<!ELEMENT nic (technologies)>

<!ATTLIST nic name ID #REQUIRED manufacturer CDATA #IMPLIED price CDATA #REQUIRED solidPart CDATA #REQUIRED description CDATA #IMPLIED plugTyp CDATA #REQUIRED > 

<!ELEMENT technologies (technology+)>

<!ELEMENT technology (#PCDATA)>

 

( 3) DTD base_Media.xml (xxx = base-media)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT media (medium+)>

<!ELEMENT medium (usablePlugTyps)>

<!ATTLIST medium name ID #REQUIRED price CDATA #REQUIRED CDATA #REQUIRED description CDATA #REQUIRED > 

<!ELEMENT usablePlugTyps (plugTyp*)>

<!ELEMENT plugTyp (#PCDATA)>

 

( 4 ) DTD base_Devices.xml (xxx = base-devices)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT devices (device+)>

<!ELEMENT device (defaultNics)>

<!ATTLIST device name ID #REQUIRED typ CDATA #REQUIRED manufacturer CDATA #IMPLIED price CDATA #REQUIRED totalFreeNicSlots CDATA #REQUIRED description CDATA #REQUIRED > 

<!ELEMENT defaultNics (defaultNic*)>

<!ELEMENT defaultNic EMPTY>

<!ATTLIST defaultNic amount CDATA #REQUIRED name CDATA #REQUIRED > 

 

( 5 ) DTD base_Plugs.xml (xxx = base-plugs)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT plugs (plug+)>

<!ELEMENT plug EMPTY>

<!ATTLIST plug name ID #REQUIRED picture CDATA #IMPLIED description CDATA #REQUIRED

 

( 6) DTD base_Technologies.xml (xxx = base-technologies)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT technologies (technology+)>

<!ELEMENT technology (usableMedia)>

<!ATTLIST technology name ID #REQUIRED transferRate CDATA #REQUIRED maxDistance CDATA #REQUIRED description CDATA #REQUIRED > 

<!ELEMENT usableMedia (medium+)>

<!ELEMENT medium (#CDATA)>

 

( 7 ) DTD idMgmt.xml (xxx = id-management)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT ids (nextFreeProjectID,nextFreeNicID,nextFreeDeviceID,

nextFreeMediumID, nextFreeSpecialID)>

<!ELEMENT nextFreeProjectID (#CDATA)>

<!ELEMENT nextFreeNicID (#CDATA)>

<!ELEMENT nextFreeDeviceID (#CDATA)>

<!ELEMENT nextFreeMediumID (#CDATA)>

<!ELEMENT nextFreeSpecialID (#CDATA)>

 

( 8 ) DTD projectMgmt.xml (xxx = project-management)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT projects (project*)>

<!ELEMENT project (name,id)>

<!ELEMENT name (#CDATA)>

<!ELEMENT id (#CDATA)>

 

( 9) DTD UserMgmt.xml (xxx = user-managemnet)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT users (user*)>

<!ELEMENT user (projects)>

<!ATTLIST user login CDATA #REQUIRED password CDATA #REQUIRED>

<!ELEMENT projects (project*)>

<!ELEMENT project (#CDATA)>

 

( 10 ) DTD Simulation.xml (xxx = simulation)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT connectedNic EMPTY>

<!ATTLIST connectedNic  id IDREF #REQUIRED>

<!ELEMENT l_application EMPTY>

<!ATTLIST l_application  id ID #REQUIRED

               description CDATA #IMPLIED 

                l_type CDATA #REQUIRED

                l_packetSize CDATA #IMPLIED

                l_interval CDATA #IMPLIED

                l_burstTime CDATA #IMPLIED

                l_idleTime CDATA #IMPLIED

                l_rate CDATA #IMPLIED

                l_shape CDATA #IMPLIED

                l_maxpkts CDATA #IMPLIED

                l_random (1 | 0) #IMPLIED

                mvsa_min_packetSize CDATA #IMPLIED

                mvsa_max_packetSize CDATA #IMPLIED

                mvsa_step_packetSize CDATA #IMPLIED

                mvsa_min_interval CDATA #IMPLIED

                mvsa_max_interval CDATA #IMPLIED

                mvsa_step_interval CDATA #IMPLIED>

<!ELEMENT l_agent (l_application?)>

<!ATTLIST l_agent

                id ID #REQUIRED

                l_type CDATA #REQUIRED

                l_target IDREF #IMPLIED>

<!ELEMENT device (l_agent*)>

<!ATTLIST device

                id ID #REQUIRED

                name CDATA #REQUIRED

                description CDATA #REQUIRED

                qn_type CDATA #IMPLIED

                l_tracefilename CDATA #IMPLIED>

<!ELEMENT devices (device*)>

<!ELEMENT internalMedium EMPTY>

<!ATTLIST internalMedium

                id IDREF #REQUIRED>

<!ELEMENT media (medium*)>

<!ELEMENT medium (connectedNic+)>

<!ATTLIST medium

                id ID #REQUIRED

                name CDATA #REQUIRED

                maxNumberOfCouplings CDATA #IMPLIED

                l_delayTime CDATA #IMPLIED

                length CDATA #IMPLIED

                description CDATA #IMPLIED

                plugType CDATA #IMPLIED>

<!ELEMENT net (internalMedium*, uplink?)>

<!ATTLIST net

                id ID #REQUIRED

                description CDATA #IMPLIED>

<!ELEMENT nets (net*)>

<!ELEMENT nic (l_nicType, technology)>

<!ATTLIST nic

                id ID #REQUIRED

                description CDATA #IMPLIED

                home IDREF #REQUIRED

                plugType CDATA #IMPLIED

                l_bw CDATA #REQUIRED

                l_delay CDATA #REQUIRED

                l_LL CDATA #REQUIRED

                l_ifq CDATA #REQUIRED

                l_mac CDATA #REQUIRED

                l_channel CDATA #REQUIRED

                l_phy CDATA #REQUIRED > 

<!ELEMENT l_nicType EMPTY>

<!ATTLIST l_nicType

                l_wireless (ON | OFF) #REQUIRED

                l_satelliteOriented (ON | OFF) #REQUIRED

                l_wired (ON | OFF) #REQUIRED > 

<!ELEMENT nics (nic*)>

<!ELEMENT project (devices, nics, media, nets)>

<!ATTLIST project

                projectId ID #REQUIRED

                name CDATA #REQUIRED

                creationTime CDATA #REQUIRED

                lastModification CDATA #REQUIRED

                developer CDATA #REQUIRED

                description CDATA #IMPLIED

                username CDATA #IMPLIED

                password CDATA #IMPLIED

                l_simulationTime CDATA #REQUIRED

                l_traceCount CDATA #REQUIRED

                l_tracefilename CDATA #REQUIRED>

<!ELEMENT technology (#PCDATA)>

<!ELEMENT uplink EMPTY>

<!ATTLIST uplink

                medium IDREF #REQUIRED

                device IDREF #REQUIRED>

 

( 11 ) DTD Costs.xml (xxx = costs)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT costs (unit_price?, description?, price?)>

 <!ATTLIST costs   id CDATA #REQUIRED>

<!ELEMENT unit_price (#PCDATA)>

<!ELEMENT description (#PCDATA)>

<!ELEMENT price (#PCDATA)>

<!ELEMENT provider EMPTY>

  <!ATTLIST provider

                               id CDATA #REQUIRED

                               name CDATA #REQUIRED

                               price CDATA #REQUIRED>

 

(12) RadioNDML (Radio Network Design Markup Language) DTD (xxx = radio-ndml)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT project ( scenario )>

<!ATTLIST project

id ID #REQUIRED

name CDATA #REQUIRED

developer CDATA #REQUIRED

creationTime CDATA #REQUIRED

lastModification CDATA #REQUIRED

description CDATA #IMPLIED

l_simulationTime CDATA #IMPLIED

l_traceCount CDATA #IMPLIED

l_tracefilename CDATA #IMPLIED

password CDATA #IMPLIED

username CDATA #IMPLIED > 

 <!ELEMENT scenario  ( devices+ , users* , nics+ , environment* )>

<!ATTLIST scenario

height CDATA #REQUIRED

width CDATA #REQUIRED

ltlatitude CDATA #REQUIRED

ltlongitude CDATA #REQUIRED

rblatitude CDATA #REQUIRED

rblongitude CDATA #REQUIRED

 <!ELEMENT devices  ( device+ , antenna* , product+ )>

 <!ELEMENT device  ( ssid* , rantenna* , rproduct+ , c_user* )>

<!ATTLIST device id ID #REQUIRED

type (Accesspoint | Workstation | Switch | Server | ISDN | ADSL) #REQUIRED

xposition CDATA #REQUIRED

yposition CDATA #REQUIRED

zposition CDATA #REQUIRED

hdirection CDATA #REQUIRED

vdirection CDATA #REQUIRED > 

 <!ELEMENT ssid  ( #PCDATA )>

 <!ELEMENT rantenna  EMPTY>

<!ATTLIST rantenna rid IDREF #REQUIRED > 

 <!ELEMENT rproduct  EMPTY>

<!ATTLIST rproduct rid IDREF #REQUIRED > 

 <!ELEMENT c_user  ( user )*>

 <!ELEMENT user  EMPTY>

<!ATTLIST user number CDATA #REQUIRED uid IDREF #REQUIRED > 

 <!ELEMENT antenna  ( costs )*>

<!ATTLIST antenna id ID #REQUIRED name CDATA #REQUIRED gain CDATA #REQUIRED horizontalangle CDATA #REQUIRED verticalangle CDATA #REQUIRED > 

 <!ELEMENT costs  ( unit_price | price )*>

<!ATTLIST costs id ID #REQUIRED > 

 <!ELEMENT unit_price  ( #PCDATA )>

 <!ELEMENT price  ( #PCDATA )>

 <!ELEMENT product  ( transmitpower* , costs+ )>

<!ATTLIST product id ID #REQUIRED type CDATA #REQUIRED name CDATA #REQUIRED bandwidth CDATA #REQUIRED technologie CDATA #REQUIRED vendor CDATA #REQUIRED > 

 <!ELEMENT transmitpower  ( #PCDATA )>

<!ELEMENT users  ( utype )*>

 <!ELEMENT utype  EMPTY>

<!ATTLIST utype id ID #REQUIRED name CDATA #REQUIRED presence CDATA #REQUIRED ratio CDATA #REQUIRED t_avr CDATA #REQUIRED t_max CDATA #REQUIRED t_min CDATA #REQUIRED > 

 <!ELEMENT nics  ( nic )*>

 <!ELEMENT nic  ( l_nicType )*>

<!ATTLIST nic id ID #REQUIRED home IDREF #REQUIRED>

 <!ELEMENT l_nicType  EMPTY>

<!ATTLIST l_nicType l_satelliteOriented CDATA #REQUIRED l_wired CDATA #REQUIRED l_wireless CDATA #REQUIRED > 

<!ELEMENT environment  ( object | material )*>

 <!ELEMENT object  ( baseinfo | geometry | topology )*>

<!ATTLIST object id ID #REQUIRED material IDREF #REQUIRED > 

 <!ELEMENT baseinfo  EMPTY>

 <!ELEMENT geometry  EMPTY>

 <!ELEMENT topology  EMPTY>

 <!ELEMENT material  EMPTY>

<!ATTLIST material id ID #REQUIRED dampingfactor CDATA #REQUIRED name CDATA #REQUIRED>

 

(13) Geometry DTD (xxx = geometry)

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT baseinfo (name, shortdescription)>

<!ELEMENT building (baseinfo, geometry, topology)>

<!ATTLIST building id CDATA #REQUIRED>

<!ELEMENT building_models (building)>

<!ELEMENT geometry (ichnograpy, height?)>

<!ELEMENT height (#PCDATA)>

<!ELEMENT ichnograpy (shape+ | point+)>

<!ATTLIST ichnograpy type CDATA #IMPLIED>

<!ELEMENT name (#PCDATA)>

<!ELEMENT point EMPTY>

<!ATTLIST point x CDATA #REQUIRED y CDATA #REQUIRED>

<!ELEMENT project (building_models)>

<!ELEMENT rooms EMPTY>

<!ELEMENT shape (point+)>

<!ATTLIST shapetype CDATA #REQUIRED

<!ELEMENT shortdescription EMPTY>

<!ELEMENT side_wall_segment (ichnograpy)>

<!ELEMENT side_wall_segments (side_wall_segment+)>

<!ELEMENT sidewall (geometry, topology)>

<!ATTLIST sidewall id CDATA #REQUIRED>

<!ELEMENT sidewalls (sidewall+)>

<!ELEMENT storey (baseinfo, geometry, topology)>

<!ATTLIST storey id CDATA #REQUIRED>

<!ELEMENT storeys (storey+)>

<!ELEMENT topology (storeys?, walls?, rooms?, sidewalls?, side_wall_segments?)>

<!ELEMENT wall (geometry, topology)>

<!ATTLIST wall id CDATA #REQUIRED>

<!ELEMENT walls (wall*)>

 

NDML 3.0 was developed by several students during 2003 to 2004.
Stand: 5.10.2006, 9:22 Uhr
Autor: Webmaster

Contact
Secretary:
Romy Jarschel

Phone: +49 (0) 351 463-38281
Fax: +49 (0) 351 463-38251
e-mail contact form

Office:
room INF 3110


Postal address:
Dresden University of Technology
Department of Computer Science
Institute for Systems Architecture
Chair of Computer Networks
01062 Dresden - Germany


Visitors address:
Nöthnitzer Str. 46
room INF 3086
01187 Dresden - Germany