Title: Theory and Practice
1Business Domain Modelling Principles
HYPERCUBE Ltd 7 CURTAIN RD, LONDON EC2A 3LT
Mike Bennett, Hypercube Ltd. www.hypercube.co.uk
2Overview
- Business requirements and semantics
- Business Semantics Theory
- Development process grounding
- Philosophical grounding
- Implementing for Financial services
- Recommendations
3Top Down DevelopmentSummary of Stages
Analysis Stage Some Model Types Language
1. Business Analysis Business Use Cases, Process models, Business Data Semantics UML
2. Requirements Analysis Requirements Use Cases Business data models Message choreographies UML
3. Logical Analysis Package and Class models Message Sequence Diagrams UML
4. Logical Design Class models UML
5. Physical Design Program code, XML Schema Target language
4UML based top down development
- Requires business semantics to be modelled in UML
- Unextended UML does not model business meaning
- Extensions can be added but these are not in
basic UML - Add own extensions
- Use standard extensions for business meaning
5Going beyond UML
- Zachman Framework
- Structural and Behavioural aspects of the
development project - Corresponding structural and behavioural aspects
of the business problem domain - This has a spot on it for business semantics of
data - This is where the theory and practice of
ontologies and taxonomies comes in
6(No Transcript)
7(No Transcript)
8(No Transcript)
9Top Down Development and Model Driven Architecture
- Not the same thing, but similar disciplines apply
- Decomposition of problem into solution
- Linkages between business (requirements) and
Developed material - Business Requirements
- Structural data requirements
- Behavioural business process
10MDA Framework Deliverables
- Structural aspect (business data requirements)
- Model business Terms, Definitions and
Relationships (TDR) - Use Ontology approach
- Behavioural aspect (business process)
- High level requirements for business parties to
do business - Decomposes into message choreographies
- Link this to ontology
11Philosophical Foundations
- We must philosophise if only to avoid
philosophising Aristotle - We must deal with ontology if only to avoid
ontological mishaps Bennett
12Philosophical Foundations
- There are three considerations in computer
knowledge representation (Sowa, 1995) - Logic
- Ontology
- Computation
13The Ancient Philosophers
- Aristotle
- Knowledge representation
- Logic Representation
- Invented the Variable
- Leibniz, Kant, Hegel, Russel Whitehead etc.
- Logic Representation
- Peirce, Whitehead etc.
- Ontology
14Definitions
- Taxonomy
- Hierarchical categorisation of concepts in the
domain of discourse - Ontology
- Adds descriptions, properties and restrictions to
the concepts in a taxonomy - The properties include relationships among
concepts - These definitions are based on the best available
from academia.
15What is an Ontology?
- an ontology is a model which has
- Formal explicit description of concepts in a
domain of discourse (referred to as Classes) - Properties of each concept (class) describing
features and attributes (known variously as
slots, properties or roles) - Restrictions on those properties (known as
facets).
16Ontology Principles
- Set theory - determine what object, from the set
of all possible things, is in this class - Uses Predicate logic to define this
- some ontology tools use the original Predicate
Calculus notations (Russell et al) - some tools represent this in natural language
17Ontology and Taxonomy
- Provides the predicates for logic to operate on
- Ontological commitment
- Deciding what will be represented in your
ontology - This will be a taxonomic hierarchy of Classes
with Generalisation (OO Inheritance)
relationships - can be represented in UML or in RDFS (Taxonomy)
or OWL (ontology)
18Putting Ontology into Practice
- Ontological commitment what goes into the
taxonomy - Need a Taxonomy before you can do an ontology,
- BUT
- the classes in the Taxonomy must be ones that
would make sense in a complete ontology
19Creating an Ontology
- Define the Taxonomy
- in RDFS (standard taxonomy format)
- or create in UML using inheritance only, and
import into Ontology tool - Promote Taxonomy classes to ontology hierarchy
- commit the relevant classes to be sub-classes of
owlThing in the ontology tool
20Ontology in Practice What you will see in an
ontology tool
- Namespaces
- Classes of Thing
- Generalisation relationships
- Disjoints
- Properties
- Object Property
- Attribute Property
- Annotation Property
- Property Characteristics
- Adds more semantics to the properties
21What is a Thing?
- Financial Instrument
- Issuance Terms (a contractual kind of thing)
- Cash Flows
- Equity
- Debt
- (are these sub-types of a general kind of thing?)
22Possible Classes of Thing
23Expanding the Taxonomy
24What is an Equity?
- "An equity is a financial instrument setting out
a number of terms which define rights and
benefits to the holder in relation to their
holding a portion of the equity within the
issuing company".
25What is an Equity?
Or to put it another way
Equity
Financial Instrument
Instrument Terms
In relation to
Is a kind of
Has rights defined in
Equity security
26What is an Equity?
27Developing the Ontology
- We can expand on the above to define more
information about our reality, such as the
characteristics of different classes of equity - Each attribute and relationship adds information
to define what qualifies a thing as uniquely
belonging to a given class - Ontology uses set theory and predicate logic to
determine what is in what class.
28Notes on these views
- The above views are taken from the tool TopBraid
Composer - This uses the OWL language but gives a more
graphical representation than other tools such as
Protégé - The Predicate Calculus is hidden away under the
hood but it is still there.
29Extending UML
- Can extend UML to support OWL
- OMG Recommendation
- OWL Extensions
- The same principles of taxonomy and ontology
apply - Can be consumed by MDA efforts
- Will not have all the powers of an ontology tool
- use for representation not for processing
30Recommendations
- Use OWL Ontology language for business semantics
- Use RDFS to capture Taxonomy initially
- Need guidelines for identifying taxonomic
categories - Extend to OWL as required
- Either in extended UML or native OWL
- Determine best business review format
31Standards Based Taxonomies
- Some standards provide a true taxonomy already
- e.g. ISO 10962 (Classification of Financial
Instruments) - should not be duplicated by parallel structures
in your own model - should plug in to a Taxonomy as a distinct
category of Thing - Other standards do not
32Summary Principles
- Representing business knowledge requires a
different approach from representing data - Define a taxonomic hierarchy of separate
categories of real-world Thing at the outset - Relationships can be added to define an ontology
of the business domain - As long as they only have business meaning
- Define the reality ahead of any design or
development - Good development weak semantics
- Dont try and use a technology format (UML, XML)
to represent business semantics. Use the best of
breed for each requirement.
33Tools
- Protégé
- Freeware
- Good for logical statements
- TopBraid Composer
- Open Source and inexpensive
- Good graphical views
- UML Editors (MagicDraw, EA)
- Can be extended to represent OWL
- Easier to link into MDA framework
- But would not have all the powers of an OWL tool
34Questions?
- Mike Bennett
- Hypercube Ltd.
- 7 Curtain Road, London EC2A 3LT
- mbennett_at_hypercube.co.uk
- 020 7917 9522
- www.hypercube.co.uk