|
Network Design Markup Language, Version NDML 1.0NDML 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. |
Contact
Secretary:
Romy Jarschel Phone: +49 (0) 351 463-38281 Fax: +49 (0) 351 463-38251 ![]() 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 |