...
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 |
...