34
Business Domain Modelling Principles Business Domain Modelling Principles Theory and Practice HYPERCUBE Ltd 7 CURTAIN RD, LONDON EC2A 3LT Mike Bennett, Hypercube Ltd. www.hypercube.co.uk

Business Domain Modelling Principles Theory and Practice HYPERCUBE Ltd 7 CURTAIN RD, LONDON EC2A 3LT Mike Bennett, Hypercube Ltd

Embed Size (px)

Citation preview

Business Domain Modelling Principles

Business Domain Modelling Principles

Theory and Practice

HYPERCUBE Ltd7 CURTAIN RD, LONDON EC2A 3LT

Mike Bennett, Hypercube Ltd.

www.hypercube.co.uk

Business Domain Modelling Principles

Overview

• Business requirements and semantics• Business Semantics Theory

– Development process grounding– Philosophical grounding

• Implementing for Financial services• Recommendations

Business Domain Modelling Principles

Top 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 CasesBusiness data modelsMessage choreographies

UML

3. Logical Analysis Package and Class modelsMessage Sequence Diagrams

UML

4. Logical Design Class models UML

5. Physical Design Program code, XML Schema Target language

Business Domain Modelling Principles

UML 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

Business Domain Modelling Principles

Going 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

Business Domain Modelling Principles

Business Domain Modelling Principles

Business Domain Modelling Principles

Business Domain Modelling Principles

Top 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

Business Domain Modelling Principles

MDA 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

Business Domain Modelling Principles

Philosophical Foundations

• “We must philosophise if only to avoid philosophising” – Aristotle

• “We must deal with ontology if only to avoid ontological mishaps” – Bennett

Business Domain Modelling Principles

Philosophical Foundations

• There are three considerations in computer knowledge representation (Sowa, 1995):– Logic– Ontology– Computation

Business Domain Modelling Principles

The Ancient Philosophers

• Aristotle– Knowledge representation– Logic Representation– Invented the Variable

• Leibniz, Kant, Hegel, Russel & Whitehead etc. – Logic Representation

• Peirce, Whitehead etc. – Ontology

Business Domain Modelling Principles

Definitions

TaxonomyHierarchical categorisation of concepts in the domain

of discourse

OntologyAdds descriptions, properties and restrictions to the

concepts in a taxonomyThe properties include relationships among concepts

These definitions are based on the best available from academia.

Business Domain Modelling Principles

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

Business Domain Modelling Principles

Ontology 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

Business Domain Modelling Principles

Ontology 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)

Business Domain Modelling Principles

Putting 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

Business Domain Modelling Principles

Creating 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 owl:Thing in the ontology tool

Business Domain Modelling Principles

Ontology 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

Business Domain Modelling Principles

“What 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?)

Business Domain Modelling Principles

Possible Classes of Thing

Business Domain Modelling Principles

Expanding the Taxonomy

Business Domain Modelling Principles

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

Business Domain Modelling Principles

What is an Equity?

Or to put it another way…

Equity

Equity security

Instrument Terms

Financial Instrument

Is a kind of Has rights defined in

In relation to

Business Domain Modelling Principles

What is an Equity?

Business Domain Modelling Principles

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

Business Domain Modelling Principles

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

Business Domain Modelling Principles

Extending 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

Business Domain Modelling Principles

Recommendations

• 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

Business Domain Modelling Principles

Standards 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…

Business Domain Modelling Principles

Summary: 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– Don’t try and use a technology format (UML, XML) to

represent business semantics. Use the best of breed for each requirement.

Business Domain Modelling Principles

Tools

• 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

Business Domain Modelling Principles

Questions?

Mike Bennett

Hypercube Ltd.7 Curtain Road, London EC2A [email protected] 7917 9522

www.hypercube.co.uk