Setting the Scene 42 Objects Business Ontology Based Software Development 14 th June 2004 Chris Partridge Chief Ontologist, 42 Objects Ltd. Chief Ontologist, BORO Centre Ltd. Visiting Research Fellow, Brunel University ECOOP 2004 - WS6 Philosophy, Ontology, and Information Systems Key goals of the workshop To secure a measure of agreement on: What philosophical ontology is, Whether, and how, ontology can assist in object oriented software development, What philosophical ontology can add to the debate on the mapping between objects in the real world and system objects, What the key obstacles to the deployment of ontology are The practical example In the workshop’s Call for Papers: Q. Are there examples of how philosophical ontology has improved software engineering? A. Yes – 42 Objects’ Service Oriented Business Applications (SOBAs) About 42 Objects a venture capital company funded by Europe's leading venture capital company, 3i. builds component based business applications for financial services organisations. products are developed in Java and deployed on the latest technology platforms including Java/J2EE Application Servers More details at: http://www.42objects.com 1) What is a philosophical ontology? 42 took a philosophical ontology to: A) Subscribe to a philosophical notion of an ontology. B) Where the basis for determining what is in the ontology, particularly at the top levels is informed by philosophical research. Much more than mere XML. Different from Gruber’s CS definition: ‘An ontology is a specification of a conceptualization’ 1) What is a philosophical ontology? 42 took a philosophical ontology to: A) Subscribe to a philosophical notion of an ontology – such as: An ontology is is those things in the world (business domain) whose existence a theory (an application) commits to. An ontological model – is a model of these things. (link to paper). Where the philosophical discipline Ontology is regarded as being the study of being/existence B) Where the basis for determining what is in the ontology, particularly at the top levels, is informed by philosophical research. For example, the model should: explicitly describe the core ontological categories – the categories of existence. explicitly state the metaphysical choices made – e.g. Four dimensionalism (unreality of tense and time) – versus three dimensionalism. Extensionalism – versus intentionalism. 2) Whether, and how, ontology can assist in object oriented software development We have found it can assist in these ways: It provides a basis for making a rigorous separation of concerns between: The Business Domain and The Business Services and The Technology Platform. Separating the business domain from the business services : simplifies inter-operability – as the model is independent of the services/application. enables significant levels of sophistication. Separating the technology platform from the business elements (domain and services): Gives technology future proofing – protecting investment in these areas. Enables the business to get a better grasp on (and control of) its concerns. Need to calibrate the ontology to get substantial benefits. So, for example, we believe that the wholesale uncritical use of an ontology is difficult to tune in this way. E.g. Wand/Weber’s use of Mario Bunge’s ontology. 2) Whether, and how, ontology can assist in object oriented software development Front Office System Settlement System MIS/Risk System FX Trade OK OK Service/Application Views Business Domain BDM – Single View USE Ontology – a view from nowhere Services (Epistemology and Performatives) – a view from somewhere 2) Whether, and how, ontology can assist in object oriented software development Types of sophistication Generality. The degree by which the scope of the types in the improved model can be increased without the loss of information. Simplicity. The degree by which the model can be made less complex. Explanatory power. The ability of the improved model to give increased meaning. Fruitfulness. The degree to which the improved model can meet currently unspecified requirements or is easily extendable to do so. Objectivity. The ability of the model to provide a more objective (shared) understanding of the world : in particular, to index a thing to its mode of existence as opposed to its mode of representation and/or application. Precision. The ability of the improved model to give a more precise picture of the business object. These types are closely inter-related. Result is the identification of very general (highly re-usable) business patterns. 2) Whether, and how, ontology can assist in object oriented software development Sophistication – Targeting the benefits Goals – develop business patterns that Reduce complexity by orders of magnitude (thru generalisation and simplicity) Simpler models can have greater functionality. Additional functionality does NOT have to lead to additional complexity. Reduced life cycle costs Meet currently unspecified/unknown requirements (thru fruitfulness) Reduced time to market Narrower Wider Scope/Functionality Level of Generality Lower Higher Traditional modelling Ontology sophistication based modelling 2) Whether, and how, ontology can assist in object oriented software development Physical Model (PSM) Logical Model (PIM) No System Legacy System Technology Locked Zone Computation Dependent Zone Technology Dependent Zone Greenfield Zone System Architecture Specifies the Computational Design Specifies the Physical Design Mapping Current Development Approach 2) Whether, and how, ontology can assist in object oriented software development This adds a business architecture dimension Physical Model (PSM) Logical Model (PIM) Business Domain Models No System Legacy System Business Service Models Technology Locked Zone Application Agnostic Zone Application Dependent Zone Computation Dependent Zone Technology Dependent Zone Greenfield Zone Computation Agnostic Zone (CIM) Technology Agnostic Zone Model Driven Architecture (MDA) Business Architecture System Architecture Captures Business Domain Knowledge From Legacy Systems Captures Business Service Knowledge From Legacy Systems Specifies the Computational Design Specifies the Physical Design Describes The Business Domain/Ontology Describes The Business Service Requirements (Epistemic and Performative) Mapping Mapping Mapping Mapping 42’s MDA based Development Approach 2) Whether, and how, ontology can assist in object oriented software development Business Service Model Layered over the Business Domain (Ontology) Model Adds layers for: Epistemology: what the system knows Performatives: what the system does. Hence, different for different services/applications Business based view of the application Enables a better business fit. 3) What philosophical ontology can add to the debate on the mapping between objects in the real world and system objects 42 used a philosophical ontology because: It is the discipline that focuses on developing precise pictures of the world – and it has been working on this for over 2,500 years. An ontology is those things in the world (business domain) whose existence a theory (an application) commits to. In a development, without a clear picture of the ontology, the application cannot clearly reflect the business domain. Philosophical ontology enables us to clearly and explicitly model the application’s ontology – and reflect this in the application. 3) What philosophical ontology can add to the debate on the mapping between objects in the real world and system objects In other words; Philosophical ontology is good for modelling the real world O-O is good for managing system objects The mapping between these is NOT direct. Making a good mapping is a key challenge in system building. 3) What philosophical ontology can add to the debate on the mapping between objects in the real world and system objects Typical mapping concerns: Dealing with deep inheritance hierarchies Multiple inheritance and multiple classification The O-O class/object apartheid Managing the epistemology/ontology gap 4 ) What the key obstacles to the deployment of ontology are Typical problems for paradigm shifts: How to motivate a new way of doing things How to mitigate the worries that existing experience will no longer be so relevant How to justify the time and effort required to unlearn existing habits and acquire new ones. We have found that philosophical ontology requires a big change in the current ways of working. E.g. IT relinquishing control over the precise definition of business concerns 4 ) What the key obstacles to the deployment of ontology are Important to recognise that we are currently at the early adopter stage: Motivations based upon proven benefits really for late maturity stage. Need to get people excited by the potential. Appendix Generalisation The stages of generalisation Original Classes Construct Super-Classes Eliminate Original Classes Example : Classes of animals (1) – Starting point Animals Boars Sows Ewes Mares Stallions Rams We start with the Animals class having 6 sub-classes Example : Classes of animals (2) – Generalised classes After the re-engineering: the original classes have been eliminated overall number of classes reduced new classes fit into two new patterns; species and gender addition of new elements to one pattern, automatically inherit the other pattern (consider – chicken (hen and cockerel)) Pigs Male animals Female animals Animals Horses Sheep SPECIES GENDER Multiple classification’s potential for generalisation T he potential increases substantially as the number of general classes gets higher. This is because the potential number of lower level classes that can be superseded grows exponentially. T he figures give an indication of how multiple classification’s potential for generalisation affects increases in scope and functionality. Assume that we double the number of objects in a totally generalised system. If we take the potential number of lower level classes as an indication of the scope and functionality of the system classes, then this doubling of size much more than doubles the scope and functionality. For instance, when we double a system with 10 objects, we should have a theoretical 1000 fold (1048550/1013) increase in scope and functionality. For a larger system, the increase would be even higher. Number of general classes 1 2 3 4 5 10 20 100 200 N Potential number of lower level classes 0 1 4 11 26 1013 1,048,555 1.27*10 30 1.61*10 60 2 N -N-1 Appendix 42 Technology Key Points Technology – Key Points J2EE Compliant Standards based, scalable, distributable, robust framework Application Servers IBM WebSphere BEA WebLogic Oracle AS 10 g Messaging JMS IBM MQ BPM WSDL, BPEL Operating Systems Unix Linux Windows Databases Oracle Sybase DB2 MS SQL Server Versant Multi Language Unicode All text in resource files
BORO Research
Setting the Scene:
42 Objects Business Ontology Based Software Development
13 June 2004Presented at Philosophy, Ontology, and Information Systems, colocated with ECOOP 2004, 14-18 June 2004, Oslo, Norway
Overview
An overview of 42 Objects' approach to Business Ontology Based Software Development that aims to secure a measure of agreement on:
- What philosophical ontology is,
- Whether, and how, ontology can assist in object oriented software development,
- What philosophical ontology can add to the debate on the mapping between objects in the real world and system objects,
- What the key obstacles to the deployment of ontology are
