Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Practical Ontology For Enterprise Data Management


Published on

As a methodologist and software engineer, I’ve designed CASE tools that collect and impose organization on meta-data at all levels of detail.
As a enterprise architect, I’ve worked in an environment that uses planning-level data.
In a planning context, you need a method for quickly characterizing the problem space at the enterprise level.
I’ve stumbled on to a way to do that.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Practical Ontology For Enterprise Data Management

  1. 1. Practical Ontology forEnterprise Data Management5 Ws:An enterprise needs to knowwhat data they own,who uses it,when it is updated,where it is stored and used,why it is useful.
  2. 2. Practical . . . OntologyPractical Ontology Delivers value  What exists Easy to use  RelationshipsScope:Enterprise – produces a set of products and services for a specific market / constituency
  3. 3. Simple Technique The message is the feature.Everything follows from that.
  4. 4. The message is the feature. Generally, enterprise ITS organizations spend most of their resources integrating purchased components, not building them. Business processes communicate by sending messages. If you analyze those messages, you discover almost everything about the data.
  5. 5. 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.
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. Five Message Hs: 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 / . . .
  10. 10. 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
  11. 11. 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
  12. 12. 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)
  13. 13. 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)
  14. 14.  Structured English Notations (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)
  15. 15. 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 language as the notation.• 5x8 cards will work almost as well
  16. 16. Each of these statementsPlan Tree indicates a message. Goal: <imperative statement> Post-Condition: <assertion statement> Preconditions: • <assertion statement> • <assertion statement> Action: • <role> : <imperative statement>
  17. 17. Plan Tree - ExampleGoal: 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.
  18. 18. Role-Action : ProcedureRole: <Role-Name>.Action: <imperative statement>• <imperative Statement>• <role-name> : <imperative statement>• If <condition>: • ...• ...
  19. 19. 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).
  20. 20. Noun RelationsDictionary: <title indicates context>• A <noun> is a <noun>.• <noun> attributes include <noun>, . . .• <noun> categories include <noun>, . . .• <noun> contains a <collection> of <plural noun>.• ...
  21. 21. 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.
  22. 22. Base VocabularyDictionary: 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.)
  23. 23. Dialogs and Use CasesDialog: <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>
  24. 24. Dialog - ExampleDialog: 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?
  25. 25. Summary• Enterprise ITS needs to know what data it owns and 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 readable once the nouns are identified.