8/18/2019 OMN Ontology
1/55
Yahya Al-HazmiGENI-FIRE Workshop | Washington DC | September 17-18, 2015
Open-Multinet Ontologies – Their Hierarchy and Tooling
8/18/2019 OMN Ontology
2/55
-
Introduction- Open-Multinet (OMN) Hierarchy
- OMN Ontologies
- Tools
- OMN Converters
- FITeagle
- Semantic Orbit Measurement Library (OML)
- Use-cases
- Outlook
Outline
8/18/2019 OMN Ontology
3/55
Introduction
8/18/2019 OMN Ontology
4/55
-
Currently XML is used to describe heterogeneous resources- Arbitrary extensions to define more than links, nodes and further informat
- XML is extensible but
- no rule on how and in which part of the tree the extensions can be app
- the semantics have to be encoded in the parsing code (no reusability)
- APIs used for provisioning, monitoring and control use various data mode
OMSP and FRCP)
Issues in Federated ICT Infrastructure with Different Administrative D
8/18/2019 OMN Ontology
5/55
-
Users can’t find resources without knowing how the information was emb- Users have a hard time using different models in different APIs
- Developers have to hard code knowledge about the XML structure
- Developers have to hard code handovers between APIs
- Infrastructure owners are bound to the resource specification of a given fe
- Federators have to ensure that each infrastructure pushes “correct” inform
- The union of two tree structures is not a tree anymore! how to merge?
- With ! domains in a federation, O(!2) transformations need to be impleme
- There is a need for a canonical model
Issues in Federated ICT Infrastructure with Different Administrative D
8/18/2019 OMN Ontology
6/55
!"#$%&'($" *$+,--."/ ." 012!34!51 6$"7,87
Resource
WorldInform.
Model
Syntax /Seriali-zation
Ob
M
Data
Model
R prov
prov
provmon
mon
mon
mon
… ctrl
ctrl
SFA:
Provision
Tree
OMSP:Monitoring
List
FRCP:
Control
Tree
SFA:
Provision
XML
OMSP:Monitoring
SSV/TSV
FRCP:
Control
XML/JSON
8/18/2019 OMN Ontology
7/55
Exploit work from the Semantic Web
1. Formal information models (ontologies) in Web Ontology Language (OWL)
2. Labeled directed graphs using the Resource Description Framework (RDF)
3.
Serialize them as we like (XML, JSON, Turtle,!
)! SFA / OMSP / FRCP 4. Find information like cloud connectivity information with SPARQL Protocol And RDF Q
(SPARQL)
5. Automatically reason over the information to infer knowledge and overcome interoperathe Semantic Web Rule Language (SWRL).
9+$:("/ ;,&'"(< =,> 5,?,'%
8/18/2019 OMN Ontology
8/55
Tools : re-use implementations & ontologies
Linking : combine resource information (from various tools / APIs)
Validation : detect error early and explain them
Inference : express e.g. equality of resources
Queries : discover resources or complex paths (this scales!)
(usually just declarative, i.e. no code needed)
9+A'"7'/,?
8/18/2019 OMN Ontology
9/55
❶ Defined a set of high-level vocabularies and integration concepts
❷ Focused on integrating work from existing approaches
❸ Defined a formal information model for federated infrastructure managem
❹ Implemented a translation mechanisms and examples to ease transition
4.--."/ 7@, 0':
8/18/2019 OMN Ontology
10/55
!"7,/%'($" 6$"
8/18/2019 OMN Ontology
11/55
5,B?'>.-.7C $# 18.?("/ D"7$-$/.,?
❷ Focused on integrating work from existing approaches
Integration of NML, INDL, NOVI, MOMENT, NDL-OWL, RDFS, OWL, DC
8/18/2019 OMN Ontology
12/55
!"#$%&'($" *$+,- #$% 4,+,%'7,+ !"#%'?7%B
8/18/2019 OMN Ontology
13/55
❹ Implemented a translation mechanisms and examples to ease transition- A translation mechanism (Java, CLI, WS, ...), resource queries, AM and
semantic OML implementation
!"#$%&'($" *$+,- #$% 4,+,%'7,+ !"#%'?7%B
8/18/2019 OMN Ontology
14/55
OMN Hierarchy
8/18/2019 OMN Ontology
15/55
D*2 D"7$-$/C E.,%'%
8/18/2019 OMN Ontology
16/55
OMN Ontologies
8/18/2019 OMN Ontology
17/55
D*2 F::,% D"7$-$/C
om
omn
omn-monitoring
omn-service
omn-component
omn-resource
omn-lifecycle
omn-federation
omn-domain-
xxx
8/18/2019 OMN Ontology
18/55
-
Defines basic concepts and properties that are re-used and specializedin the subjacent ontologies
- Classes:
- Attribute, Component, Resource, Service, Dependency, Environment, Group,Topology, Layer, Reservation, ..
- Object Properties:
-
adaptableFrom/adaptableTo, adaptsFrom/adaptsTo, dependsOn, relatesTo,fromDependency, hasAttribute, hasComponent, hasGroup, hasResource,
hasService, hasReservation, isAttributeOf, isComponentOf, isGroupOf,
isResourceOf, isReservationOf, toDependency, withinEnvironment, ..
- Datatype Properties:
- hasEndpoint, hasURI, isReadonly, sequenceNumber, ..
D*2 F::,% D"7$-$/C
8/18/2019 OMN Ontology
19/55
Relationship example
D*2 F::,% D"7$-$/C
8/18/2019 OMN Ontology
20/55
Examples on similarity concepts defined in other ontologies
D*2 F::,% D"7$-$/C
8/18/2019 OMN Ontology
21/55
D*2 4,+,%'($" D"7$-$/C
om
omn
omn-monitoring
omn-service
omn-component
omn-resource
omn-lifecycle
omn-federation
omn-domain-
xxx
8/18/2019 OMN Ontology
22/55
8/18/2019 OMN Ontology
23/55
D*2 G.#,
8/18/2019 OMN Ontology
24/55
-
Classes:- Action, Active, Allocated, Cleaned, Confirmation, Error, Failure, Initialized, Installe
NotReady, NotYetInitialized, Offering, Opstate, Pending, Preinit, Provisioned, Re
Request, ReservationState, Success, Restart, Start, Started, State, Stop, StoppeUnallocated, Reload, UpdatingUsers, UpdateUsersCancel, UpdateUsers, Uncom
- Object Properties:
- hasReservationState, hasState, hasStartState, hasNext, hasType, hasStateNam
hasAction, usesService, serviceIsUsedBy, canImplement, canBeImplementedByimplements, isReservationStateOf, isStateOf, parentOf, childOf,!
- Datatype Properties:
- hasAuthenticationInformation, hasID, hasComponentID, hasRole, hasOriginalID,hasComponentName, hasComponentManagerName, hasSliverID, hasSliverNam
resourceId, creator, startTime, expirationTime, creationTime, managedBy,!
D*2 G.#,
8/18/2019 OMN Ontology
25/55
D*2 5,?$B%
8/18/2019 OMN Ontology
26/55
-
Classes:- Cloud, Hop, Interface, IPAddress, Link, LinkProperty, NetworkObject, Node, Ope
Path, SliverType, Stitching,!
- Object Properties:
- hasInterface, isInterfaceOf, hasIPAddress, isIPAddressOf, isSink, isSource, hasShasSource, hasSliverType, hasProperty, isPropertyOf, requiredBy, requires, ...
- Datatype Properties:
-
isAvailable, isExclusive, address, netmask, type, country, macAddress, clientId, !
D*2 5,?$B%
8/18/2019 OMN Ontology
27/55
PC is a special resource concept
-
omn:PC is-a omn:Node, omn:Node is-a omn:Resource- Classes:
- Available, Controller, Datapath, DiskImage, FeatureDescription, HardwareType, OPacket, PC, SharedVlan, VM, VMServer,!
- Object Properties:
- hasDiskImage, hasAvailable, isDiskImageOf, hasHardwareType, isHardwareTyp
-
Datatype Properties:-
hasCapacity, hasDiskimageDescription, diskimageDefault, hasDlVlan, hasDiskim
hasDlVlan, hasDiskimageVersion, emulabNodeTypeStatic, hasLatency, hasPack
lastUpdateTime, hasNextHop, hasVMID, hasUseGroupName, hasCPU,!
D*2 H6 D"7$-$/C
8/18/2019 OMN Ontology
28/55
D*2 6$&:$","7 D"7$-$/C
om
omn
omn-monitoring
omn-service
omn-component
omn-resource
omn-lifecycle
omn-federation
omn-domain-
xxx
8/18/2019 OMN Ontology
29/55
-
Classes:- ProcessingComponent, StorageComponent, MemoryComponent, CPU, ..
D*2 6$&:$","7 D"7$-$/C
8/18/2019 OMN Ontology
30/55
D*2 ;,%A.
8/18/2019 OMN Ontology
31/55
-
Classes:- PostBootScript, ExecuteService, InstallService, LoginService,!
- Datatype Properties:
- authentication, command, hostname, installPath, port, shell, shell, url, username
publickey, postBootScriptType, postBootScriptText,!
D*2 ;,%A.
8/18/2019 OMN Ontology
32/55
D*2 *$".7$%."/ D"7$-$/C
om
omn
omn-monitoring
omn-service
omn-component
omn-resource
omn-lifecycle
omn-federation
omn-domain-
xxx
8/18/2019 OMN Ontology
33/55
D*2 *$".7$%."/ D"7$-$/C
omn-monitoring-unit
omn-monitoring-data
omn-monitoring-metric
omn-monitoring-tool
omn-monitoring
8/18/2019 OMN Ontology
34/55
- Classes:
- Data, Metric, Unit, Tool, Lifetime, , Measurement, ActiveMeasurement, PassiveMMonitoringService, InfrastructureHealthMonitoring, InfrastructureResourceMonito
SLAMonitoring, FirstLevelSupport,!
- Object Properties:
- isMeasurementMetricOf, hasMeasurementMetric, isMeasurementOf, measuredB
measuresMetric, monitors, hasMetricAttribute, hasUnit, sentBy, sendTo, sentFroretrievedBy, retrievedFrom, pushesDataTo, pushedBy, ...
- Datatype Properties:
- isRequested, isOffered, endTime, startTime, requiresUsername, requiresPasswo
D*2 *$".7$%."/ D"7$-$/C
omn-monitoring
8/18/2019 OMN Ontology
35/55
D*2 *$".7$%."/ D"7$-$/C
omn-monitoring-unit
omn-monitoring-data
omn-monitoring-metric
omn-monitoring-tool
omn-monitoring
- Classes: CPUUtilization, CPUload, MemoryUtilization, Delay FreeMemory, Availability, RSSILevel, SNR,
!
-
Object Properties: canBeCalculatedFrom
- Datatype Properties: hasFrequency, statusValue
8/18/2019 OMN Ontology
36/55
D*2 *$".7$%."/ D"7$-$/C
omn-monitoring-unit
omn-monitoring-data
omn-monitoring-metric
omn-monitoring-tool
omn-monitoring
- Classes: MeasurementData, ConfigurationParameter, SimpleMeasurement, Statistic
DataFormat, XMLFormat, BinaryFormat, ..- Object Properties: dataFormat, hasMeasurementData, isMeasurementDataOf,
isStatisticalMeasurementOf,!
- Datatype Properties: hasMeasurementDataValue, hasTimestamp, isRequired, !
8/18/2019 OMN Ontology
37/55
D*2 *$".7$%."/ D"7$-$/C
omn-monitoring-unit
omn-monitoring-data
omn-monitoring-metric
omn-monitoring-tool
omn-monitoring
- Classes: BaseUnit, N_aryUnit, UnaryUnit, Dimension, BaseDimension, DerivedDim
BinaryPrefix, DecimalPrefix, Countable, Frequency, GeoPosition, MeasurementLeveTimeInterval,!
-
Object Properties: defaultUnit, derivedFrom, hasPrefix, !
- Datatype Properties: base, exponent, hasValue, offset, scale,!
8/18/2019 OMN Ontology
38/55
D*2 *$".7$%."/ D"7$-$/C
omn-monitoring-unit
omn-monitoring-data
omn-monitoring-metric
omn-monitoring-tool
omn-monitoring
- Classes: MonitoringTool, CaptureTool, Collector, Adapter, Exporter, MeasurementToGUI, API, Filter, DataBroker, CommunicationParadigm, Centralized, Distributed, Col
Database, SQL,!
- Individuals: Zabbix, Nagios, OMLWrapper, OMLServer, PostgreSQL, JenaFuseki, OSPARQLEndpoint, Manifold,!
- Object Properties: communicationParadigm, dataAccessProvided, usesDataBroker,convertsDataFrom, convertsDataTo,!
8/18/2019 OMN Ontology
39/55
D*2 *$".7$%."/ D"7$-$/C
omn-monitoring-unit
omn-monitoring-data
omn-monitoring-metric
omn-monitoring-tool
omn-monitoring
- Classes: MonitoringDomain, Protocol, Query, SingleQuery, BatchQuery, Location, L
PhysicalLocation, ApplicationProtocol, TransportProtocol, AuthenticationMethod, EvConditionalNotSatisfiedEvent, EventAtMeasurementPhase, ToolUnavailableEvent,
NoToolConfiguredToMeasureMetric, !
-
Object Properties: locatedAt, usesProtocol, query,!
- Datatype Properties: latitude, longitude,!
8/18/2019 OMN Ontology
40/55
D*2 *$".7$%."/ D"7$-$/C
!"#$%&'&
!"#$)#*'
"!+$,)-./-0&'&1!
!"#$"/&-)2/%34
!"#$.&-5/&-)2/"/#'0&'&
!"#$'!!6
!"#$.&-7#*'
!"#$2/'2*/8/%34
2%9$'4,/ :*-;&<
2%9$'4,/
:*-;&<
!"#$*-=!",!#/#'>9
!"#$*-?/28*@/>9 >"#$.&-=!",!#/#'
!"#$-/28*@/ !"#$2/-!)2@/ !"#$@!",!#/#'
!"#$"/'2*@
!"#;'!!6$
>5AB2&,,/2
!"#;C/#/2*@@!#@/,'-$
)-/-D2!'!@!6
!"#$.&-?/28*@/
!"#;-/28*@/$?AE
!"#$*-5/&-)2/"/#'5/'2*@>9
!"#;
C/#/2*@@!#@/,'-$
>5?D
! " #; " !
# * ' ! 2 * # C
8/18/2019 OMN Ontology
41/55
D*2 H$-.
8/18/2019 OMN Ontology
42/55
D*2 I$&'."J?:,
8/18/2019 OMN Ontology
43/55
OMN Tools
8/18/2019 OMN Ontology
44/55
6$"A,%7,%
- Multi-format conversion tool for
structured markup
-
Provides translations between dataformats
- OMN-based graphs andXML-based GENI Rspecs
- OMN-based graphs andOASS TOSCA
-
Conversions triggered by- upload or
- direct input
- Includes REST API for developers
8/18/2019 OMN Ontology
45/55
http://fiteagle.github.io
- Semantic- and microservices-basedresource management toolkit for
federated testbeds
- Based on the J2EE implementation
WildFly
- Supports experimentation protocols
- Currently: SFA and OMSP
;,&'"(< 9* L4!M,'/-,N
8/18/2019 OMN Ontology
46/55
;,&'"(< D*G
OMN
Ontology
TDB Triple
Store
OML
Scaffold
OML
Client
Fuseki
Server
OML
Server
Semantic
OML streams
Zabbix
Get raw data
Cloud
Testbed
Template
Query / visualize
data (HTTP SPARQL)
Define semantic schemas
Update
data
(HTTP
SPARQL)
8/18/2019 OMN Ontology
47/55
;,&'"(< D*G O 4!M,'/-, !"7,/%'($"
OMN
Ontology
TDB Triple
Store
OML
Scaffold
OML
Client
Fuseki
Server
OML
Server
Semantic
OML streams
Zabbix
Get raw data
Cloud
Testbed
Template
Query / visualize
data (HTTP SPARQL)
Define semantic schemas
Update
data
(HTTP
SPARQL)
t
RDF
DBbus
RA
client
DM
Triplet Store
push/pull RDF
SFA
AM
OS
RA
bus
OpenS
experimenter
SFA client
DB
Triplet Store
push/pull RDF
discover / provision
8/18/2019 OMN Ontology
48/55
8/18/2019 OMN Ontology
49/55
Use-cases
F
8/18/2019 OMN Ontology
50/55
- Two use-cases of OMN ontologies within the context of FI experimentatiodiscussed
- Lifecycle experimentation (discussed in the following presentation)
- Monitoring (discussed tomorrow in the monitoring session)
F?,J
8/18/2019 OMN Ontology
51/55
Outlook
D 7-$$P
8/18/2019 OMN Ontology
52/55
Current Status
- OMN ontologies are
-
encoded via OWL2 and serialized via RDF/XML and Turtle
- automatically checked every time a new concept or relation is added ousing Apache Jena Eyeball inspectors and also validated manually via
validators such as the OntOlogy Pitfall Scanner (OOPS)
- implemented in FITeagle, Semantic OML, and SFA- and TOSCA-relate
- publically available along with their implementations:
- https://www.w3.org/community/omn/
- https://github.com/open-multinet/playground-rspecs-ontology
- https://github.com/FITeagle
- https://github.com/alhazmi/semantic-oml
DB7-$$P
DB7-$$P
8/18/2019 OMN Ontology
53/55
Dissemination Activities
- Used suitable vocabularies to describe meta information about our ontolo
-
Human readable documentation
- Machine readable serializations
- Permanent identifier (https://w3id.org/omn) is registered
- OMN namespace (http://prefix.cc/omn) is registered
- the source code & issue tracker are publicly available
-
OMN has been submitted to Semantic Web search engines: Swoogle and-
Established the Open-Multinet Forum
- Created the W3C Federated Infrastructures Community Group
- 4 related papers are published
DB7-$$P
9-?$ !&:$%7'"7 ;7,: M$Q'%+? 6$A,%."/ 4B%7@,% I$&'."?
8/18/2019 OMN Ontology
54/55
Federated
Testbeds
Federated
Clouds
Federated
IoT
Federate
Big Data
Federated
Networks
9-?$ !&:$%7'"7 ;7,: M$Q'%+? 6$A,%."/ 4B%7@,% I$&'."?
8/18/2019 OMN Ontology
55/55
Contact:
Web: http://open-multinet.info
https://www.w3.org/community/om
Email: [email protected]
M@'"P? #$% C$B% 'R,"($"S
TB,?($"?U