Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PlantUML Macro
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
' Copyright 2020 highstreet technologies GmbH
' Licensed under the Apache License, Version 2.0 (the "License"); 
' you may not use this file except in compliance with the License. 
' You may obtain a copy of the License at 
' 
' http://www.apache.org/licenses/LICENSE-2.0 
' 
' Unless required by applicable law or agreed to in writing, software 
' distributed under the License is distributed on an "AS IS" BASIS, 
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
' See the License for the specific language governing permissions and 
' limitations under the License. 
'
' With repect to ONF CoreModel and IISOMI

@startuml

' Diagram 
title 
  ODLUX NetworkApp Information Model
end title

package network-map-types {
  class GeoLocation <<Type>>{
    decimal[ fraction-digit 5 ] latitude
    decimal[ fraction-digit 5 ] longitude
    decimal[ fraction-digit 1 ] above-mean-sea-level [m]
    String geo-source
  }
  class SiteNeighbor {
    Site neighbor
    decimal[ fraction-digit 2 ] azimuth [°]
    Integer distance [m]
    String operator
  }
}

package network-map-interfaces {
  interface Top {
    UUID id
    String class
    String name
    String label
    ENUM life-cycle-state
    ENUM alarm-summary-state
  }
  interface Topology implements Top
  interface Node implements Top
  interface Edge implements Top
  interface Path implements Top
}

package network-map-classes {
  class Network implements TopTopology
  class SubNetwork implements TopNode
  class Site implements TopNode
  class Device implements TopNode
  class Port implements TopNode
class  SiteLink
 implements Top
class DeviceLinkLink implements TopEdge
class PortLink implements Top
class SitePathService implements TopPath
}

NetworkTopology "1" *--> "*" SubNetworkNode: hasSubnetworkshasNodes
NetworkTopology "1" *--> "*" SitePathEdge: hasSitePatheshasEdges
NetworkTopology "1" *--> "*" SiteLinkPath: hasSiteLinks
SubNetwork "1"hasPaths
Node *--> "*" SiteNode: hasSiteshasChildren
SiteNode "1" *--> "*" DeviceNode: hasDeviceshasNeighborsOfSameType
Site ..> GeoLocation: uses
DeviceEdge *--> "*" Edge: hasChildren
Edge "1" *o--> "*2" PortNode: linkHasPortsrefrencesNodesOfSameType
SiteLinkPath "1" o--> "2*" SiteEdge: referencesSites
SiteLink "1"referencesLinks


Network *--> "*" DeviceLinkSubNetwork: hasDeviceLinkshasSubnetworks
DeviceLinkNetwork "1" *--> "*" PortLinkService: hasPortLinkshasServices
DeviceLink "1" oNetwork *--> "2*" DeviceLink: referencesDeviceshasLinks
PortLink "1" oNetwork *--> "2*" PortSite: referencesPortshasSites

SitePathSubNetwork "1" o--> "*" SiteLinkSite: referencesSiteLinks
referencesSites
class Site {
GeoLocation geo-location
}

class SiteLink {
Site first-site
Site second-site
decimal[ fraction-digit 2 ] azimuth-first-site [°]
decimal[ fraction-digit 2 ] azimuth-second-site [°]
Integer distance [m]
String operator*--> "*" Device: hasDevices
Device *--> "*" Port: hasPorts

Site ..> SiteNeighbor: uses
Site ..> GeoLocation: uses

class Site {
  GeoLocation geo-location
}

class Device {
  String type
  String manufacture
  String owner
}

class Port {
  int capacity [kbit{s]
}

' End Diagram
' Format
header
  <b><font color=#8888ff>License</font></b>
  <b><font color=#8888ff>Apache 2.0</font></b>
end header

right footer 
  Thanks to plantUml! 
  2020-05-1921 | onap.org | o-ran-sc.orgccsdk sdnc
end footer

skinparam backgroundColor #fefefe

skinparam backgroundColor #fefefe
'skinparam handwritten true
skinparam roundcorner 15

skinparam class {
  BorderColor #444444
  BackgroundColor #ffffdd
  FontColor #444444
}

skinparam database {
  BorderColor #444444
  BackgroundColor #ffffdd
  FontColor #444444
}

skinparam sequence {
  MessageAlign left
  ArrowThickness 2
  ArrowColor #2277dd
  ArrowFontColor #444444
  ActorBorderColor #444444
  LifeLineBorderColor #444444
  LifeLineBackgroundColor #eeeeee
 
  BoxBorderColor #444444
    
  GroupBorderColor #444444
  GroupBackgroundColor #eeeeee
  
  ParticipantBorderColor #444444
  ParticipantBackgroundColor #ffffdd
  ParticipantFontColor #444444
    
  ActorBackgroundColor #ffffdd
  'ActorFontColor DeepSkyBlue
  'ActorFontSize 17
  'ActorFontName Aapex
}
@enduml

...