in

The ORM Foundation

Get the facts!

ppt P14: Business Process Modeling and ORM

Downloads: 183 File Size: 1.3MB
Posted By: admin Views: 786
Date Added: 12-03-2007

Abstract. Business process modeling is currently receiving a great deal of attention from both the business and the technical communities. Many processes modeling approaches have been proposed, but these frequently lack the rigor needed to create or maintain associations between process models and operational systems in a systematic (and possibly automated) fashion. This paper examines some of the relationships between business process modeling and Object Role Modeling (ORM) as a step towards understanding where ORM can (and, just as importantly, cannot) be used in business modeling.

Author: Tony Morgan, tony.morgan@neumont.edu Neumont University, Utah, USA

The original paper is available from Springer-Verlag Lecture Notes in Computer Science LNCS 4805, November 2007 

Comments

 

VictorMorgante said:

Hi Tony, I find complications worth exploring in the ORM representations presented on page 11 of the presentation (and following on pages 12, 13 and 14). I present these complications by way of exploration of elements of the model. In particular, I focus only on the model on page 11. 1. The sub-type external role constraint joining the binary roles, ‘directly contains’, ‘is an instance of’, ‘directly contains’, and ‘is an instance of’ (as shown in the original diagram) allows for an inconsistency in sample data (set) population, as expressed below ‘directly contains’ Process Instance | Activity Instance ----------------------------------------------------- 1 | 32 ‘is an instance of’ Process Instance | Process Def ----------------------------------------------------- 1 | 7 ‘directly contains’ Process Def | Activity Def ----------------------------------------------------- 4 | 8 ‘is an instance of’ Activity Instance | Activity Def ----------------------------------------------------- 32 | 8 i.e. An instance of ‘Process Instance’ ( ‘1’ above) can safely be created with no corresponding ‘Process Definition’. 2. ‘Process Instance’ is portrayed in a ‘many to one’ binary relationship with ‘ProcessDef’. While this is not exactly ‘incorrect’ I wonder if ‘Process Instance’ is better served as a sub-type of ‘ProcessDef’ (inheriting each of the properties of ‘ProcessDef’)? Explanation follows and link to proposed model below, which solves 1) above : a. This lets there be no redundancy in representation of the ‘has_sub-process’ binary role. b. It negates the need for the mandatory binary role (‘is instance of’), and the erroneous subtype external constraint (as shown in the original diagram) and as described in 1) above. c. Instances of ‘ProcessInstance’ can still have their own unique ‘value type’ reference scheme. This is not negated. In researching this, I draw the readers attention to the following references: Halpin, ‘Conceptual Schema & Relational Database Design’, Second Edition, pg 46. (Description of the definition of ‘Instances’ as opposed ‘Entity Types’) Halpin, ‘Conceptual Schema & Relational Database Design’, Second Edition, pgs 188, 189 (Description of the definition of ‘Sub-Types’) 3. I wonder if ‘Activity Instance’ isn’t best served as a sub-type of ‘ActivictyDef’ (inheriting each of the properties of ‘ActivityDef’)? Explanation follows and link to proposed model below which solves 1) above: a. It negates the need for the mandatory binary role (‘is instance of’), and the erroneous subtype external constraint (as shown in the original diagram) and as described in 1) above. b. Instances of ‘ActivityInstance’ can still have their own unique ‘value type’ reference scheme. This is not negated. In researching this, I draw the readers attention to the following references: Halpin, ‘Conceptual Schema & Relational Database Design’, Second Edition, pg 46. (Description of the definition of ‘Instances’ as opposed ‘Entity Types’) Halpin, ‘Conceptual Schema & Relational Database Design’, Second Edition, pgs 188, 189 (Description of the definition of ‘Sub-Types’) NB By adoption and implementation of the precepts of 2) and 3) (above) the use of the ‘directly contains’ binary role (‘Process Instance’ to ‘Activity Instance’) as originally proposed in the presentation is not negated or removed as a relationship between the recommended sub-types. IMPORTANT By adopting the precepts and recommendations of 1) and 2) (above) by using sub-types to represent ‘ProcessInstance’ and ‘ActivityInstance’ (see diagram below) ; a ‘sub-type’ external constraint can be safely used between the sets ‘directly contains’ (ProcessInstance, ActivityInstance) and role, ‘directly contains’ (ProcessDef, ActivityDef), as in the diagram referenced below. i.e. sample population sets can be created that are consistent with the intended meaning of the ORM model (as I interpret the intent of the presentation and the models therein). http://www.viev.com/ORMResearch/InstanceDefinitionSubTypeModel.PNG I wonder if in approaching the problem in this way, the intended meaning of the analysis is portrayed without error and population sets can safely be created without the need for complicated sub-typing and/or mandatory binary-role constraints substituted for sub-typing? Justly, a contra position can be presented and follows. Contra-position: It is not erroneous to have a binary one-to-many role when describing instances of entities. Answer to contra-position: True…however in that instance are we not left with the conundrum of how to represent the sub-type (external role) constraints correctly, and to do so requires extensive ‘shoring up’ to support correct sample data (set) population? Moreover, are we not veering away from precepts of ORM that cater for ‘Sub-typing’ and ‘Polymorphism’ (as in ‘Halpin, Proper, ‘Subtyping and Polymorphism in Object-Role Modeling’, August 23, 1998, pgs 20 & 21 in particular) http://www.orm.net/pdf/SubPoly.pdf ? i.e. I wonder if it is easier, and closer to the precepts of ORM to represent the analysis using sub-types of Entity Types? If in no error, does it not make the diagram easier to understand, and (importantly) present no sub-type (external role) constraint errors (in sample set population)? In researching this question, I was forced to explore further the notion of ‘Instance’ versus ‘Entity Type’ (definition) as a basic tenant of ORM. The following is an annexure that explores those notions in ORM and draws relevance to the problem domain that the presentation in question explores: By default and definition, an ‘Entity Type’ embodies all ‘instances’ of that ‘Entity Type’ (Halpin, ‘Conceptual Schema & Relational Database Design’, Second Edition, pg 46), ....so we may ask “Why represent ‘Process Instances’ separately from ‘Process Definitions’? Is this not a tautology and incorrect use of ORM?” Normally, it would definitely be the case that such representation would be a tautology and incorrect use of ORM (by definition). However, I content (and in support of the work your presentation explores) when describing an information system (or UOD) where ‘Process Instances’ are treated separately from their corresponding ‘Process Definition’, and/or where the ‘Process Instances’ have roles with other ‘Entity Types’ or ‘Value Types’, with no corresponding role associations in their corresponding ‘Process Definition’, it is permissible and reasonable to expect that a valid analysis would show ‘Process Instances’ represented as ‘Entity Types’ separate from their corresponding ‘Process Definition’ Entity Types. This, in the same way that it is acceptable to have an ‘Entity Type’ of ‘Person’ represented as a ‘common supertype’ of ‘Woman’ (Halpin, ‘Conceptual Schema & Relational Database Design’, Second Edition, pgs 188, 189), Otherwise (if there was no practical or tangible difference in the information describing a ‘Process Instance’ and that of its corresponding ‘Process Definition’), you could reduce the whole ORM model to something similar to the model below http://www.viev.com/ORMResearch/ReducedInstanceDefinitionModel.PNG To summarise, I extol the exploration (within your presented work) of a very tricky and difficult area of ORM research and application. However, I raise questions which if in their answer do nothing to warrant their question but to further explore this difficult area of ORM, then they are proposed in the good will that I intend, and in furtherance of what is an exacting and beautiful science.
12-26-2007 0:56
 

VictorMorgante said:

The previous message is hard to read. The following is a PDF of the same. http://www.viev.com/ORMResearch/ExploringInstancesSubTypesAndEntityTypes.pdf
12-26-2007 1:21
 

VictorMorgante said:

Dr Halpin has provided a suitable explanation for why the inconsistent/counter example data set should not be allowed using the current ORM notation. This and further discussion on this topic can be found in the thread below. http://www.ormfoundation.org/forums/p/106/745.aspx#745
03-09-2008 18:27
© 2008 The ORM Foundation: A UK not-for-profit organisation