150 likes | 276 Views
Semantics in Model-Driven Business Design. Mark H. Linehan mlinehan@us.ibm.com November 5, 2006. with: Kumar Bhaskaran, Kamal Bhattacharaya, Terry Heath, Santhosh Kumaran, Prabir Nandi, Markus Stolze, Fred Wu. . Agenda. Background
E N D
Semantics in Model-Driven Business Design Mark H. Linehan mlinehan@us.ibm.com November 5, 2006 with: Kumar Bhaskaran, Kamal Bhattacharaya, Terry Heath, Santhosh Kumaran, Prabir Nandi, Markus Stolze, Fred Wu
Agenda • Background • IBM Research Model Driven Business Transformation (MDBT) project • OMG Semantics of Business Vocabulary and Rules (SBVR) • Project Description • Demonstration • Status & Discussion
Expectations Concerns Meeting strategic goals? Business Strategy & Design Strategic Intent Align Business Services Strategic KPIs Meeting business commitments? Business Understanding Business Operations Optimize Business Performance Management Observation Models Operation Models Response To Business Situations Platform-Independent Model Solution Composition Solution Flexibility Solution Composition Solution Composition Correct Executable Solution Executable Solution Quality of Service Platform-Specific Model Detecting Business Situations IT Implementation Monitor Model Driven Business Transformation - Approach Strategic alignment of business and IT to deliver enduring value of innovation & improvement BUSINESS IT
OMG Modeling Layers Business Model (CIM or Computation Independent Model) e.g. business processes, organization structure, business metrics – expressed without implementation details e.g. BOM, BOM2 Business model Mapping Platform Independent Model (PIM) e.g. BPEL flows Technology independent model Mapping Platform Specific Model (PSM) Technology specific model e.g. models tied to J2EE, .Net
MDBT Toolkit Business Design (Business Operation Model) WB Modeler ++ (Process, People, Information, Observation) Operations Model BOM2UML Plug-In Rational Software Architect (Solution Design & Composition) Solution Design (UML) Prog. Model Elements UML2SOA Plug-In WebSphere Int. Developer (Solution Implementation) IT Implementation (Java, J2EE, JSP/JSF, DDL, SQL, BPEL, BSM) Deployable Artifacts Deploy SOA Foundation (Business Performance Transformation Platform) SolutionConfiguration
Rules at Different Layers Business Model Semantics of Business Vocabulary & Rules business guidelines e.g. “the duration of each rental must be at most 90 days” Business Vocabulary Business Rules Mapping Platform Independent Model (PIM) rules located within a solution e.g. “in the rental pickup flow, if the rental duration is greater than 90 days then …” e.g. “in the rental reservation UI, if the rental duration is greater than 90 days then …” • “Production Rules” RFP • Forward chaining • Sequential Rules ? Mapping Platform Specific Model (PSM) rule language or hard code e.g. “if rental.duration > 90 then ….” ? Vendor-Specific Rule or Other Language Use rule language if rule is volatile or execution sequencing is indeterminate, else use hard code
Two Main Aspects of SBVR Semantics of Business Vocabulary & Rules • Business Vocabulary • Nouns: object classes • e.g. car, person, wheel • Fact types: relationships among concepts • e.g. carhaswheels • Building blocks for rules • Business Rules • Guidance involving necessity, possibility, impossibility, obligation, permission, or prohibition, possibly restricted by a condition. vocabulary could come from OWL ontologies, UML class models, relational database table structures, … Most rules are not captured – as such – in existing modeling tools or methods
Example Rules It is permitted that each clerkvalidateseachlicense applicationonlyif the current ageof thelicense applicationis greater than18. using fact types: clerkvalidateslicense application license application has currentage integer1greater thaninteger2 It is obligatory that eachapplicantpassthewritten test. applicant pass written test
An Example Business Process verbs: reject, validate business artifact user role
Restrictive Permission Rules It is permitted that each <user role> <verb> each <business artifact> onlyif <some condition1> [and/or/xor/…] <some condition2] … verbs: reject, validate business artifact user role
Target Tool Users • Business consultants • Are professionals in business design • Have some experience/training with tool • Synthesize rules from information obtained from business users • Use tool to produce “work products” that are reviewed with business users • Process flow models • Information (vocabulary) models • Rule models • Business users • Want the system to reflect their needs • Need to review & understand & approve the “work products” of the business consultants
Theory of Transformation operation model with restricted permission rules expressed in SBVR solution model with rules expressed as OCL preconditions on artifact operations implementation with rules implemented in Java WBI2UML Solution2WPS • Why OCL? • Established part of UML standard • Truly PIM-level • Gives us freedom for transformation to various PSM-level implementations • Why Java? • Easy for first round • Many other options for the future: DDL, rule systems, XACML, XForms, WPF, portal, …
Prototype Components shared Eclipse shell BOM WB Modeler 1 business vocabulary import utility done SBVR vocabulary 2 SBVR tool in process & rules 3 WBI2UML extended to convert SBVR rules to OCL constraints solution model extended with OCL constraints TBD RSA/RSM 4 Solution2WPS extended to convert OCL to Java TBD generated implementation WID status as of 10/06
Status & Discussion • Status • Prototype is in process; no problems forseen • Looks promising as a very useful extension of MDBT • Much more could be done in the future • Some questions for the future • Can & will business consultants write rules this way? • How intuitive is this wizard? How much training needed? • Can business users read & understand rules expressed in “Structured English”? • Will “wizard” approach scale up effectively with more rule variations? • Without becoming too complex for target users? • Can SBVR rules be transformed into multiple runtime execution systems for multiple purposes (workflow rules, UI rules, authorisation rules, etc.) • With semantic fidelity? • What about verification, validation? • What should be modeled in the vocabulary (ontology) versus the rules? • How far can the domain-independent approach go? • Adding generality via domain-independent ontologies for rules about time, measurement, etc. • Adapting a general-purpose system via domain-specific vocabularies, e.g. for banking, insurance, e-commerce, etc. • When do we really need domain-specific languages?