Title: Asset Categorization
1Asset Categorization
2Course Syllabus
- This course describes how the power distribution
network assets are modeled and categorized into
classes and draw a relationships among those
classes. The class attribute represents a network
data that will be used for inducing asset
conditions, costs, probability of network failure
as well as social and environment factors that
influence the asset investment decision. The
modeling approach bases on the prominent a Common
Information Model (CIM) modeling method that used
for representing real-world objects and
information entities exchanged within the value
chain of the electric power industry. - Underpinning the CIM knowledge representation are
several methods and methodologies such as UML,
XML, and RDF. The course provides all necessary
background of these technologies. In addition,
engineering disciplines such as knowledge
engineering and ontological engineering which
emphasizes the knowledge acquisition and ontology
development are also explicated. Combining them
all together, attendees will equip themselves
with all necessary knowledge to model not just
power distribution system assets but all the
other area of knowledge modeling.
3Course Outline
- Categorization principle terminologies
- Unified modeling language
- eXtensible markup language
- Resource description framework
- Common information model
- knowledge engineering
- Ontological development
- Power distribution network asset categorization
4Asset Categorization
- Categorization Principle Terminologies
5Categorization Overview
- The basic cognitive process of arranging into
classes or categories - The process in which ideas and objects are
recognized, differentiated and understood.
Categorization implies that objects are grouped
into categories, usually for some specific
purpose. Ideally, a category illuminates a
relationship between the subjects and objects of
knowledge - The function of category systems and asserts that
the task of category systems is to provide
maximum information with the least cognitive
effort - The structure of the information so provided and
asserts that the perceived world comes as
structured information rather than as arbitrary
or unpredictable attributes
6Controlled Vocabulary
- Way of describing a concept under a single word
or phrase - May vary in its definition and usage when use in
different domain - An established list of standardized terms used
for both indexing and retrieval of information - The list of terms should be controlled by and be
available from a controlled vocabulary
registration authority in order to make a it
unambiguous, non-redundant
7Controlled Vocabulary
- At a minimum, the following two rules should be
enforced to make true in practice - If the same term is commonly used to mean
different concepts in different contexts, then
its name is explicitly qualified to resolve this
ambiguity. - If multiple terms are used to mean the same
thing, one of the terms is identified as the
preferred term in the controlled vocabulary and
the other terms are listed as synonyms or aliases.
8Classification
- Systematic arrangement in groups or categories
according to established criteria - Act or process of putting people or things into a
group or class - Establishing the correct class (or category) for
an object where an object needs to be
characterized in terms of class to which it
belongs
9Classification
- Classification is an approach to systematically
arranging objects into categories according to
established criteria. - Objects are the physical and conceptual things we
find in the universe around us Hardware,
software, documents, animals, human beings, and
even concepts. - Classification allows to us manage things easily
by grouping them into certain category under
specific criteria and then manipulate against
established condition.
10Taxonomy
- An orderly classification of plants and animals
according to their presumed natural relationships - A hierarchy created according to data internal to
the items in that hierarchy - An orderly classification of objects into
hierarchical structure using a parent-child
relationships - Using parent-child relationships in taxonomy
e.g., whole part, genus species, type
instance, or class subclass. - Differ from classification in the sense that it
classifies in a structure according to some
relation between the entities and that a
classification uses more arbitrary (or external)
grounds
11Taxonomy
12Ontology
- A branch of metaphysics concerned with the nature
and relations of being - A system of concepts used as building blocks of
an information processing system - Consists of concepts, hierarchical (is-a)
organization of them, relations among them, in
addition to is-a and part-of, axioms to formalize
the definitions and relations. - An explicit specification of a conceptualization
13Ontology
- Taxonomy and ontology are often interchangeably
used, however they are fundamentally different. - Taxonomy classifies objects in a domain in
hierarchical structure - give exact names for everything in a specified
domain - show which things are parts of other things
- Ontology offers more by expressing meaningful
content within a specified domain of interest. - Has strict, formal rules (a "grammar") about
those relationships that let us make meaningful,
precise statements about our entities/relationship
s - A formal ontology is hence a controlled
vocabulary expressed in an ontology
representation language
14Meta-model
- Data about data
- Facilitate the understanding, characteristics,
and management usage of data - An explicit model of the constructs and rules
needed to build specific models within a domain
of interest - A valid meta-model is an ontology, but not all
ontologies are modeled explicitly as meta-models - Schema is Metadata
15Power Distribution System Asset Categorization
- Provide all key attributes of network assets,
either concrete or abstract, operational stresses
and external environments for determining asset
conditions and failure probability - Provide all key attributes to deduce asset costs
- Provide all associated social and environment
factors that influence decision of asset
investment - This information is modeled into classes and
attributes as well as class relationships using
the common information model (CIM) specification
16UML
- Unified Modeling Language
17Origins of UML
- Evolution of object-oriented technology-
- Develop and start using OOP language
- Use of OOAD in business process modeling,
requirement analysis and software systems design - UML was designed to bring together the best
features of a number of analysis and design
technologies and notations to produce and
industrial standard.
18Emergence of UML
19What is UML?
- UML is a visual language that originally applied
in developing software systems. - Now is extended for using in other area like
knowledge modeling. - It is a specification language.
- it has a set of elements and a set of rules that
determine how it can be used. - Most of UML elements are graphical lines,
rectangles, ovals and other shapes, and many of
these graphical elements are labelled with words
that provides additional information.
20Why use UML?
- The needs of modeling Modeling can be as
straightforward as drawing a flowchart listing
the steps carried out in business process. - Readability brings clarityease of understanding.
This involves knowing what a system is made up
of, how it behaves, and so forth. - Reusability is the byproduct of making a system
readable. After a system has been modeled to make
it easy to understand, we tend to identify
similarities or redundancy, be they in terms of
functionality, features, or structure. - The underline is standardization.
21UML Concepts
- UML is used to
- Show main functions and boundaries in a system
using use cases and actors. - Illustrate use case realizations using
interaction diagrams. - Represent a static structure of a system using
class diagrams. - Modelling object behaviour using state diagrams.
- Show implementation of the physical architecture
using component and deployment diagrams. - Enhance the functionality using stereotypes.
22UML Diagrams and Elements
- Use case diagrams
- Static structural diagrams
- Class, object
- Interaction diagrams
- Sequence, collaboration
- State diagrams
- Activity diagrams
- Implementation diagrams
- Packages, Components, Deployment
23Use Cases Diagram
- Use cases diagrams describes the behavior of the
target system from an external point of view. Use
cases describe "the meat" of the actual
requirements. - Use cases A use case describes a sequence of
actions that provide something of measurable
value to an actor and is drawn as a horizontal
ellipse. - Actors An actor is a person, organization, or
external system that plays a role in one or more
interactions with your system. Actors are drawn
as stick figures. - Associations Associations between actors and
use cases are indicated by solid lines. An
association exists whenever an actor is involved
with an interaction described by a use case
24Use Cases Diagram
25Class Diagram
- Class diagrams show the classes of the system,
their inter-relationships, and the operations and
attributes of the classes - Explore domain concepts in the form of a domain
model. - Analyze requirements in the form of a
conceptual/analysis model - Depict the detailed design of object-oriented or
object-based software
26Class Diagram
Class name
Person
Attributes
attribute name type
Operations
operation name(parameter type) result type
27Object Diagram
- Object diagrams (instance diagrams), are useful
for exploring real world examples of objects and
the relationships between them. It shows
instances instead of classes. They are useful for
explaining small pieces with complicated
relationships, especially recursive
relationships.
28Class and Objects
City
Name String default
Country String default
Population integer default
setName (s String deault)
setPopulation(p integer default)
ltltinstanceOfgtgt
ltltinstanceOfgtgt
ltltinstanceOfgtgt
New York City
Sydney City
London City
Name London
Name New York
Name Sydney
Country USA
Country Australia
Country UK
Population 2,324,320
Population 5,734,012
Population 3,536,000
29Sequence Diagram
- Sequence diagrams models the collaboration of
objects based on a time sequence. It shows how
the objects interact with others in a particular
scenario of a use case.
30Sequence Diagram
31Collaboration Diagram
- Collaboration (Communication) diagrams used to
model the dynamic behavior of the use case. When
compare to Sequence Diagram, the Communication
Diagram is more focused on showing the
collaboration of objects rather than the time
sequence.
32Collaboration Diagram
33State Diagram
- State diagrams can show the different states of
an entity also how an entity responds to various
events by changing from one state to another. The
history of an entity can best be modeled by a
finite state diagram.
34State Diagram
35Activity Diagram
- Activity diagrams helps to describe the flow of
control of the target system, such as the
exploring complex business rules and operations,
describing the use case also the business
process. It is object-oriented equivalent of flow
charts and data-flow diagrams (DFDs).
36Activity Diagram
37Packages Diagram
- Package diagrams simplify complex class diagrams,
it can group classes into packages. A package is
a collection of logically related UML elements.
Packages are depicted as file folders and can be
used on any of the UML diagrams.
38Packages Diagram
39Components Diagram
- Component diagrams shows the dependencies among
software components, including the classifiers
that specify them (for example implementation
classes) and the artifacts that implement them
such as source code files, binary code files,
executable files, scripts and tables.
40Components Diagram
41Deployment Diagram
- Deployment diagram depicts a static view of the
run-time configuration of hardware nodes and the
software components that run on those nodes.
Deployment diagrams show the hardware for your
system, the software that is installed on that
hardware, and the middleware used to connect the
disparate machines to one another.
42Deployment Diagram
43UML Class Diagrams and Relationships
- How would you draw a family tree? The steps you
would take would be - Identify the main members of the family
- Determine how they are related to each other
- Identify the characteristics of each family
member - Find relations among family members
- Decide the inheritance of personal traits and
characters
44UML Class Diagrams and Relationships
- By definition, a class diagram is a diagram
showing a collection of classes and interfaces,
along with the collaborations and relationships
among classes and interfaces. - A class diagram consists of a group of classes
and interfaces reflecting important entities of
the business domain of the system being modeled,
and the relationships between these classes and
interfaces. - A class diagram is a pictorial representation of
the detailed system design.
45Elements of a Class Diagram
46UML Class Relationships
Relation Symbol Description
Association When two classes are connected to each other in any way, an association relation is established. For example A "student studies in a college" association can be shown as
47UML Class Relationships
Relation Symbol Description
Multiplicity An example of this kind of association is many students belonging to the same college. Hence, the relation shows a star sign near the student class (one to many, many to many, and so forth kind of relations).
48UML Class Relationships
Relation Symbol Description
Directed Association Association between classes is bi-directional by default. You can define the flow of the association by using a directed association. The arrowhead identifies the container-contained relationship.
49UML Class Relationships
Relation Symbol Description
Reflexive Association No separate symbol. An example of this kind of relation is when a class has a variety of responsibilities. For example, an employee of a college can be a professor, a housekeeper, or an administrative assistant.
50UML Class Relationships
Relation Symbol Description
Aggregation When two classes are When a class is formed as a collection of other classes, it is called an aggregation relationship between these classes. It is also called a "has a" relationship.
51UML Class Relationships
Relation Symbol Description
Composition Composition is a variation of the aggregation relationship. Composition connotes that a strong life cycle is associated between the classes.
52UML Class Relationships
Relation Symbol Description
Inheritance/ Generalization Also called an "is a" relationship, because the child class is a type of the parent class. Generalization is the basic type of relationship used to define reusable elements in the class diagram. Literally, the child classes "inherit" the common functionality defined in the parent class.
53UML Class Relationships
Relation Symbol Description
Realization In a realization relationship, one entity (normally an interface) defines a set of functionalities as a contract and the other entity (normally a class) "realizes" the contract by implementing the functionality defined in the contract..
54Other Terms for Annotations of Class Diagrams
- Responsibility of a class It is the statement
defining what the class is expected to provide. - Stereotypes It is an extension of the existing
UML elements it allows you to define new
elements modeled on the existing UML elements.
Only one stereotype per element in a system is
allowed. - Vocabulary The scope of a system is defined as
its vocabulary. - Analysis class It is a kind of a stereotype.
- Boundary class This is the first type of an
analysis class. In a system consisting of a
boundary class, the users interact with the
system through the boundary classes. - Control class This is the second type of an
analysis class. A control class typically does
not perform any business functions, but only
redirects to the appropriate business function
class depending on the function requested by the
boundary class or the user. - Entity class This is the third type of an
analysis class. An entity class consists of all
the business logic and interactions with
databases.
55Put Them Together
56XML
- eXtensible Markup Language
57Evolution
- SGML (Standard Generalized Markup Language)
- ISO Standard, 1986, for data storage exchange
- Metalanguage for defining languages (through
DTDs) - A famous SGML language HTML!!
- Separation of content and display
- Used in U.S. gvt. contractors, large
manufacturing companies, technical info.
Publishers,... - SGML reference is 600 pages long
- XML (eXtensible Markup Language)
- W3C (World Wide Web Consortium) --
http//www.w3.org/XML/) recommendation in 1998 - Simple subset (80/20 rule) of SGML ASCII of
the Web, Semantic Web. - XML specification is 26 pages long
58Evolution
- Canonical XML
- normalization, equivalence testing of XML
documents - SML (Simple Markup Language)
- Reduce to the max No Attributes / No
Processing Instructions (PI) / No DTD / No
non-character entity-references / No CDATA marked
sections / Support for only UTF-8 character
encoding / No optional features - XML Schema
- XML Schema definition language
- Back to complex
- Part I (Structures), Part II (Data Types), Part
III aehm 0 (Primer)
59What is XML?
- XML is a universal format for structured
documents and data. - Can be understood using any (archaic CP/M)
editor - Can be parsed easily
- Contains its own structure (parse tree) in the
data - Allows separation of marked-up content from
presentation (style sheets) - As a self-describing format good for archival
into the past - not bad for archival into the
future - XML uses a Document Type Definition (DTD) or an
XML Schema to describe the data - XML with a DTD or XML Schema is designed to be
self-descriptive
60Simple XML Example
- lt?xml version1.0 encodingwindows-874?gt
- ltnotegt
- lttogt Tom lt/togt
- ltfromgt Jane lt/fromgt
- ltheadinggt Reminder lt/headinggt
- ltbodygt Meeting at 9.00 AMlt/bodygt
- lt/notegt
61Why Is XML Important?
- Plain Text
- Easy to edit
- Useful for storing small amounts of data
- Possible to efficiently store large amounts of
XML data through an XML front end to a database - Data Identification
- Tell you what kind of data you have
- Can be used in different ways by different
applications
62Why Is XML Important?
- Stylability
- Inherently style-free
- XSL---Extensible Stylesheet Language
- Different XSL formats can then be used to display
the same data in different ways - Inline Reusabiliy
- Can be composed from separate entities
- Modularize your documents without resorting to
links
63Why Is XML Important?
- Linkability -- XLink and XPointer
- Simple unidirectional hyperlinks
- Two-way links
- Multiple-target links
- Expanding links
- Easily Processed
- Regular and consistent notation
- Vendor-neutral standard
- Hierarchical
- Faster to access
- Easier to rearrange
64XML Building Blocks
- Element
- Delimited by angle brackets
- Identify the nature of the content they surround
- General format ltelementgt lt/elementgt
- Empty element lt/empty-Elementgt
- Attribute
- Name-value pairs that occur inside start-tags
after element name, like - ltelement attributevaluegt
65XML Building blocks--Prolog
- The part of an XML document that precedes the XML
data - Includes
- A declaration version , encoding, standalone
- An optional DTD (Document Type Definition )
- Example
- lt?xml version"1.0" encoding"ISO-8859-1"
standalone"yes"?gt
66XML Syntax
- All XML elements must have a closing tag
- XML tags are case sensitive
- All XML elements must be properly nested
- All XML documents must have a root tag
- Attribute values must always be quoted
- With XML, white space is preserved
- With XML, a new line is always stored as LF
- Comments in XML
- lt!-- This is a comment --gt
67XML is Based on Markup
Markup indicates structure and semantics
- ltbibliographygt
- ltpaper ID "object-fusion"gt
- ltauthorsgt
- ltauthorgtY.Papakonstantinoult/authorgt
- ltauthorgtS. Abiteboullt/authorgt
- ltauthorgtH. Garcia-Molinalt/authorgt
- lt/authorsgt
- ltfullPaper source"fusion"/gt
- lttitlegtObject Fusion in Mediator
Systemslt/titlegt - ltbooktitlegtVLDB 96lt/booktitlegt
- lt/papergt
- lt/bibliographygt
Decoupled from presentation
68XML Elements
- XML Elements are Extensible
- XML documents can be extended to carry more
information - XML Elements have Relationships
- Elements are related as parents and children
- Elements have Content
- Elements can have different content types
element content, mixed content, simple content,
or empty content and attributes - XML elements must follow the naming rules
69XML as Labeled Ordered Trees
- can also represent
- relational and
- object-oriented data
ltbibliographygt ltpaper ...gt ltauthorsgt
ltauthorgtYannislt/authorgt ltauthorgtSergelt/autho
rgt ... lt/authorsgt lttitlegtObject
Fusionlt/titlegt ... lt/papergt lt/bibliographygt
? semistructured data ? labeled trees/graphs
70Elements and their Content
Element Content
element name
ltbibliographygt ltpaper ID"object-fusion"gt
ltauthorsgt ltauthorgtY.Papakonstantinoult/author
gt ltauthorgtS. Abiteboullt/authorgt
ltauthorgtH. Garcia-Molinalt/authorgt lt/authorsgt
ltfullPaper source"fusion"/gt
lttitlegtObject Fusion in Mediator Systemslt/titlegt
ltbooktitlegtVLDB 96lt/booktitlegt
lt/papergt lt/bibliographygt
element
Empty Element
Character content
71XML Attributes
- Located in the start tag of elements
- Provide additional information about elements
- Often provide information that is not a part of
data - Must be enclosed in quotes
- Should I use an element or an attribute?
- metadata (data about data) should be stored as
attributes, and that data itself should be stored
as elements
72Element Attributes
Attribute name
ltbibliographygt ltpaper ID"object-fusion"gt
ltauthorsgt ltauthorgtY.Papakonstantinoult/author
gt ltauthorgtS. Abiteboullt/authorgt
ltauthorgtH. Garcia-Molinalt/authorgt lt/authorsgt
ltfullPaper source"fusion"/gt
lttitlegtObject Fusion in Mediator Systemslt/titlegt
ltbooktitlegtVLDB 96lt/booktitlegt
lt/papergt lt/bibliographygt
Attribute Value
73XML Validation
- "Well Formed" XML document
- correct XML syntax
- "Valid" XML document
- well formed
- Conforms to the rules of a DTD (Document Type
Definition) - XML DTD
- defines the legal building blocks of an XML
document - Can be inline in XML or as an external reference
- XML Schema
- an XML based alternative to DTD, more powerful
- Support namespace and data types
74Displaying XML
- XML documents do not carry information about how
to display the data - We can add display information to XML with
- CSS (Cascading Style Sheets)
- XSL (eXtensible Stylesheet Language) --- preferred
75XML Specification
- XML Document Type Definitions (DTDs)
- define the structure of "allowed" documents
(i.e., valid written a DTD) - database schema
- improve query formulation, execution, ...
- XML Schema
- defines structure and data types
- allows developers to build their own libraries of
interchanged data types - XML Namespaces
- identify your vocabulary
76Document Type Definitions (DTD)
Define and Constrain Element Names Structure
lt!element bibliography papergt lt!element paper
(authors, fullPaper?, title, booktitle)gt lt!element
authors authorgt lt!element author
(PCDATA)gt lt!element fullPaper EMPTYgt lt!element
title (PCDATA)gt lt!element booktitle
(PCDATA)gt lt!attlist fullPaper source ENTITY
REQUIREDgt lt!attlist paper ID IDgt
Element Type Declaration
Attribute List Declaration
77Document Type Definitions (DTD)
Authors followed by optional fullpaper, followed
by title, followed by booktitle
Sequence of 0 or more paper
lt!element bibliography papergt lt!element paper
(authors, fullPaper?, title, booktitle)gt lt!element
authors authorgt lt!element author
(PCDATA)gt lt!element fullPaper
EMPTYgt lt!element title (PCDATA)gt lt!element
booktitle (PCDATA)gt lt!attlist fullPaper source
ENTITY REQUIREDgt lt!attlist paper ID IDgt
Sequence of 1 or more author
Character content
78Document Type Definitions (DTD)
ltperson ID"yannis"gt Yannis info lt/persongt
ltbibliographygt ltpaper ID"object-fusion"
ROLE"publication"gt ltauthorsgt ltauthor
authorRef"yannis"gt Y.Papakonstantinoult/authorgt
lt/authorsgt ltfullPaper source"fusion"/gt
lttitlegtObject Fusion in Mediator Systemslt/titlegt
ltrelated papers "semistructured-data"
"mediators"/gt lt/papergt lt/bibliographygt
Object Identity Attribute
CDATA (character data)
IDREF intradocument reference
Reference to external ENTITY
79XML Namespaces
- Namespace is a mapping between an element prefix
and a URI - cars is the prefix in this example,
- ltcarspart xmlnscarsURIgt
- URIs are not a pointer to information about the
Namespace. They are just unique identifiers.
You cannot resolve XML namespace URIs.
80XML Namespaces
- An XML document may reference more than one
schema - A Namespace specifies which schema defines a
given tag - XML, like Java, uses qualified names
- This helps to avoid collisions between names
- Java myObject.myVariable
- XML myDTDmyTag
- Note that XML uses a colon () rather than a dot
(.) - If an XML processor is not namespace-aware, the
colon is just part of the name
81Namespaces and URIs
- A namespace is defined as a unique string
- To guarantee uniqueness, typically a URI (Uniform
Resource Indicator) is used, because the author
owns the domain - It doesn't have to be a real URI it just has
to be a unique string - Example http//www.matuszek.org/ns
- There are two ways to use namespaces
- Declare a default namespace
- Associate a prefix with a namespace, then use the
prefix in the XML to refer to the namespace
82Namespace Syntax
- In any start tag you can use the reserved
attribute name xmlns - ltbook xmlns"http//www.matuszek.org/ns"gt
- This namespace will be used as the default for
all elements up to the corresponding end tag - You can override it with a specific prefix
- You can use almost this same form to declare a
prefix - ltbook xmlnsdave"http//www.matuszek.org/ns"gt
- Use this prefix on every tag and attribute you
want to use from this namespace, including end
tags--it is not a default prefix - ltdavechapter davenumber"1"gtTo
Beginlt/davechaptergt - You can use the prefix in the start tag in which
it is defined - ltdavebook xmlnsdave"http//www.matuszek.org/ns
"gt
83Namespaces and DTD
- Here is a sample Namespace specification within a
DTD. - lt!ELEMENT title ...gt
- lt!ATTLIST title xmlns CDATA FIXED
ttp//www.person.com"gt - lt!ELEMENT persontitle ...gt
- lt!ATTLIST persontitle
- xmlnsperson CDATA FIXED "http//www.person.c
om"gt
84XML Schema
- People are dissatisfied with DTDs due to-
- It's a different syntax
- You write your XML (instance) document using one
syntax and the DTD using another syntax --gt
bad, inconsistent - Limited datatype capability
- DTDs support a very limited capability for
specifying datatypes. You can't, for example,
express "I want the ltelevationgt element to hold
an integer with a range of 0 to 12,000" - Desire a set of datatypes compatible with those
found in databases - DTD supports 10 datatypes XML Schemas supports
44 datatypes
85What is XML Schema?
- A grammar definition language
- Like DTDs but better
- Uses XML syntax
- Defined by W3C
- Primary features
- Datatypes
- e.g. integer, float, date, etc
- More powerful content models
- e.g. namespace-aware, type derivation, etc
- A schema is a collection of
- type definitions
- simple type
- complex type (contains element or attribute)
- element declarations
86Schema Terminology
- Schema a formal description for the structure
and allowed content of a set of data (esp. in
databases) - XML Schema is often used for each of 1. XML
Schema, the W3C Rec. that defines 2. XML
Schema Definition Language (XSDL), an XML-based
markup language for expressing ... 3. schema
documents, each of which describes a schema (DTD)
for a set of XML document instances
87Advantages of XSDL
- XML syntax
- schema documents easier to manipulate by programs
(than the special DTD syntax) - Compatibility with namespaces
- can validate documents using declarations from
multiple sources - Content datatypes
- 44 built-in datatypes (including primitive Java
datatypes, datatypes of SQL, and XML attribute
types) - mechanisms to derive user-defined datatypes
88(No Transcript)
89Advantages of XSDL
- Independence of element names and content types
Compare with - DTDs 1-to-1 correspondence btw. element type
names and their content models - CFGs 1-to-1 correspondence btw. nonterminals and
their productions - For example, could define titles of people as
Mr./Mrs./Ms. and titles of chapters as
strings
90Advantages of XSDL
- Support for schema documentation
- element annotation with sub-elements
documentation (for human readers) and - appInfo (for applications)
- Ability to specify uniqueness and keys within
selected parts of document - for example, that titles of chapters should be
unique
91Disadvantages of XSDL
- Complexity of XSDL (esp. of Rec. Part 1!)
- gt a long learning curve
- Possible immaturity of implementations (?)
- W3C XML Schema Web site mentions a dozen of tools
or processors (http//www.w3.org/XML/SchemaTools,
March 2002) - Open-source Apache XML parsers (Xerces C 1.7.0
and Xerces Java 1.4.4) seem reasonable
implementations, but also document
limitations/problems in their XML Schema support
92Highlights of XML Schemas
- XML Schemas are a tremendous advancement over
DTDs - Enhanced datatypes
- 44 versus 10
- Can create your own datatypes
- Example "This is a new type based on the string
type and elements of this type must follow this
pattern ddd-dddd, where 'd' represents a digit". - Written in the same syntax as instance documents
- less syntax to remember
- Object-oriented'ish
- Can extend or restrict a type (derive new type
definitions on the basis of old ones) - Can express sets, i.e., can define the child
elements to occur in any order - Can specify element content as being unique (keys
on content) and uniqueness within a region - Can define multiple elements with the same name
but different content - Can define elements with nil content
- Can define substitutable elements - e.g., the
"Book" element is substitutable for the
"Publication" element.
93Example DTD
lt!ELEMENT note (to, from, heading,
body)gt lt!ELEMENT to (PCDATA)gt lt!ELEMENT from
(PCDATA)gt lt!ELEMENT heading (PCDATA)gt lt!ELEMENT
body (PCDATA)gt
note.dtd
94Example XML?DTD
lt?xml version"1.0"?gt lt!DOCTYPE note
SYSTEM "http//www.w3schools.com/dtd/note.dtd"gt lt
notegt lttogtTovelt/togt ltfromgtJanilt/fromgt ltheadinggtRem
inderlt/headinggt ltbodygtDon't forget me this
weekend!lt/bodygt lt/notegt
note.xml
95Example XML Schema
lt?xml version"1.0"?gt ltxsschema
xmlnsxs"http//www.w3.org/2001/XMLSchema" targ
etNamespace"http//www.w3schools.com" xmlns"ht
tp//www.w3schools.com" elementFormDefault"qual
ified"gt ltxselement name"note"gt
ltxscomplexTypegt ltxssequencegt ltxseleme
nt name"to" type"xsstring"/gt ltxselement
name"from" type"xsstring"/gt ltxselement
name"heading" type"xsstring"/gt ltxselement
name"body" type"xsstring"/gt
lt/xssequencegt lt/xscomplexTypegt lt/xselementgt
lt/xsschemagt
note.xsd
96Example XML?XML Schema
lt?xml version"1.0"?gt ltnote xmlns"http//www.w3s
chools.com" xmlnsxsi"http//www.w3.org/2001/XM
LSchema-instance" xsischemaLocation"http//www
.w3schools.com note.xsd"gt lttogtTovelt/togt ltfromgtJani
lt/fromgt ltheadinggtReminderlt/headinggt ltbodygtDon't
forget me this weekend!lt/bodygt lt/notegt
note.xml
97RDF
- Resource Description Framework
98Motivation for RDF
- RDF and Metadata
- Scenario 1 The library
- Lookup system search properties include author,
title, subject etc. - Scenario 2 The video store
- Lookup system search properties include
directors, actors, etc. - The common thread
- Metadata information about information
99Motivation for RDF
- What about the Web?
- One big library, need call number to get things
without a search - Has hardly any metadata, HTML
- Yahoo
- Has metadata based lookup facility, uses human
generated subject categories and site labels - Library example to illustrate need for metadata
100What is RDF?
- RDF stands for Resource Description Framework
- RDF is a framework for describing resources on
the web - RDF provides a model for data, and a syntax so
that independent parties can exchange and use it - RDF is designed to be read and understood by
computers - RDF is not designed for being displayed to people
- RDF is written in XML
- RDF is a part of the W3C's Semantic Web Activity
- RDF is a W3C Recommendation
101What is RDF?
- Describe relationships and attributes of
(Internet) resources, i.e. advanced metadata - Based on Directed Labelled Graphs (DLG) and
classical Information Analysis - Also represented in XML, N3, N-Triple
- Attributes and Relation types may be defined by
XML Namespaces, e.g. Dublin Core - A general method to decompose knowledge into
small pieces with some rules about semantics or
meaning of those pieces - Designed for knowledge, not data, means RDF is
particularly concerned with meaning
102RDF and XML
- RDF is an implementation of XML
- Why not just use XML?
- XML falls apart on the scalability design goal.
- There are two problems
- Order of elements important unnatural in
metadata, also expensive in practice - Representation of XML documents in memory trees
difficult to manage when large - XML unequalled as an exchange format on the Web,
but it doesnt provide a metadata framework
103Uses of RDF
- Resource Discovery to provide better search
engine capabilities - Cataloging for describing the content and
content relationships - Intelligent software agents to facilitate
knowledge sharing exchange - Content rating in describing collections of
pages that represent a single logical document
104Uses of RDF
- Describing intellectual property rights
- Privacy preferences expression of a user as
well as the privacy polices of a Web site - Web of Trust RDF with digital signatures will
be key to building the Web of Trust for
electronic commerce, collaboration, and other
applications.
105RDF Components
- Formal data model
- Syntax for interchange of data
- Schema Type system (schema model)
- Syntax for machine-understandable schemas
- Query and profile protocols
106RDF Data Model
- Imposes structural constraints on the expression
of application data models - for consistent encoding, exchange and processing
of metadata - Enables resource description communities to
define their own semantics - Provides for structural interoperability
107RDF Data Model
- Directed labelled graphs
- Model elements
- Statement Resource (Subject) Property
(Predicate) Value (Object) - Resource anything that can be identified,
identified by a URI. - Property specific aspect, characteristic,
attribute, or relation used to describe a
resource - URI verbose name for Resource, can be http, urn,
tag types - Value
108RDF Elements
- Subject source of relationship
- Always a resource
- Predicate labeled arc
- Always a resource
- Object relationships destination
- Resource or literal
- Subject and Predicates are first-class objects
- Which means they can be used as subjects or
objects of other statements
109RDF Model Primitives
Resource
Property
Value
110RDF Model
Resource
Author
Paul
111RDF Syntax
- RDF Model defines a formal relationships among
resources, properties and values - Syntax is required to...
- Store instances of the model into files
- Communicate files from one application to another
- W3C XML eXtensible Markup Language
- http//www.w3.org/XML
112RDF Model Example
URIR
Title
RDF Presentation
Creator
Paul Miller
113RDF Syntax Example
URIR
Title
RDF Presentation
Creator
Paul Miller
ltRDF xmlns http//www.w3.org/TR/WD-rdf-syntax
xmlnsdc http//purl.org/dc/element
s/1.0/gt ltDescription about URIRgt
ltdcTitlegt RDF Presentation lt/dcTitlegt
ltdcCreatorgt Paul Miller lt/dcCreatorgt
lt/Descriptiongt lt/RDFgt
114RDF Model Example
URIR
Title
RDF Presentation
Creator
Paul Miller
115RDF Syntax Example
ltRDF xmlns http//www.w3.org/TR/WD-rdf-syntax
xmlnsdc http//purl.org/dc/element
s/1.0/ xmlnsbib http//www.bib.org
/personsgt ltDescription about URIRgt
ltdcTitlegt RDF Presentation lt/dcTitlegt
ltdcCreatorgt ltDescriptiongt
ltbibNamegt Paul Miller lt/bibNamegt
ltbibEmailgt p.miller_at_ukoln.ac.uk lt/bibEmailgt
ltbibAff resource http//www.ukoln.ac.uk
/gt lt/Descriptiongt lt/dcCreatorgt
lt/Descriptiongt lt/RDFgt
116RDF Schema
- RDFS or RDF Schema is an extensible knowledge
representation language, providing basic elements
for the description of ontologies, otherwise
called RDF vocabularies, intended to structure
RDF resources. The first version was published by
W3C in April 1998, and the final W3C
recommendation was released in February 2004.
Main RDFS components are included in the more
expressive language OWL. - RDFS is also written in XML.
117RDF Schema
- RDF describes resources with classes, properties,
and values. - In addition, RDF also need a way to define
application -specific classes and properties.
Application-specific classes and properties must
be defined using extensions to RDF RDF Schema - RDF Schema does not provide actual
application-specific classes and properties. - Instead RDF Schema provides the framework to
describe application-specific classes and
properties - Classes in RDF Schema is much like classes in
object oriented programming languages. This
allows resources to be defined as instances of
classes, and subclasses of classes
118RDF Schema
- Basic vocabulary to describe RDF vocabularies
- Defines properties of the resources (e.g., title,
author, subject, etc) - Defines kinds of resources being describes
(books, Web pages, people, etc) - XML Schema gives specific constraints on the
structure of an XML document - RDF Schema provides information about the
interpretation of the RDF statements
119RDFS / RDF Classes
Class
Resource
Datatype
Container
Literal
Property
List
Statement
Alt
Bag
Seq
XMLLiteral
ContainerMembershipProperty
120RDFS / RDF Properties
Element Domain Range Description
rdfsdomain Property Class The domain of the resource
rdfsrange Property Class The range of the resource
rdfssubPropertyOf Property Property The property is a sub property of a property
rdfssubClassOf Class Class The resource is a subclass of a class
rdfscomment Resource Literal The human readable description of the resource
rdfslabel Resource Literal The human readable label (name) of the resource
rdfsisDefinedBy Resource Resource The definition of the resource
rdfsseeAlso Resource Resource The additional information about the resource
rdfsmember Resource Resource The member of the resource
rdffirst List Resource
rdfrest List List
rdfsubject Statement Resource The subject of the resource in an RDF Statement
rdfpredicate Statement Resource The predicate of the resource in an RDF Statement
rdfobject Statement Resource The object of the resource in an RDF Statement
rdfvalue Resource Resource The property used for values
rdftype Resource Class The resource is an instance of a class
121RDFS / RDF Attributes
Element Domain Range Description
rdfabout Defines the resource being described
rdfDescription Container for the description of a resource
rdfresource Defines a resource to identify a property
rdfdatatype Defines the data type of an element
rdfID Defines the ID of an element
rdfli Defines a list
rdf_n Defines a node
rdfnodeID Defines the ID of an element node
rdfparseType Defines how an element should be parsed
rdfRDF The root of an RDF document
xmlbase Defines the XML base
xmllang Defines the language of the element content
122RDF Schema Example
- lt?xml version"1.0"?gt
- ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/2
2-rdf-syntax-ns" - xmlnsrdfs"http//www.w3.org/2000/01/
rdf-schema"gt - ltrdfsClass rdfID"Person"gt
- ltrdfscommentgtPerson Classlt/rdfscommentgt
- ltrdfssubClassOf
- rdfresource"http//www.w3.org/1999/02/
22-rdf-syntax-nsResource"/gt - lt/rdfsClassgt
- ltrdfsClass rdfID"Student"gt
- ltrdfscommentgtStudent Classlt/rdfscommentgt
- ltrdfssubClassOf rdfresource"Person"/gt
- lt/rdfsClassgt
- ltrdfsClass rdfID"Teacher"gt
- ltrdfscommentgtTeacher Classlt/rdfscommentgt
- ltrdfssubClassOf rdfresource"Person"/gt
- lt/rdfsClassgt
123RDF Schema Example (cont.)
- ltrdfsClass rdfID"Course"gt
- ltrdfscommentgtCourse Classlt/rdfscommentgt
- ltrdfssubClassOf rdfresource"http//www.w3.
org/1999/02/22-rdf-syntax-nsResource"/gt - lt/rdfsClassgt
- ltrdfProperty rdfID"teacher"gt
- ltrdfscommentgtTeacher of a
courselt/rdfscommentgt - ltrdfsdomain rdfresource"Course"/gt
- ltrdfsrange rdfresource"Teacher"/gt
- lt/rdfPropertygt
- ltrdfProperty rdfID"students"gt
- ltrdfscommentgtList of Students of a course
in alphabetical orderlt/rdfscommentgt - ltrdfsdomain rdfresource"Course"/gt
- ltrdfsrange rdfresource"http//www.w3.org/
1999/02/22-rdf-syntax-nsSeq"/gt - lt/rdfPropertygt
- ltrdfProperty rdfID"name"gt
- ltrdfscommentgtName of a Person or
Courselt/rdfscommentgt
124RDF (corresponded to previous schema)
- lt?xml version"1.0"?gt
- ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/2
2-rdf-syntax-ns" - xmlns"http//www.cs.rpi.edu/puninj/XMLJ/cou
rse_schema.rdf"gt - ltCourse rdfID"csci_2962"gt
- ltnamegtProgramming XML in Javalt/namegt
- ltteachergt
- ltTeacher rdfID"jp"gt
- ltnamegtJohn Puninlt/namegt
- lt/Teachergt
- lt/teachergt
- ltstudentsgt
- ltrdfSeqgt
- ltrdfligt
- ltStudent rdfID"er"gt
- ltnamegtElizabeth Robertslt/namegt
- lt/Studentgt
- lt/rdfligt
- ltrdfligt
- ltStudent rdfID"gl"gt
125CIM
126CIM Motivation
- Deregulation of the power industry worldwide
requires utility companies share power system
data Energy Management System- EMS - Exchanging power systems data is always
problematic due to use of proprietary formats - Needs of open standard for representing power
system components - CIM defines a common model for describing the
components in power systems for use in a common
EMS
127CIM Overview
- CIM is an information object-oriented model
representing real-world objects found in
transmission and distribution operation and
management - Enable integration of applications/systems
- Provides a common model behind all messages
exchanged between systems - Basis for defining information exchange models
- CIM provides a comprehensive, logical view of EMS
information for - Transmission network analysis
- Generation control
- SCADA
- Operator training simulation
128CIM Overview
- Enable data access in a standard way
- Common language to navigate and access complex
data structures in any database - Provides a hierarchical view of data for browsing
and access with no knowledge of actual logical
schema - Inspiration for logical data schemas (e.g., for
an operational data store) - Not tied to a particular applications view of
the world - But permits same model to be used by all
applications to facilitate information sharing
between applications - Also provides consistent view of the world by
operators regardless of which application user
interface they are using
129CIM Overview
- A data model to enable data transfer or
integration in any domain where a common power
system model is needed - Model includes Classes, their Attributes, and
Relationships to represent utility objects - The Classes (Objects) are abstract and may are
used in a wide variety of applications - Useful
- As Foundation for Logical Data Base Schema
- To Define Component Interfaces
- Common Language for Data Exchange
130Sample Power System Model
131Role of CIM in Utility Enterprise
- Data preparation
- Provides common set of semantics and data
representation regardless of source of data - Improves data quality and enables data validation
- Data exchange
- Provides common language and format
- Provides common set of services for sharing data
- System integration
- Provides basis for a standards-based integration
framework - Web services payloads and Service Oriented
Architecture (SOA) - Enterprise Information Management
- Part of overall Enterprise Information Model
relating to business processes/automation/manageme
nt
132Benefits of Using CIM Approach
- Data model driven solutions leads to
interoperability - Provides common semantics for information
exchange between heterogeneous systems - Used for CA to CA communications
- NERC mandated use of CIM and RDF Schema version
for power system model exchange - Provides for automatic generation of message
payloads in XML - Ensures common language for all messages defined
- Avoids proprietary message formats from vendors
(based on internal schemas) - Eliminates work of creating DTD for each message
- Alternative to EDI or CSV file formats
133Benefits of Using CIM Approach
- Uses industry standard modeling notation
- UML, XML, RDF
- Permits software tool use for
- Defining and maintaining data models
- Single point of maintenance for changes
- Documenting data models
- Automatic generation of information payloads
- Automatically generate IDL, Java, C code
134CIM Related Standards
- EPRI CCAPI The Electric Power Research
Institute (EPRI) proposed an integration
framework called control center application
program interface for EMS data sharing - IEC 61970-301 Common Information Model (CIM)
base- A semantic model describing the components
of a power system at an electrical level and the
relationships between each component - IEC 61970-501 Common Information Model Resource
Description Framework (CIM RDF) schema - IEC 61968-4 Interfaces for records and asset
management - IEC 61968-11 Extends the model to cover the
other aspects of power system software data
exchange such as asset tracking, work scheduling
and customer billing
135CIM Representation
- CIM is documented as a set of class diagrams
using the Unified Modeling Language (UML) - UML specifies CIM in an abstract manner that
allows for open implementation - There is no restriction to relational, object
oriented or other modeling technologies - The UML is a Diagramming Tool for CIM
136An Example of CIM in UML
137CIM Packages
- CIM consists of a number of packages
- Needed to make the model easier to design,
understand and review - Packages are grouped to be handled as a single
standard document - CIM - Common Information Model
- CIM Base in UML - IEC 61970 Part 301
- CIM Energy Scheduling, Reservations Financial -
IEC 61970 Part 302CIM - SCADA - IEC 61970 Part 303
- CIS - Component Interface Specifications
- GID - Generic Interface Definition
- CIM Model Exchange Format
- CIM RDF Schema (UML-gtRDF) - IEC 61970 Part 501
- CIM XML Model data Exchange Format - IEC 61970
Part 552-4
138CIM Base Part 301
- CIM Base in UML
- Package used for the Project
- Dashed lines indicate a dependency relationship
between packages - Arrow points from the dependent package to the
package on which it has a dependency - The Generation package is divided into two sub
packages - Production
- GenerationDynamics
139Components of Part 301
- Core
- This package contains the core Naming,
PowerSystemResource, EquipmentContainer, and
ConductingEquipment entities shared by all
applications plus common collections of those
entities - Not all applications require all the Core
entities - This package does not depend on any other
package, but most of the other packages have
associations and generalizations that depend on
it - Topology
- This package is an extension to the Core Package
- Specifies physical definition of how equipment is
connected together - In addition it models Topology, that is the
logical definition of how equipment is connected
via closed switches - The Topology definition is independent of the
other electrical characteristics
140Components of Part 301
- Wires
- The Wires package is an extension to the Core and
Topology packages - Models information on the electrical
characteristics of Transmission and Distribution
networks - This package is used by network applications such
as State Estimation, Load Flow and Optimal Power
Flow - Outage
- This package is an extension to the Core and
Wires packages - Models information on the current and planned
network configuration
141Components of Part 301
- Protection
- This package is an extension to the Core and
Wires packages - Models information for pro