practical ontology for enterprise data management
TRANSCRIPT
Practical Ontology for Enterprise Data Management5 W's:An enterprise needs to know what data they own, who uses it,when it is updated,where it is stored and used,why it is useful.
Practical . . . OntologyPractical Delivers value Easy to use
Ontology What exists Relationships
Scope:Enterprise – produces a set of products and services for a specific market / constituency
The message is the feature.
Generally, enterprise ITS organizationsspend most of their resources integratingpurchased components, not building them.
Business processes communicateby sending messages.
If you analyze those messages,you discover almost everythingabout the data.
Three Kinds of Message Request – Response : Work Order
Please deliver cake to customer. Question – Answer : Query
What is order’s delivery-address? Publish – Subscribe : Notice
Oven has reached preheat-temperature.
Request – Response :
What = What action is requested? (Write English sentence.)
Who = Actor requesting, actor responding. Where = Components (are proxies for actors) When = Task Delegation / Hand-off Why = Business Process Workflow
Question – Answer : What:
What is the question? (Write it in English) What is the expected form of the answer?
Who = Client is asking System of Record Where = Components (proxies for actors) When and Why:
Details needed for operation (task in workflow)
Details aggregated into metrics
Publish – Subscribe : What = Business Event Fact (Write it in English) Who = Who publishes? Who needs to know?
Where = Components that proxy for who. When = Other actor needs to know:
Asset Changes Account Changes
Outages Work started / completed / suspended
Why = Audit / Tracking (Metric) / Trigger
Five Message H's: How . . . How often = frequency of message How fast = response time needed
How long = record retention period How much = Mega / Giga / Tera / Peta – Bytes
How do: How protected = encryption / access control
How transported = infrastructure used How formatted = XSD / . . .
Message ==> Nouns ==>
1.Write the message out as a full sentence.2.Underline the nouns.
3.Analyze the nouns: Each noun refers to . . .
Entity: Identifiable / Countable Entity Attribute: Describes some entity.
Attribute Categories: Example: Color Green Entity-Owned Collection: Set, Bag, or List of . . .
Entity is defined by its supertypes and attributes
Entity Facts What is the operational meaning of a data record? Who
. . . is entity custodian? (business process)
. . . has access to which fields?
Where is entity record? (system of record)
When is the entity data changed? (life-cycle: business events)
Why is it useful? (ROI / ROA)
Clients that query
Business metrics derived
Compliance with rules / regulations / best practice
Message ==> Capability Request – Response
==> Ability to provide a service / product
Question – Answer==> Ability to interpret the query and answer it
Publish – Subscribe==> Publisher is qualified observer . . . (sufficient for an internal notice) ==> Publisher is authority for that event data. . . (necessary for wider audience)
Capability ==> Function / Feature
What capability? User Story / Use Case
Given . . . When . . . Then . . .
Who = Which business process provides? Where = Which application / component provides?
When = Business Process Task (business event) that requires capability
Why = Business benefit (faster / better / cheaper)
Structured English (natural language structured for processing)
SQL – Data Description Language
Interface Description Languages CORBA IDL Java Interface declaration / equivalent in language X Web Service Description Language (WSDL)
Business Process / Workflow Description Business Process Modeling Notation (BPMN) Business Process Execution Language (BPEL)
Miscellaneous XML XML Schema Document (XSD) Web Ontology Language (OWL) Resource Description Framework (RDF) ALICE (Chat-Bot NLP: translate queries to standard form)
Notations
Examples in Hum
• Hum is not a product. It is an experiment.
• Open source - written in Smalltalk.
• Examples to show basic concepts.
• Point is that you can do this kind of thing using structured natural languageas the notation.
• 5x8 cards will work almost as well
Plan Tree
Goal: <imperative statement>
Post-Condition: <assertion statement>
Preconditions:
• <assertion statement>
• <assertion statement>
Action:
• <role> : <imperative statement>
Each of these statementsindicates a message.
Plan Tree - Example
Goal: Bake a cake according to recipe.
Post-Condition: Cake is baked per recipe.
Preconditions:
• Oven is at preheat-temperature per recipe.
• Cake batter is in a prepared cake pan.
Action:
• Cook : Bake in oven for bake-time given in recipe.
Role-Action : ProcedureRole: <Role-Name>.
Action: <imperative statement>
• <imperative Statement>
• <role-name> : <imperative statement>
• If <condition>:
• . . .
• ...
Role-Action : ExampleRole: Cook.
Action: Bake in oven for bake-time given in recipe.
• Open the oven door.
• Place the pan in the oven.
• Close the oven door.
• Oven: Bake for the bake-time given in recipe.
Message delegates step to automated oven (role).
Noun Relations
Dictionary: <title indicates context>
• A <noun> is a <noun>.
• <noun> attributes include <noun>, . . .
• <noun> categories include <noun>, . . .
• <noun> contains a <collection> of <plural noun>.
• . . .
Noun Relations - ExampleDictionary: Baker’s vocabulary.
• A mixing-bowl is a container.
• Recipe attributes include temperature, duration, . . .
• Cake-type categories include layer-cake, bunt-cake.
• Recipe contains a list of steps.
• A temperature is a measurement.
Yellow nouns above could be in a base vocabulary.
Base Vocabulary Dictionary: Base vocabulary.
• A weight is a measure.
• Measure attributes include quantity, precision, unit-of-measure, method.
• Unit-of-measure categories include Wh, VAh, V.
• Wh is shorthand for Watt-hours.
• . . .
(Could be open source like OpenCyc.)
Dialogs and Use Cases
Dialog: <arbitrary title giving overview>.
Context: <name-of-context for disambiguation>.
(Vignette -- starts with a specific user statement)
• U: <user statement>
• S: <system response>
• <role> : <action statement>
Dialog - Example
Dialog: User authentication.
Context: New session.
U: [User arrives with cookie.]
S: Hello [user name]. What would you like to do?
Context: Expect user request.
U: I want to pay my bill.
S: Your balance is [user account balance]. Would you like to pay by credit card or PayPal?
Summary
• Enterprise ITS needs to know what data it ownsand who uses it, when, where, and why.
• Enterprise actors communicate with messages.
• By analyzing message nouns and context,we discover ontology content.
• Structured English provides human readable information that is also machine readableonce the nouns are identified.