asset categorization

292
Asset Categorization Asawin Rajakrom

Upload: toviel

Post on 24-Jan-2016

58 views

Category:

Documents


1 download

DESCRIPTION

Asset Categorization. Asawin Rajakrom. Course Syllabus. - PowerPoint PPT Presentation

TRANSCRIPT

  • Asset CategorizationAsawin Rajakrom

  • Course SyllabusThis 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.

  • Course OutlineCategorization principle & terminologiesUnified modeling languageeXtensible markup languageResource description framework Common information modelknowledge engineeringOntological developmentPower distribution network asset categorization

  • Asset CategorizationCategorization Principle & Terminologies

  • Categorization OverviewThe basic cognitive process of arranging into classes or categoriesThe 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 knowledgeThe function of category systems and asserts that the task of category systems is to provide maximum information with the least cognitive effortThe structure of the information so provided and asserts that the perceived world comes as structured information rather than as arbitrary or unpredictable attributes

  • Controlled VocabularyWay of describing a concept under a single word or phraseMay vary in its definition and usage when use in different domainAn established list of standardized terms used for both indexing and retrieval of informationThe 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

  • Controlled VocabularyAt 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.

  • ClassificationSystematic arrangement in groups or categories according to established criteriaAct or process of putting people or things into a group or classEstablishing the correct class (or category) for an object where an object needs to be characterized in terms of class to which it belongs

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

  • TaxonomyAn orderly classification of plants and animals according to their presumed natural relationshipsA hierarchy created according to data internal to the items in that hierarchyAn orderly classification of objects into hierarchical structure using a parent-child relationshipsUsing 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

  • Taxonomy

  • OntologyA branch of metaphysics concerned with the nature and relations of beingA system of concepts used as building blocks of an information processing systemConsists 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

  • OntologyTaxonomy and ontology are often interchangeably used, however they are fundamentally different.Taxonomy classifies objects in a domain in hierarchical structuregive exact names for everything in a specified domain show which things are parts of other thingsOntology 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/relationships A formal ontology is hence a controlled vocabulary expressed in an ontology representation language

  • Meta-modelData about dataFacilitate the understanding, characteristics, and management usage of dataAn explicit model of the constructs and rules needed to build specific models within a domain of interestA valid meta-model is an ontology, but not all ontologies are modeled explicitly as meta-models Schema is Metadata

  • Power Distribution System Asset CategorizationProvide all key attributes of network assets, either concrete or abstract, operational stresses and external environments for determining asset conditions and failure probabilityProvide all key attributes to deduce asset costsProvide all associated social and environment factors that influence decision of asset investmentThis information is modeled into classes and attributes as well as class relationships using the common information model (CIM) specification

  • UMLUnified Modeling Language

  • Origins of UMLEvolution of object-oriented technology:-Develop and start using OOP languageUse of OOAD in business process modeling, requirement analysis and software systems designUML was designed to bring together the best features of a number of analysis and design technologies and notations to produce and industrial standard.

  • Emergence of UML

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

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

  • UML ConceptsUML 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.

  • UML Diagrams and ElementsUse case diagramsStatic structural diagramsClass, objectInteraction diagramsSequence, collaboration State diagramsActivity diagramsImplementation diagramsPackages, Components, Deployment

  • Use Cases DiagramUse 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

  • Use Cases Diagram

  • Class DiagramClass diagrams show the classes of the system, their inter-relationships, and the operations and attributes of the classesExplore 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

  • Class DiagramPersonClass nameAttributesOperationsattribute name : typeoperation name(parameter : type) : result type

  • Object DiagramObject 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.

  • Class and ObjectsLondon : CityName = LondonCountry = UK

    CityName : String = defaultsetName (s : String = deault) setPopulation(p : integer = default)Population : integer = defaultPopulation =2,324,320New York : CityName = New YorkCountry = USAPopulation =5,734,012Sydney : CityName = SydneyCountry = AustraliaPopulation =3,536,000Country : String = default

  • Sequence DiagramSequence 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.

  • Sequence Diagram

  • Collaboration DiagramCollaboration (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.

  • Collaboration Diagram

  • State DiagramState 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.

  • State Diagram

  • Activity DiagramActivity 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).

  • Activity Diagram

  • Packages DiagramPackage 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.

  • Packages Diagram

  • Components DiagramComponent 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.

  • Components Diagram

  • Deployment DiagramDeployment 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.

  • Deployment Diagram

  • UML Class Diagrams and RelationshipsHow 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

  • UML Class Diagrams and RelationshipsBy 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.

  • Elements of a Class Diagram

  • UML Class Relationships

    RelationSymbolDescriptionAssociationWhen 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:

  • UML Class Relationships

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

  • UML Class Relationships

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

  • UML Class Relationships

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

  • UML Class Relationships

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

  • UML Class Relationships

    RelationSymbolDescriptionCompositionComposition is a variation of the aggregation relationship. Composition connotes that a strong life cycle is associated between the classes.

  • UML Class Relationships

    RelationSymbolDescriptionInheritance/GeneralizationAlso 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.

  • UML Class Relationships

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

  • Other Terms for Annotations of Class DiagramsResponsibility 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.

  • Put Them Together

  • XMLeXtensible Markup Language

  • EvolutionSGML (Standard Generalized Markup Language)ISO Standard, 1986, for data storage & exchangeMetalanguage for defining languages (through DTDs) A famous SGML language: HTML!!Separation of content and displayUsed in U.S. gvt. & contractors, large manufacturing companies, technical info. Publishers,...SGML reference is 600 pages longXML (eXtensible Markup Language)W3C (World Wide Web Consortium) -- http://www.w3.org/XML/) recommendation in 1998Simple subset (80/20 rule) of SGML: ASCII of the Web, Semantic Web.XML specification is 26 pages long

  • EvolutionCanonical XMLnormalization, equivalence testing of XML documentsSML (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 SchemaXML Schema definition language Back to complex: Part I (Structures), Part II (Data Types), Part III aehm 0 (Primer)

  • What is XML?XML is a universal format for structured documents and data.Can be understood using any (archaic CP/M) editorCan be parsed easilyContains its own structure (=parse tree) in the dataAllows 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 futureXML uses a Document Type Definition (DTD) or an XML Schema to describe the dataXML with a DTD or XML Schema is designed to be self-descriptive

  • Simple XML Example Tom Jane Reminder Meeting at 9.00 AM

  • Why Is XML Important? Plain Text Easy to editUseful for storing small amounts of data Possible to efficiently store large amounts of XML data through an XML front end to a databaseData Identification Tell you what kind of data you haveCan be used in different ways by different applications

  • Why Is XML Important?StylabilityInherently style-free XSL---Extensible Stylesheet LanguageDifferent XSL formats can then be used to display the same data in different waysInline ReusabiliyCan be composed from separate entitiesModularize your documents without resorting to links

  • Why Is XML Important?Linkability -- XLink and XPointerSimple unidirectional hyperlinks Two-way linksMultiple-target linksExpanding links Easily Processed Regular and consistent notationVendor-neutral standardHierarchical Faster to access Easier to rearrange

  • XML Building BlocksElementDelimited by angle brackets Identify the nature of the content they surroundGeneral format: Empty element: AttributeName-value pairs that occur inside start-tags after element name, like:

  • XML Building blocks--PrologThe part of an XML document that precedes the XML dataIncludesA declaration: version [, encoding, standalone]An optional DTD (Document Type Definition )Example

  • XML SyntaxAll XML elements must have a closing tag XML tags are case sensitiveAll XML elements must be properly nestedAll XML documents must have a root tagAttribute values must always be quotedWith XML, white space is preservedWith XML, a new line is always stored as LF Comments in XML:

  • XML is Based on Markup

    Y.Papakonstantinou S. Abiteboul H. Garcia-Molina Object Fusion in Mediator Systems VLDB 96

    Markup indicatesstructure and semantics Decoupled from presentation

  • XML ElementsXML Elements are Extensible XML documents can be extended to carry more informationXML Elements have Relationships Elements are related as parents and children Elements have ContentElements can have different content types: element content, mixed content, simple content, or empty content and attributes XML elements must follow the naming rules

  • XML as Labeled Ordered Trees

    Yannis Serge ... Object Fusion ...

    semistructured data labeled trees/graphscan also represent relational and object-oriented data

  • Elements and their Contentelementelement nameCharacter contentElementContentEmptyElement

    Y.Papakonstantinou S. Abiteboul H. Garcia-Molina Object Fusion in Mediator Systems VLDB 96

  • XML AttributesLocated in the start tag of elementsProvide additional information about elementsOften provide information that is not a part of dataMust be enclosed in quotesShould 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

  • Element AttributesAttribute nameAttribute Value

    Y.Papakonstantinou S. Abiteboul H. Garcia-Molina Object Fusion in Mediator Systems VLDB 96

  • XML Validation"Well Formed" XML documentcorrect XML syntax"Valid" XML documentwell formedConforms to the rules of a DTD (Document Type Definition)XML DTDdefines the legal building blocks of an XML documentCan be inline in XML or as an external referenceXML Schemaan XML based alternative to DTD, more powerfulSupport namespace and data types

  • Displaying XMLXML documents do not carry information about how to display the dataWe can add display information to XML withCSS (Cascading Style Sheets)XSL (eXtensible Stylesheet Language) --- preferred

  • XML 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 typesXML Namespacesidentify your vocabulary

  • Document Type Definitions (DTD)

    Define and Constrain Element Names & Structure Element TypeDeclarationAttribute ListDeclaration

  • Document Type Definitions (DTD)

    Character contentAuthors followed byoptional fullpaper,followed by title,followed by booktitleSequence of 1 ormore authorSequence of 0 ormore paper

  • Document Type Definitions (DTD)

    Y.Papakonstantinou Object Fusion in Mediator Systems

    Object Identity Attribute CDATA (character data) Yannis info IDREFintradocumentreferenceReference toexternal ENTITY

  • XML NamespacesNamespace is a mapping between an element prefix and a URIcars is the prefix in this example, URIs are not a pointer to information about the Namespace. They are just unique identifiers. You cannot resolve XML namespace URIs.

  • XML NamespacesAn XML document may reference more than one schemaA Namespace specifies which schema defines a given tagXML, like Java, uses qualified namesThis helps to avoid collisions between namesJava: myObject.myVariableXML: myDTD:myTagNote 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

  • Namespaces and URIsA namespace is defined as a unique stringTo guarantee uniqueness, typically a URI (Uniform Resource Indicator) is used, because the author owns the domainIt doesn't have to be a real URI; it just has to be a unique stringExample: http://www.matuszek.org/ns There are two ways to use namespaces:Declare a default namespaceAssociate a prefix with a namespace, then use the prefix in the XML to refer to the namespace

  • Namespace SyntaxIn any start tag you can use the reserved attribute name xmlns:This namespace will be used as the default for all elements up to the corresponding end tagYou can override it with a specific prefix You can use almost this same form to declare a prefix:Use this prefix on every tag and attribute you want to use from this namespace, including end tags--it is not a default prefixTo Begin You can use the prefix in the start tag in which it is defined:

  • Namespaces and DTDHere is a sample Namespace specification within a DTD.

  • XML SchemaPeople are dissatisfied with DTDs due to:-It's a different syntaxYou write your XML (instance) document using one syntax and the DTD using another syntax --> bad, inconsistentLimited datatype capabilityDTDs support a very limited capability for specifying datatypes. You can't, for example, express "I want the element to hold an integer with a range of 0 to 12,000"Desire a set of datatypes compatible with those found in databasesDTD supports 10 datatypes; XML Schemas supports 44+ datatypes

  • What is XML Schema?A grammar definition languageLike DTDs but betterUses XML syntaxDefined by W3CPrimary featuresDatatypese.g. integer, float, date, etcMore powerful content modelse.g. namespace-aware, type derivation, etcA schema is a collection of:type definitionssimple typecomplex type (contains element or attribute)element declarations

  • Schema TerminologySchema: 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

  • Advantages of XSDL XML syntaxschema documents easier to manipulate by programs (than the special DTD syntax)Compatibility with namespacescan validate documents using declarations from multiple sourcesContent datatypes44 built-in datatypes (including primitive Java datatypes, datatypes of SQL, and XML attribute types)mechanisms to derive user-defined datatypes

  • Advantages of XSDLIndependence 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 productionsFor example, could define titles of people as Mr./Mrs./Ms. and titles of chapters as strings

  • Advantages of XSDLSupport for schema documentation element annotation with sub-elements documentation (for human readers) andappInfo (for applications)Ability to specify uniqueness and keys within selected parts of documentfor example, that titles of chapters should be unique

  • Disadvantages of XSDLComplexity of XSDL (esp. of Rec. Part 1!) > a long learning curvePossible immaturity of implementations (?)W3C XML Schema Web site mentions a dozen of tools or processors (http://www.w3.org/XML/Schema#Tools, 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

  • Highlights of XML SchemasXML Schemas are a tremendous advancement over DTDs:Enhanced datatypes 44+ versus 10Can create your own datatypesExample: "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 documentsless syntax to rememberObject-oriented'ishCan 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 orderCan specify element content as being unique (keys on content) and uniqueness within a regionCan define multiple elements with the same name but different contentCan define elements with nil contentCan define substitutable elements - e.g., the "Book" element is substitutable for the "Publication" element.

  • Example: DTD

    note.dtd

  • Example: XMLDTD

    ToveJaniReminderDon't forget me this weekend!

    note.xml

  • Example: XML Schema

    note.xsd

  • Example: XMLXML Schema

    ToveJaniReminderDon't forget me this weekend!

    note.xml

  • RDFResource Description Framework

  • Motivation for RDFRDF and MetadataScenario 1: The libraryLookup system search properties include author, title, subject etc.Scenario 2: The video storeLookup system search properties include directors, actors, etc.The common thread: Metadata: information about information

  • Motivation for RDFWhat about the Web?One big library, need call number to get things without a searchHas hardly any metadata, HTMLYahooHas metadata based lookup facility, uses human generated subject categories and site labelsLibrary example to illustrate need for metadata

  • What 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

  • What is RDF?Describe relationships and attributes of (Internet) resources, i.e. advanced metadataBased on Directed Labelled Graphs (DLG) and classical Information AnalysisAlso represented in XML, N3, N-TripleAttributes and Relation types may be defined by XML Namespaces, e.g. Dublin CoreA general method to decompose knowledge into small pieces with some rules about semantics or meaning of those piecesDesigned for knowledge, not data, means RDF is particularly concerned with meaning

  • RDF and XMLRDF is an implementation of XMLWhy 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 practiceRepresentation of XML documents in memory trees difficult to manage when largeXML unequalled as an exchange format on the Web, but it doesnt provide a metadata framework

  • Uses of RDFResource Discovery to provide better search engine capabilitiesCataloging for describing the content and content relationshipsIntelligent software agents to facilitate knowledge sharing exchangeContent rating in describing collections of pages that represent a single logical document

  • Uses of RDFDescribing intellectual property rightsPrivacy preferences expression of a user as well as the privacy polices of a Web siteWeb of Trust RDF with digital signatures will be key to building the Web of Trust for electronic commerce, collaboration, and other applications.

  • RDF ComponentsFormal data modelSyntax for interchange of dataSchema Type system (schema model)Syntax for machine-understandable schemasQuery and profile protocols

  • RDF Data ModelImposes structural constraints on the expression of application data models for consistent encoding, exchange and processing of metadataEnables resource description communities to define their own semanticsProvides for structural interoperability

  • RDF Data ModelDirected labelled graphsModel elementsStatement: 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 resourceURI: verbose name for Resource, can be http, urn, tag typesValue

  • RDF ElementsSubject source of relationshipAlways a resourcePredicate labeled arcAlways a resourceObject relationships destinationResource or literalSubject and Predicates are first-class objectsWhich means they can be used as subjects or objects of other statements

  • RDF Model PrimitivesResourcePropertyValue

  • RDF ModelResourceAuthorPaul

  • RDF SyntaxRDF Model defines a formal relationships among resources, properties and valuesSyntax is required to...Store instances of the model into filesCommunicate files from one application to anotherW3C XML eXtensible Markup Languagehttp://www.w3.org/XML

  • RDF Model ExampleURI:RRDF PresentationTitleCreatorPaul Miller

  • RDF Syntax ExampleURI:RRDF PresentationTitleCreatorPaul Miller

    RDF Presentation Paul Miller

  • RDF Model ExamplePaul MillerURI:RRDF PresentationTitleCreator

  • RDF Syntax Example

    RDF Presentation Paul Miller [email protected]

  • RDF SchemaRDFS 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.

  • RDF SchemaRDF 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 SchemaRDF Schema does not provide actual application-specific classes and properties.Instead RDF Schema provides the framework to describe application-specific classes and propertiesClasses 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

  • RDF SchemaBasic 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

  • ClassResourceDatatypeContainerLiteralPropertyListStatementAltBagSeqXMLLiteralContainerMembershipPropertyRDFS / RDF Classes

  • RDFS / RDF Properties

    ElementDomainRangeDescriptionrdfs:domainPropertyClassThe domain of the resourcerdfs:rangePropertyClassThe range of the resourcerdfs:subPropertyOfPropertyPropertyThe property is a sub property of a propertyrdfs:subClassOfClassClassThe resource is a subclass of a classrdfs:commentResourceLiteralThe human readable description of the resourcerdfs:labelResourceLiteralThe human readable label (name) of the resourcerdfs:isDefinedByResourceResourceThe definition of the resourcerdfs:seeAlsoResourceResourceThe additional information about the resourcerdfs:memberResourceResourceThe member of the resourcerdf:firstListResourcerdf:restListListrdf:subjectStatementResourceThe subject of the resource in an RDF Statementrdf:predicateStatementResourceThe predicate of the resource in an RDF Statementrdf:objectStatement ResourceThe object of the resource in an RDF Statementrdf:valueResourceResourceThe property used for valuesrdf:typeResourceClassThe resource is an instance of a class

  • RDFS / RDF Attributes

    ElementDomainRangeDescriptionrdf:aboutDefines the resource being describedrdf:DescriptionContainer for the description of a resourcerdf:resourceDefines a resource to identify a propertyrdf:datatypeDefines the data type of an elementrdf:IDDefines the ID of an elementrdf:liDefines a listrdf:_nDefines a noderdf:nodeIDDefines the ID of an element noderdf:parseTypeDefines how an element should be parsedrdf:RDFThe root of an RDF documentxml:baseDefines the XML basexml:langDefines the language of the element content

  • RDF Schema Example

    Person Class

    Student Class

    Teacher Class

  • RDF Schema Example (cont.)

    Course Class

    Teacher of a course

    List of Students of a course in alphabetical order

    Name of a Person or Course

  • RDF (corresponded to previous schema) Programming XML in Java John Punin Elizabeth Roberts George Lucas John Smith

  • CIMCommon Information Model

  • CIM MotivationDeregulation of the power industry worldwide requires utility companies share power system data: Energy Management System- EMSExchanging power systems data is always problematic due to use of proprietary formatsNeeds of open standard for representing power system componentsCIM defines a common model for describing the components in power systems for use in a common EMS

  • CIM OverviewCIM is an information object-oriented model representing real-world objects found in transmission and distribution operation and managementEnable integration of applications/systemsProvides a common model behind all messages exchanged between systemsBasis for defining information exchange modelsCIM provides a comprehensive, logical view of EMS information for:Transmission network analysisGeneration controlSCADAOperator training simulation

  • CIM OverviewEnable data access in a standard wayCommon language to navigate and access complex data structures in any databaseProvides a hierarchical view of data for browsing and access with no knowledge of actual logical schemaInspiration for logical data schemas (e.g., for an operational data store)Not tied to a particular applications view of the worldBut permits same model to be used by all applications to facilitate information sharing between applicationsAlso provides consistent view of the world by operators regardless of which application user interface they are using

  • CIM OverviewA data model to enable data transfer or integration in any domain where a common power system model is neededModel includes Classes, their Attributes, and Relationships to represent utility objectsThe Classes (Objects) are abstract and may are used in a wide variety of applicationsUseful:As Foundation for Logical Data Base SchemaTo Define Component InterfacesCommon Language for Data Exchange

  • Sample Power System Model

  • Role of CIM in Utility EnterpriseData preparationProvides common set of semantics and data representation regardless of source of dataImproves data quality and enables data validationData exchangeProvides common language and formatProvides common set of services for sharing dataSystem integrationProvides basis for a standards-based integration frameworkWeb services payloads and Service Oriented Architecture (SOA)Enterprise Information ManagementPart of overall Enterprise Information Model relating to business processes/automation/management

  • Benefits of Using CIM ApproachData model driven solutions leads to interoperabilityProvides common semantics for information exchange between heterogeneous systemsUsed for CA to CA communicationsNERC mandated use of CIM and RDF Schema version for power system model exchangeProvides for automatic generation of message payloads in XMLEnsures common language for all messages definedAvoids proprietary message formats from vendors (based on internal schemas)Eliminates work of creating DTD for each messageAlternative to EDI or CSV file formats

  • Benefits of Using CIM ApproachUses industry standard modeling notationUML, XML, RDFPermits software tool use for:Defining and maintaining data modelsSingle point of maintenance for changesDocumenting data modelsAutomatic generation of information payloadsAutomatically generate IDL, Java, C code

  • CIM Related StandardsEPRI CCAPI: The Electric Power Research Institute (EPRI) proposed an integration framework called control center application program interface for EMS data sharingIEC 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 componentIEC 61970-501: Common Information Model Resource Description Framework (CIM RDF) schemaIEC 61968-4: Interfaces for records and asset managementIEC 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

  • CIM RepresentationCIM 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 technologiesThe UML is a Diagramming Tool for CIM

  • An Example of CIM in UML

  • CIM PackagesCIM consists of a number of packagesNeeded to make the model easier to design, understand and reviewPackages are grouped to be handled as a single standard documentCIM - Common Information ModelCIM Base in UML - IEC 61970 Part 301CIM Energy Scheduling, Reservations & Financial - IEC 61970 Part 302CIM SCADA - IEC 61970 Part 303CIS - Component Interface Specifications GID - Generic Interface DefinitionCIM Model Exchange FormatCIM RDF Schema (UML->RDF) - IEC 61970 Part 501CIM XML Model data Exchange Format - IEC 61970 Part 552-4

  • CIM Base Part 301CIM Base in UMLPackage used for the ProjectDashed lines indicate a dependency relationship between packagesArrow points from the dependent package to the package on which it has a dependencyThe Generation package is divided into two sub packages:ProductionGenerationDynamics

  • Components of Part 301CoreThis package contains the core Naming, PowerSystemResource, EquipmentContainer, and ConductingEquipment entities shared by all applications plus common collections of those entitiesNot all applications require all the Core entitiesThis package does not depend on any other package, but most of the other packages have associations and generalizations that depend on itTopologyThis package is an extension to the Core PackageSpecifies physical definition of how equipment is connected togetherIn addition it models Topology, that is the logical definition of how equipment is connected via closed switchesThe Topology definition is independent of the other electrical characteristics

  • Components of Part 301WiresThe Wires package is an extension to the Core and Topology packagesModels information on the electrical characteristics of Transmission and Distribution networksThis package is used by network applications such as State Estimation, Load Flow and Optimal Power FlowOutageThis package is an extension to the Core and Wires packagesModels information on the current and planned network configuration

  • Components of Part 301ProtectionThis package is an extension to the Core and Wires packagesModels information for protection equipment such as relaysMeasDescribes dynamic measurement data exchanged between applications

  • Components of Part 301LoadModelProvides models for the system load as curves and associated curve dataUsed for Load Forecasting and Load ManagementProductionProvides models for various types of generatorsModels production costing information which is used to economically allocate demand among committed units and calculate reserve quantitiesThis information is used by Unit Commitment and Economic Dispatch, Load Forecasting, Automatic Generation Control applications.

  • Components of Part 301Generation DynamicsProvides models for prime moversThis information is used by Unit Modeling for Dynamic Training Simulator applicationsDomainData dictionary of quantities and unitsThis package contains the definition of datatypes, including units of measure and permissible values

  • Core Package

  • TopologyPackage

  • Wire Package

  • Outage Package

  • Protection Package

  • Meas Package

  • LoadModel Package

  • Production Package

  • GenerationDynamicPackage

  • Domain Package

  • CIM XMLA common model exchange format based on the CIM data definition and XML was developedProposed to NERC and subsequently adopted by their Data Exchange Working Group (DEWG)All major vendors of energy management systems have voiced their support for the formatCIM/XML is a language for expressing CIM models in XMLThe NERC has adopted CIM/XML as the standard for exchanging models between power transmission system operatorsThe CIM/XML format is also going through an IEC international standardization process

  • CIM XMLResource Description Framework (RDF) defines a mechanism for describing resourcesRDF is a general-purpose language for representing information in the WebRDF integrates a variety of applications using XML as an interchange syntaxRDF Schema is a standard which describes how to use CIM XMLCIM/XML is an RDF application, using RDF and RDF Schema to organize its XML structures

  • CIM XML RDF ExampleThe base class of the CIM is the PowerSystemResource classOther more specialized classes such as Substation, Switch, and Breaker are defined as subclassesCIM/XML uses RDF as the language for exchanging specific system models

  • CIM XML RDF Example

  • CIM XML RDF Example

  • KEknowledge engineering

  • What is Knowledge?Data: raw, simply exists, intercept by sensory devices or organInformation: meaning that interpreted from dataKnowledge: collection of information, people use when solving the problemKnowledgeInformationData

  • Where Knowledge Resides?The problem with knowledge, however, is that, unlike information, it typically doesn't reside on paper. Instead, it lives inside people's heads.

  • Knowledge Management (1)A strategy, framework or system designed to help organisations create, capture, analyse, apply, and reuse knowledge to achieve competitive advantage.

    A key aspect is that knowledge within an organisation is treated as a key asset.

    A core aspect is "getting the right knowledge to the right people at the right time in the right format".

  • Knowledge Management (2)

  • Tacit KnowledgeExplicit KnowledgeExplicit KnowledgeTacit KnowledgeKnowledge Management (3)Nonaka SECI Model

  • Knowledge Engineering (1)A field within artificial intelligence that develops knowledge-based systemsComputer programs that contain large amounts of knowledge, rules and reasoning mechanisms to provide solutions to real-world problemsAn expert system that designed to emulate the reasoning processes of an expert practitioner

  • Knowledge Engineering (2)Key KE principles:Different types of knowledgeDifferent types of experts and expertiseDifferent ways of representing knowledgeDifferent ways of using knowledge

    Right approach and technique must be employed acquire validate and reuse of Knowledge

  • Knowledge Engineering (3)Three types of expertsAcademic: Theoretical understanding is prized.Their job is to explicate clarify and teach othersMay be far from day-to-day problem solvingPractitioner:Engage constant day-to-day problem solvingImplicitDifficult for them to articulateSamurai:Pure performance expertEquipped with theoretical knowledge and put them into real problem solvingComfortable to articulate

  • Knowledge Engineering (4)Need a way to relates different type of knowledge, experts, representation and task together to perform a knowledge-oriented activityNot to interview experts about knowledge they cannot articulate, represent it in a form no one understand and eventually find they do not really need itUse structured methods

  • Knowledge Roles

  • Classification of KnowledgeDeclarative and Procedural Knowledge: Knowing what vs. knowing howTacit and Explicit Knowledge: Easy to articulate vs. hard to articulateGeneric and Specific Knowledge: Applying across many situations vs. applying across a few situations

  • Knowledge ModelingA way of structuring projects, acquiring and validating knowledge and storing knowledge for future use.Symbolic character-based languages, such as logic Diagrammatic representations, such as networks and ladders Tabular representations, such as matrices Structured text, such as hypertext

  • Knowledge ObjectField of logic has also inspired important knowledge types, notably concepts, attributes, values, rules and relationshipsConcepts are the things (physical objects, information, people, etc.) that constitute a domain. Each concept is described by its relationships to other concepts in the domain (e.g. in a hierarchy), and by its attributes and values.Instance is an instantiated class. For example, "my car" is an instance of the concept "carAttributes are the generic properties, qualities or features belonging to a class of concepts, e.g. weight, cost, age and ability.Values are the specific qualities of a concept such as its actual weight or age. Values are associated with a particular attribute and can be numerical (e.g. 120Kg, 6 years old) or categorical (e.g. heavy, young)Rules are statements of the form "IF... THEN...". Relationships represent the way knowledge objects (such as concepts and tasks) are related to one another. Important examples include is a to show classification, part of to show composition,

  • Structured Modeling TechniquesRelational database (RDB)Object oriented database (OODB)eXtensible markup language (XML)Unified modeling language (UML)

  • Uses of Knowledge ModelsKnowledge elicitation (from an expert) Validation (with the same expert) Cross-validation (with another expert) Knowledge publication Maintenance and updating of the knowledge system or publication

  • Knowledge Acquisition (1)Generic processConduct an initial interview with the expert to scope what knowledge should be acquired, determine to what purpose the knowledge should be put, gain some understanding of key terminology, and build a rapport with the expertTranscribe the initial interview and analyze the resulting document (called a protocol) to produce a set of questions that cover the essential issues across the domain and that serve the goals of the knowledge acquisition exercise

  • Knowledge Acquisition (2)Generic processConduct a second interview with the expert using the pre-prepared questions to provide structure and focus. (This is called a semi-structured interview.)Transcribe the semi-structured interview and analyse the resulting protocol, looking for knowledge types: concepts, attributes, values, classes of concepts, relationships between concepts, tasks and rules.Represent these knowledge elements in a number of formats, for example, hierarchies of classes (taxonomies), hierarchies of constitutional elements, grids of concepts and attributes, diagrams, and flow charts. In addition, document, in a structured manner, anecdotes (war stories) and explanations that the expert gives.

  • Knowledge Acquisition (3)Generic processUse the resulting representations and structured documentation with contrived techniques to allow the expert to modify and expand on the knowledge you have already captured.Repeat the analysis, representation-building and acquisition sessions until the expert is happy that the goals of the project have been realised.Validate the knowledge acquired with other experts, and make modifications where necessary.

  • Knowledge Acquisition (4)Issues in Knowledge Acquisition:Most knowledge is in the heads of experts Experts have vast amounts of knowledge Experts have a lot of tacit knowledge They don't know all that they know and use Tacit knowledge is hard (impossible) to describe Experts are very busy and valuable people Each expert doesn't know everything Knowledge has a "shelf life"

  • Knowledge Acquisition (5)Requirements for knowledge acquisition:Take experts off the job for short time periods Allow non-experts to understand the knowledge Focus on the essential knowledge Can capture tacit knowledge Allow knowledge to be collated from different experts Allow knowledge to be validated and maintained

  • Knowledge Acquisition Techniques (1)InterviewingWork observationCommentaryProtocol analysisLadderingConcept sortingRepertory grid

  • Interviewing (1)Common use for knowledge acquisitionRange from completely unstructured to formally planned, structured interviewAudio-visual recording is required

  • Interviewing (2)

    Probe CodeQuestion templateEffectP1Why would you do that?Converts an assertion into a ruleP2How would you do that?Generates lower-order rulesP3When would you do that?Isalways the case?Reveals the generality of the rule and may generate other rulesP4What alternatives to are there?Generates more rulesP5What if it were not the case that ?Generates rules for when current condition does not applyP6Can you tell me more about ?Used to generate further dialogue if expert dries up

  • Interviewing (3)EX: I actually checked the port of the computerKE:Why did you check the port? (P1)EX:If its been lightning recently then its good to check the port, because lightning tends to damage the ports.KE:Are there any alternatives to that problem? (P4)EX:Yes, that ought to be prefaced by saying that if it was several keys with odd effects, not necessarily all of them, but two or more.KE:Why does it have to be more than two?EX:Well, if it was only one or two keys doing funny things then the thing to do is check theyre closing property, speed would affect all keys, parity would affect about half the keys.

  • Interviewing (4)IFthere has been recent lightningTHENcheck port for damage

    IFthere are two or fewer malfunction keysTHENcheck the key contacts

    IFabout half the keyboard is malfunctioningTHENcheck the parity

    IFthe whole keyboard is malfunctioningTHENcheck the speed

  • Work observationSimply observing and making notes as the expert performs their daily activities Videotaping task performance can be useful especially if combined with retrospective reporting techniques

  • CommentaryThink aloud problem-solvingExpert providing a running commentary of their thought processes as they solve a problemExperts protocol of task behaviour shown in video and asked to provide a running commentary on what they were thinking and doing

  • Protocol AnalysisTo identify of basic knowledge objects within a protocol - transcriptAn interview transcript would be analyzed by highlighting all the concepts that are relevant to the taskCategories of fundamental knowledge such as concepts, attributes, values, tasks and relationships would be extractedFor example, if the transcript concerns the task of diagnosis, then such categories as symptoms, hypotheses and diagnostic techniques would be used for the analysis

  • LadderingInvolve the creation, reviewing and modification of hierarchical knowledge, often in the form of ladders, i.e. tree diagramsSee example

  • Knowledge intensive Task Hierarchy

  • Analytic versus synthetic tasksanalytic taskssystem pre-existsit is typically not completely "known"input: some data about the system,output: some characterization of the systemsynthetic taskssystem does not yet existinput: requirements about system to be constructedoutput: constructed system description

  • Structure of template description in catalogGeneral characterizationtypical features of a taskDefault methodroles, sub-functions, control structure, inference structureTypical variationsfrequently occurring refinements/changesTypical domain-knowledge schemaassumptions about underlying domain-knowledge structure

  • Classificationestablish correct class for an objectobject should be available for inspection"natural" objectsexamples: rock classification, apple classificationterminology: object, class, attribute, featureone of the simplest analytic tasks; many methodsother analytic tasks: sometimes reduced to classification problem especially diagnosis

  • Classification: Pruning methodgenerate all classes to which the object may belongspecify an object attributeobtain the value of the attribute remove all classes that are inconsistent with this value

  • Classification:inference structure

  • Classification: method controlwhile new-solution generate(object -> candidate) docandidate-classes := candidate union candidate-classes;

    while new-solution specify(candidate-classes -> attribute) and length candidate-classes > 1 doobtain(attribute -> new-feature);current-feature-set := new-feature union current-feature-set;for-each candidate in candidate-classes domatch(candidate + current-feature-set -> truth-value);if truth-value = false;then candidate-classes := candidate-classes subtract candidate;

  • Classification: method variationsLimited candidate generationDifferent forms of attribute selectiondecision treeinformation theoryuser controlHierarchical search through class structure

  • Classification: domain schema

  • Rock classification

  • Nested classification

  • Rock classification prototype

  • Assessmentfind decision category for a case based on domain-specific norms.typical domains: financial applications (loan application), community serviceterminology: case, decision, normssome similarities with monitoringdifferences:timing: assessment is more staticdifferent output: decision versus discrepancy

  • Assessment: abstract & match methodAbstract the case dataSpecify the norms applicable to the casee.g. rent-fits-income, correct-household-sizeSelect a single normCompute a truth value for the norm with respect to the caseSee whether this leads to a decisionRepeat norm selection and evaluation until a decision is reached

  • Assessment:inference structurecaseabstractedcasenormsnormvaluedecisionabstractselectmatchspecifyevaluatenorm

  • Assessment: method controlwhile new-solution abstract(case-description -> abstracted-case) docase-description := abstracted-case;end whilespecify(abstracted-case -> norms);repeatselect(norms -> norm);evaluate(abstracted-case + norm -> norm-value);evaluation-results := norm-value union evaluation-results;until has-solution match(evaluation-results -> decision);

  • Assessment control: UML notation

  • Assessment: method variationsnorms might be case-specificcf. housing applicationcase abstraction may not be neededknowledge-intensive norm selectionrandom, heuristic, statisticalcan be key to efficiencysometimes dictated by human expertiseonly acceptable if done in a way understandable to experts

  • Assessment: domain schema

  • Claim handling forunemployment benefits

  • Decision rules for claim handling

  • Diagnosisfind fault that causes system to malfunctionexample: diagnosis of a copierterminology: complaint/symptom, hypothesis, differential, finding(s)/evidence, faultnature of fault variesstate, chain, componentshould have some model of system behaviordefault method: simple causal modelsometimes reduced to classification taskdirect associations between symptoms and faultsautomation feasible in technical domains

  • Diagnosis: causal covering methodFind candidate causes (hypotheses) for the complaint using a causal networkSelect a hypothesisSpecify an observable for this hypothesis and obtain its valueVerify each hypothesis to see whether it is consistent with the new findingContinue this process until a single hypothesis is left or no more observables are available

  • Diagnosis:inference structure

  • Diagnosis: method controlwhile new-solution cover(complaint -> hypothesis) dodifferential := hypothesis add differential; end whilerepeatselect(differential -> hypothesis);specify(hypothesis -> observable);obtain(observable -> finding);evidence := finding add evidence;foreach hypothesis in differential doverify(hypothesis + evidence -> result);if result = false then differential := differential subtract hypothesisuntil length differential =< 1 or no observables left faults := hypothesis;

  • Diagnosis: method variationsinclusion of abstractionssimulation methodssee literature on model-based diagnosislibrary of Benjamins

  • Diagnosis: domain schema

  • Monitoringanalyze ongoing process to find out whether it behaves according to expectationsterminology:parameter, norm, discrepancy, historical datamain features: dynamic nature of the systemcyclic task executionoutput "just" discrepancy => no explanationoften: coupling monitoring and diagnosis output monitoring is input diagnosis

  • Monitoring:data-driven methodStarts when new findings are receivedFor a find a parameter and a norm value is specifiedComparison of the find with the norm generates a difference descriptionThis difference is classified as a discrepancy using data from previous monitoring cycles

  • Monitoring: inference structure

  • Monitoring: method controlreceive(new-finding);select(new-finding -> parameter) specify(parameter -> norm);compare(norm + finding -> difference);classify(difference + historical-data -> discrepancy);historical-data := finding add historical-data;

  • Monitoring: method variationsmodel-driven monitoringsystem has the initiativetypically executed at regular points in timeexample: software project managementclassification function treated as task in its won rightapply classification methodadd data abstraction inference

  • Predictionanalytic task with some synthetic featuresanalyses current system behavior to construct description of a system state at future point in time.example: weather forecastingoften sub-task in diagnosisalso found in knowledge-intensive modules of teaching systems e.g. for physics.inverse: retrodiction: big-bang theory

  • SynthesisGiven a set of requirements, construct a system description that fulfills these requirements

  • Ideal synthesis methodOperationalize requirementspreferences and constraintsGenerate all possible system structuresSelect sub-set of valid system structuresobey constraintsOrder valid system structures based on preferences

  • Synthesis:inference structure

  • Designsynthetic tasksystem to be constructed is physical artifactexample: design of a carcan include creative design of componentscreative design is too hard a nut to crack for current knowledge technologysub-type of design which excludes creative design => configuration design

  • Configuration designgiven predefined components, find assembly that satisfies requirements + obeys constraintsexample: configuration of an elevator; or PCterminology: component, parameter, constraint, preference, requirement (hard & soft)form of design that is well suited for automationcomputationally demanding

  • Elevator configuration: knowledge base reuse

  • Configuration:propose & revise methodSimple basic loop:Propose a design extensionVerify the new design, If verification fails, revise the designSpecific domain-knowledge requirementsrevise strategiesMethod can also be used for other synthetic tasksassignment with backtrackingskeletal planning

  • Configuration: method decomposition

  • Configuration: method controloperationalize(requirements -> hard-reqs + soft-reqs);specify(requirements -> skeletal-design);while new-solution propose(skeletal-design + design +soft-reqs -> extension) dodesign := extension union design;verify(design + hard-reqs -> truth-value + violation);if truth-value = false thencritique(violation + design -> action-list);repeatselect(action-list -> action);modify(design + action -> design);verify(design + hard-reqs -> truth-value + violation);until truth-value = true;end while

  • Configuration: method variationsPerform verification plus revision only when for all design elements a value has been proposed.can have a large impact on the competence of the methodAvoid the use of fix knowledgeFixes are search heuristics to navigate the potentially extensive space of alternative designsalternative: chronological backtracking

  • Configuration: domain schema

  • Types of configuration may require different methodsParametric designAssembly is largely fixedEmphasis on finding parameter values that obey global constraints and adhere to preferencesExample: elevator designLayoutComponent parameters are fixedEmphasis on constructing assembly (topological relations)Example: mould configurationLiterature: Motta (1999), Chandrasekaran (1992)

  • Assignmentcreate mapping between two sets of objects allocation of offices to employeesallocation of airplanes to gatesmapping has to satisfy requirements and be consistent with constraintsterminologysubject, resource, allocationcan be seen as a degenerative form of configuration design

  • Assignment:method without backtrackingOrder subject allocation to resources by selecting first a sub-set of subjectsIf necessary: group the subjects into subject-groups for joint resource assignmentrequires special type of constraints and preferencesTake an subject(-group) and assign a resource to it.Repeat this process until all subjects have a resource

  • Assignment:inference structure

  • Assignment:method controlwhile not empty subjects do select-subset(subjects -> subject-set); while not empty subject-set dogroup(subject-set -> subject-group);assign(subject-group + resources + current-allocations -> resource);current-allocations := < subject-group, resource > union current-allocations;subject-set := subject-set/subject-group;resources := resources/resource; end while subjects := subjects/subject-set;end while

  • Assignment: method variationsExisting allocationsadditional inputsubject-specific constraints and preferencessee synthesis and configuration-design

  • Planning shares many features with designmain difference: "system" consists of activities plus time dependenciesexamples: travel planning; planning of building activitiesautomation only feasible, if the basic plan elements are predefinedconsider use of the general synthesis method (e.g therapy planning) or the configuration-design method

  • Planning method

  • SchedulingGiven a set of predefined jobs, each of which consists of temporally sequenced activities called units, assign all the units to resources at time slotsproduction scheduling in plant floorsTerminology: job, unit, resource, scheduleOften done after planning (= specification of jobs)Take care: use of terms planning and scheduling differs

  • Scheduling:temporal dispatching methodSpecify an initial scheduleSelect a candidate unit to be assignedSelect a target resource for this unitAssign unit to the target resourceEvaluate the current scheduleModify the schedule, if needed

  • Scheduling:inference structure

  • Scheduling: method controlspecify(jobs -> schedule);while new-solution select(schedule -> candidate-unit) do select(candidate-unit + schedule -> target-resource); assign(candidate-unit + target-resource -> schedule); evaluate(schedule -> truth-value); if truth-value = false thenmodify(schedule -> schedule);end while

  • Scheduling: method variationsConstructive versus repair methodRefinement often necessarysee scheduling literaturecatalog of Hori (IBM Japan)

  • Scheduling: typical domain schema

  • Modelingincluded for completeness"construction of an abstract description of a system in order to explain or predict certain system properties or phenomena"examples:construction of a simulation model of nuclear accidentknowledge modeling itselfseldom automated => creative stepsexception: chip modeling

  • In applications: typical task combinationsmonitoring + diagnosisProduction processmonitoring + assessmentNursing taskdiagnosis + planningTroubleshooting devicesclassification + planningMilitary applications

  • Example: apple-pest management

  • Comparison with O-O analysisReuse of functional descriptions is not common in O-O analysisnotion of functional objectBut: see work on design patternsstrategy patternstemplates are patterns of knowledge-intensive tasksOnly real leverage from reuse if the patterns are limited to restricted task types

  • Ontology EngineeringOntology Development

  • What Is An Ontology?An ontology is an explicit description of a domain:conceptsproperties and attributes of conceptsconstraints on properties and attributesIndividuals (often, but not always)An ontology defines a common vocabularya shared understanding

  • Ontology ExamplesTaxonomies on the WebYahoo! categoriesCatalogs for on-line shoppingAmazon.com product catalogDomain-specific standard terminologyUnified Medical Language System (UMLS)UNSPSC - terminology for products and servicesCommon Information Model (CIM)- A semantic model describing the components of a power system at an electrical level and the relationships between each component

  • What Is Ontology Engineering?Defining terms in the domain and relations among themDefining concepts in the domain (classes)Arranging the concepts in a hierarchy (subclass-superclass hierarchy)Defining which attributes and properties (slots) classes can have and constraints on their valuesDefining individuals and filling in slot values

  • Why Develop an Ontology?To share common understanding of the structure of information among peopleamong software agentsTo enable reuse of domain knowledgeto avoid re-inventing the wheelto introduce standards to allow interoperability

  • Why Develop an Ontology?To make domain assumptions expliciteasier to change domain assumptions (consider a genetics knowledge base)easier to understand and update legacy dataTo separate domain knowledge from the operational knowledgere-use domain and operational knowledge separately (e.g., configuration based on constraints)

  • Backbone of Other systemsOntologiesSoftware agentsProblem-solving methodsDomain-independent applicationsDatabasesDeclarestructureKnowledgebasesProvidedomaindescription

  • Ontology Development ProcessDetermine the domain and scope of the ontology Consider reusing existing ontologies Enumerate important terms in the ontologyDefine the classes and the class hierarchyDefine the properties of classesslotsDefine the facets of the slotsCreate instances

    Ontology Development 101: A Guide to Creating Your First Ontology

  • Pizza DomainThe specialProvoloneOnionOlive OilDMRsContainsContainsContainsOffersMade by

  • Competency QuestionsWhich styles should I consider when choosing a pizza?Is a Sicilian pizza a tomato or olive oil base?Does tuna go well with pepperoni?What is the best choice of pizza for a vegetarian?Which characteristics of a pizza affect its appropriateness for a party?Does the flavor of an ingredient change with the base?What were good toppings for a thick crust?

  • Consider ReuseWhy reuse other ontologies?to save the effortto interact with the tools that use other ontologiesto use ontologies that have been validated through use in applications

  • What to Reuse? Ontology librariesDAML ontology library (www.daml.org/ontologies)Ontolingua ontology library (www.ksl.stanford.edu/software/ontolingua/)Protg ontology library (protege.stanford.edu/plugins.html)Upper ontologiesIEEE Standard Upper Ontology (suo.ieee.org)Cyc (www.cyc.com)General ontologiesDMOZ (www.dmoz.org)WordNet (www.cogsci.princeton.edu/~wn/)Domain-specific ontologiesUMLS Semantic NetGO (Gene Ontology) (www.geneontology.org)CIM

  • Enumerate Important TermsWhat are the terms we need to talk about?What are the properties of these terms?What do we want to say about the terms?

  • Define Classes and the Class HierarchyA class is a concept in the domaina class of pizzasa class of pizza shopsa class of ingredientsA class is a collection of elements with similar propertiesInstances of classesthe pizza you will have for lunch

  • Class InheritanceClasses usually constitute a taxonomic hierarchy (a subclass-superclass hierarchy)A class hierarchy is usually an IS-A hierarchy:an instance of a subclass is an instance of a superclassIf you think of a class as a set of elements, a subclass is a subset

  • Class Inheritance - ExampleMushroom is a subclass of ToppingEvery Mushroom is an ToppingGreen-pepper is a subclass of VegetableEvery green-pepper is a vegetableProvolone is a subclass of CheeseEvery Provolone is a Cheese

    What should be the specification? The Kind? The hunk-of?

  • Modes of Developmenttop-down define the most general concepts first and then specialize thembottom-up define the most specific concepts and then organize them in more general classescombination define the more salient concepts first and then generalize and specialize them

  • DocumentationClasses (and slots) usually have documentationDescribing the class in natural languageListing domain assumptions relevant to the class definitionListing synonymsDocumenting classes and slots is as important as documenting computer code

  • Define Properties of Classes SlotsSlots in a class definition describe attributes of instances of the class and relations to other instancesEach Pizza will have crust, sauce, and toppings.

    Necessary conditions? Necessary and sufficient? Sufficient?

  • Properties (Slots)Types of propertiesintrinsic properties: Crust, sauce, extrinsic properties: name, price, parts: ingredients for a pizzarelations to other objects: pizza store, customer, Simple and complex propertiessimple properties (attributes): contain primitive values (strings, numbers)complex properties: contain (or point to) other objects (e.g., a pizza instance)

  • Slot and Class InheritanceA subclass inherits all the slots from the superclassIf a topping has a name and a cost, a cheese also has a name and flavorIf a class has multiple superclasses, it inherits slots from all of themUse great care!!

  • Property ConstraintsProperty constraints (facets) describe or limit the set of possible values for a slotThe name of a pizza is a stringThe pizza producer is an instance of PizzaShopA PizzaShop has exactly one location

  • Common FacetsSlot cardinality the number of values a slot hasSlot value type the type of values a slot hasMinimum and maximum value a range of values for a numeric slotDefault value the value a slot has unless explicitly specified otherwise

  • Common Facets: Slot CardinalityCardinalityCardinality N means that the slot must have N valuesMinimum cardinalityMinimum cardinality 1 means that the slot must have a value (required)Minimum cardinality 0 means that the slot value is optionalMaximum cardinalityMaximum cardinality 1 means that the slot can have at most one value (single-valued slot)Maximum cardinality greater than 1 means that the slot can have more than one value (multiple-valued slot)

  • Common Facets: Value TypeString: a string of characters (The Special)Number: an integer or a float (15, 4.5)Boolean: a true/false flagEnumerated type: a list of allowed values (high, medium, low)Complex type: an instance of another classSpecify the class to which the instances belongThe Pizza class is the value type for the slot produces at the PizzaShop class

  • Domain and Range of SlotDomain of a slot the class (or classes) that have the slotMore precisely: class (or classes) instances of which can have the slotRange of a slot the class (or classes) to which slot values belong

  • Facets and Class InheritanceA subclass inherits all the slots from the superclassA subclass can override the facets to narrow the list of allowed valuesMake the cardinality range smallerReplace a class in the range with a subclass

    PizzaTheSpecialPizzaShopDMRsis-ais-aproducerproducer

  • Create InstancesCreate an instance of a classThe class becomes a direct type of the instanceAny superclass of the direct type is a type of the instanceAssign slot values for the instance frameSlot values should conform to the facet constraintsKnowledge-acquisition tools often check that

  • Asset CategorizationPower Distribution Network Asset Categorization

  • Development ProcessDefining purpose, domain and scopePerforming competency questioning and informal describing of domain knowledgeAnalyzing to capture concepts and propertiesConsidering of reuse of existing ontology, i.e. CIM, and mapping concepts into CIMModeling asset classes and relationships Verifying of interchangeability, expressivity, reusability, extensibility and integrateability

  • Purpose, Domain and ScopeThe purpose is to facilitate the determination of risks, costs and socials factors associated with the implementation of power distribution networkThe domain encompass the medium voltage (MV) distribution feeder including network components, network operation, and operational environment. The scope is limited to capture information that aids determining risks, costs and socials factors involved with distribution feeder.

  • Elicitation of Domain KnowledgeThe competency questions are formed and asked, and Then human experts are thus interviewed and concerning documents are researched to elaborate informal description about the domain, i.e. MV distribution feeder. ows some of the domain informal description elicited from the experts.

  • Domain Informal Description: ExampleWhat is power distribution network? It is a part of power system.It distributes electric energy from main substation to distribution substations and transformers.It situates in diverse landscapes and environments.It runs along public road.It also runs through field and forest.It can be overhead or underground construction or combination of both.Overhead power line is placed above ground with appropriate clearance from nearby structures and trees.Underground power line is placed under ground with some kind of protection.Underground power line can also be put above ground, inside a type of structure, e.g. buildings, bridges, etc.

  • Informal Description AnalysisUsing an annotation technique to capture the keywords that represent the concepts in the domain. The concept basically features with characteristics that differentiates itself from other concepts. For example, the concepts in power distribution system domain include distribution feeder, overhead line, underground line, or location.

  • Classes and RelationshipsTransform concepts to asset classes while their characteristics are will turn into class propertiesEmploy CIM specification to constrain the modeling workReuse of existing CIM models where applicableExtend or develop new models to suite applicationVerifying of interchangeability, expressivity, reusability, extensibility and integrateability

  • Asset Classes and Its Relationships

  • Thank you

    *An example*****************************************************That brings me to the end of my presentation. If you have any question Im happy to answer.