Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_bizrulesvocabularies [2008/05/24 20:25]
miw
pl:miw:miw08_bizrulesvocabularies [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ====== BizRulesVocabularies ====== ====== BizRulesVocabularies ======
 +__**Projekt zakończony**__
 +
 Tomasz, Bochen, <​tomasz_bochen@o2.pl>​ Tomasz, Bochen, <​tomasz_bochen@o2.pl>​
  
Linia 14: Linia 16:
  
  
-====== Spotkania ====== 
-===== 08.03.04 ===== 
-  * podejścia do budowania słowników (bizrulesvocab) w uml 
  
-===== 080318 ===== 
-  * przykłady w sbvr, umieszczać w wiki, próba opisu [[hekate:​hekate_case_thermostat|thermostatu]] w SBVR 
-  * jak SBVR mapuje się na UML? 
  
  
-===== 080401 ===== 
-  * j.w. po ang 
-  * jak zależności w SBVR maja się do ARD? 
  
  
-===== 080415 ===== 
-  * zapis  słownika do thermostato w sbcr 
-  * model thermostatu w sbeaver? 
-  * wyszukanie narzędzi do SBVR w Internecie 
- 
-===== 080520 ===== 
-  * początek sprawozdania:​ co to jest sbvr, structured english, skąd dok., narzędzia obecne i przyszle, opis therm w sbvr, przejscie do uml, prpozycja algorytmu __ard<​->​sbvr__,​ obserwacje->​przyszłe możliwośći rozwoju 
- 
-====== Projekt ====== 
 ====== Sprawozdanie ====== ====== Sprawozdanie ======
-====== Materiały ====== 
-  * [[http://​student.agh.edu.pl/​~tbochen/​SBVR.pdf|Źródło przykładu i trochę informacji na temat wykorzystania UML przy modelowaniu SBVR (słowników)]] 
-  * [[http://​portal.acm.org/​citation.cfm?​id=1342211.1342221&​coll=Portal&​dl=GUIDE&​CFID=59641205&​CFTOKEN=86539360|SBVR -> UML]] 
-  * [[http://​qrdn.brmsblog.com/​2007/​04/​12/​the-business-rules-development-cycle-an-introduction/​|The Business Rule Development Lifecycle 
-]] 
-  * [[http://​sbeaver.sourceforge.net/​support/​|SBeaver]] 
-  * http://​www.dulcian.com/​papers/​ODTUG/​2001/​RepresentingStructuralBusinessRules.htm 
-  * http://​www.omg.org/​news/​meetings/​ThinkTank/​past-events/​2006/​presentations/​04-WS1-2_Hall.pdf 
-  * http://​objectriver.net/​Leveraging%20Data%20Models.pdf 
-  * http://​www.semanticcore.org/​Docs/​Architecture%20of%20Business%20Modeling%2003-11-01.pdf 
-  * http://​bizrules.info/​page/​methodologies.htm 
  
- 
-===== Próba opisu termostatu w SBVR ===== 
-  * [[hekate:​hekate_case_thermostat|thermostat]] 
-  * [[miw08_bizrulesvocabularies_sbvr_thermostat|thermostat sbvr]] 
- 
- 
- 
- 
- 
-===== Próba opisu termostatu za pomocą UML (Activity Diagram) ===== 
-  *[[http://​student.agh.edu.pl/​~tbochen/​MIW/​p29-raj.pdf|Transformation of SBVR Business Design to UML Models]] ​ 
-  *[[http://​student.agh.edu.pl/​~tbochen/​MIW/​AD_themrostat.gif|Activity Diagram (thermostat)]] 
- 
-===== Model Development Tools (MDT) ===== 
-  *[[http://​www.eclipse.org/​modeling/​mdt/?​project=sbvr|Coming soon...]] 
- 
- 
- 
- 
-====== Sprawozdanie ====== 
  
  
Linia 97: Linia 50:
 SBVR is an integral part of the OMG’s [[http://​www.omg.org/​mda/​faq_mda.htm|Model Driven Architecture]] (MDA). Picture below shows positioning of SBVR in Model-Driven Architecture. SBVR is an integral part of the OMG’s [[http://​www.omg.org/​mda/​faq_mda.htm|Model Driven Architecture]] (MDA). Picture below shows positioning of SBVR in Model-Driven Architecture.
  
-{{pl:miw:miw08_mindstormscontrolc:​sbvrinmda.png|rysunek}} +{{:pl:miw:miw08_bizrulesvocabularies:​sbvrinmda.png|sbvrinmda}}
  
 SBVR is targeted at business rules and business vocabularies,​ including those SBVR is targeted at business rules and business vocabularies,​ including those
Linia 208: Linia 161:
 Point. This design permits SBVR’s support for concepts (including fact types) to be Point. This design permits SBVR’s support for concepts (including fact types) to be
 optionally used on its own for building business vocabularies. optionally used on its own for building business vocabularies.
 +
  
  
Linia 217: Linia 171:
 === 1.4.1. SBVR Structured English === === 1.4.1. SBVR Structured English ===
  
-It should be remembered that SBVR Structured English (presented in  {{pl:​miw:​miw08_mindstormscontrolc:​{{:​pl:​miw:​miw08_mindstormscontrolc:​semantics_of_business_vocabulary_and_business_rules_spec.pdf|Appendix C,D}}) is+It should be remembered that SBVR Structured English (presented in  {{pl:​miw:​miw08_mindstormscontrolc:​{{:​pl:​miw:​miw08_bizrulesvocabularies:​semantics_of_business_vocabulary_and_business_rules_spec.pdf|Appendix C,D}}) is
 just one of possibly many notations that can be used to express the SBVR just one of possibly many notations that can be used to express the SBVR
 Metamodel, and, as a notation, is nonnormative in the SVBR standard. ​ Metamodel, and, as a notation, is nonnormative in the SVBR standard. ​
Linia 251: Linia 205:
 company uses these state names in defining business rules, e.g., "The car assigned company uses these state names in defining business rules, e.g., "The car assigned
 to a walk-in rental must be the available car with the lowest odometer reading in the requested car group."​ One way to express states is using unary predicates, e.g., "car is available"​. to a walk-in rental must be the available car with the lowest odometer reading in the requested car group."​ One way to express states is using unary predicates, e.g., "car is available"​.
 +
  
  
Linia 290: Linia 245:
   * Business rules editor   * Business rules editor
  
-{{:pl:miw:miw08_mindstormscontrolc:​businessruleseditor.png|BusinessRulesEditor}}+{{:pl:miw:miw08_bizrulesvocabularies:​businessruleseditor.png|BusinessRulesEditor}}
  
   * Collapse/​expand   * Collapse/​expand
  
-{{:pl:miw:miw08_mindstormscontrolc:​collapse_expand.png|}}+{{:pl:miw:miw08_bizrulesvocabularies:​collapse_expand.png|}}
  
   * Content assistant   * Content assistant
  
-{{:pl:miw:miw08_mindstormscontrolc:​contentassistant.png|contentassistant}}+{{:pl:miw:miw08_bizrulesvocabularies:​contentassistant.png|contentassistant}}
  
   * Vocabulary editor   * Vocabulary editor
  
-{{:pl:miw:miw08_mindstormscontrolc:​vocabularyeditor.png|vocabularyeditor}}+{{:pl:miw:miw08_bizrulesvocabularies:​vocabularyeditor.png|vocabularyeditor}}
  
   * Wordnet integration   * Wordnet integration
  
-{{:pl:miw:miw08_mindstormscontrolc:​wordnet_integration.png|wordnet_integration}}+{{:pl:miw:miw08_bizrulesvocabularies:​wordnet_integration.png|wordnet_integration}}
  
   * XMI XML schema   * XMI XML schema
  
-{{:pl:miw:miw08_mindstormscontrolc:​xmi_xml_schema.png|xmi_xml_schema}}+{{:pl:miw:miw08_bizrulesvocabularies:​xmi_xml_schema.png|xmi_xml_schema}}
  
 === 1.5.2. Part of Model Development Tools (MDT) === === 1.5.2. Part of Model Development Tools (MDT) ===
Linia 339: Linia 294:
  
 **Downloads coming soon!** **Downloads coming soon!**
- 
  
  
Linia 349: Linia 303:
 This is the ARD model of '​thermostat':​ This is the ARD model of '​thermostat':​
  
-{{:pl:miw:miw08_mindstormscontrolc:​thermostatard.png|ARDthermostat}} ​+{{:pl:miw:miw08_bizrulesvocabularies:​thermostatard.png|ARDthermostat}} ​
  
 All process of building this diagram is [[hekate:​hekate_case_thermostat|here]] All process of building this diagram is [[hekate:​hekate_case_thermostat|here]]
Linia 369: Linia 323:
 == Rules == == Rules ==
  
-  * It is necessary, that in winter, on business hours, on workday, ​thermostat keep temperature ​25 degrees Celsius in office. +  * It is necessary, that in winter, on business hours, on workday, ​thermostat_settings is 25 degrees Celsius in office. 
-  * It is necessary, that in winter, beside business hours, on workday, ​thermostat keep temperature ​18 degrees Celsius in office. +  * It is necessary, that in winter, beside business hours, on workday, ​thermostat_settings is 18 degrees Celsius in office. 
-  * It is necessary, that in winter, all weekend, ​thermostat keep temperature ​18 degrees Celsius in office. +  * It is necessary, that in winter, all weekend, ​temperature_settings is 18 degrees Celsius in office. 
-  * It is necessary, that in spring, on business hours, on workday, ​thermostat keep temperature ​20 degrees Celsius in office. +  * It is necessary, that in spring, on business hours, on workday, ​thermostat_settings is 20 degrees Celsius in office. 
-  * It is necessary, that in spring, beside business hours, on workday, ​thermostat keep temperature ​15 degrees Celsius in office. +  * It is necessary, that in spring, beside business hours, on workday, ​thermostat_settings is 15 degrees Celsius in office. 
-  * It is necessary, that in spring, all weekend, ​thermostat keep temperature ​15 degrees Celsius in office. +  * It is necessary, that in spring, all weekend, ​thermostat_settings is 15 degrees Celsius in office. 
-  * It is necessary, that in summer, on business hours thermostat keep temperature ​24 degrees Celsius in office. +  * It is necessary, that in summer, on business hours thermostat_settings is 24 degrees Celsius in office. 
-  * It is necessary, that in summer, beside business hours thermostat keep temperature ​27 degrees Celsius in office. +  * It is necessary, that in summer, beside business hours thermostat_settings is 27 degrees Celsius in office. 
-  * It is necessary, that in summer, all weekend, ​thermostat keep temperature ​27 degrees Celsius in office. +  * It is necessary, that in summer, all weekend, ​thermostat_settings is 27 degrees Celsius in office. 
-  * It is necessary, that in fall, on business hours thermostat keep temperature ​20 degrees Celsius in office. +  * It is necessary, that in fall, on business hours thermostat_settings is 20 degrees Celsius in office. 
-  * It is necessary, that in fall, beside business hours thermostat keep temperature ​16 degrees Celsius in office. +  * It is necessary, that in fall, beside business hours thermostat_settings is 16 degrees Celsius in office. 
-  * It is necessary, that in fall, all weekend, ​thermostat keep temperature ​16 degrees Celsius in office.+  * It is necessary, that in fall, all weekend, ​thermostat_settings is 16 degrees Celsius in office.
  
  
 +===== 3. Transformation of SBVR Business Design to UML Models =====
  
  
  
  
 +==== 3.1. Introduction ====
 + 
 +Here is presented a methodology for transforming business
 +designs written in OMG’s standard Semantics of Business
 +Vocabulary and Rules (SBVR) framework, into a set
 +of UML models. It involves the transformation of business
 +vocabulary and rules written in SBVR’s ”Structured English”
 +into a set of UML diagrams, which includes Activity
 +Diagram(AD),​ Sequence Diagram(SD),​ and Class Diagram(
 +CD). This transformation works by detecting the distinction
 +between rules which will participate in the construction
 +of Activity Diagram and rules which do not. These
 +rules are imperative in nature. The work in the paper also
 +includes the detection of activities embedded implicitly in
 +those rules and establishment of sequence between those activities.
 +These activities incur some action. We also detect
 +their owner and refer to them as the doer of the action. This
 +plays a very important role in the development of Class Diagrams.
 +
 +
 +==== 3.2. SBVR toUMLActivity Diagram Mapping Rules ====
 +
 +This section mainly deals with the mapping of SBVR components
 +to UML Activity diagram components.
 +
 +=== 3.2.1. Initial Node ===
 +
 +This is the start state of the activity diagram. It doesn’t
 +play a very important role but significantly shows the starting
 +point of a scenario. We have given it a default name
 +”start”.
 +
 +=== 3.2.2. Activity Node ===
 +
 +As we have already discussed in section 3.3, the fact types
 +having transitive verbs will be assumed as the activity node.
 +
 +=== 3.2.3. Activity Edge ===
 +
 +An activity edge is a set of event, guard conditions and
 +actions which allows the transition from one activity node
 +to another activity node. An event is the trigger of the
 +transition. Upon triggering the transition, the condition is
 +checked, if the condition holds true, then the corresponding
 +action occurs and brings another activity into existence. It
 +is not necessary that a transition must have trigger. Transitions
 +without the trigger is known as trigger less transitions.
 +A typical SBVR operative rule may be written as:
 +
 +upon event, ​
 +
 +<​code>​
 +if <​propositional expression 2>, then
 +<​propositional expression 1>
 +</​code>​
 +
 +But we are using the following format of operative business
 +rules in SBVR
 +
 +<​code>​
 +<​propositional expression 1> [if <​propositional expression 2>]
 +</​code>​
 +
 +So, the mapping from these type of SBVR rules to UML
 +AD will create the trigger less transitions. The propositional
 +expression 2 will help to find out the guard condition and
 +propositional expression 1 will help to find out the action.
 +
 +  * Guard Condition: Assume an operative business rule like given below. The propositional expression 2 in
 +
 +<​code>​
 +it is obligatory that each atm request exactly one password if a user inserts card
 +</​code>​
 +
 +if clause refers to the fact type ’user inserts card’. Depending
 +upon the fact type, we are creating a boolean
 +variable like ’inserts card’. And the guard condition
 +will become ’insert card == true’ as shown in Table 1.
 +Fact Type Corresponding Boolean Variable Corresponding condition
 +user inserts card inserts card inserts card = true
 +atm request password request password request password = true  ​
 +  * Action: These are the actions which should be invoked during the transition from one activity to another.
 +For example in the above rule, if a user inserts a card in the atm, then the atm will do an action
 +”request password”. What we are doing is taking the propositional expression 1 and find out the corresponding
 +fact type. Merging of verb and last term of the fact type will create the name of the action like
 +”request password()”
 + 
 +
 +=== 3.2.4. ForkNode/​JoinNode ===
 +
 +  * ForkNode: This is a pseudo-state where one transition
 +is coming and multiple parallel transitions are going
 +out of it. A SBVR rule like ”’it is obligatory that
 +each atm print exactly one receipt and each atm eject
 +the card if bank return badAccountmessage”’ represent
 +the enforcement of two activities ”’atm print receipt”’
 +and ”’atm eject card”’ on the delivery of bad account
 +message from the bank. This situation will generate
 +the fork state. There will be an incoming transition
 +32
 +having the guard condition ”’return badAccountmessage
 +== true”’ and two outgoing parallel transitions
 +pointing toward activities ”’atm print receipt”’ and ”’atm
 +eject card”’.
 +
 +  * JoinNode: This is another pseudo-state where multiple
 +parallel transitions are coming and only one transition
 +is outgoing. The generation of this state will be
 +same as the above except there will be multiple guard
 +conditions and only one outgoing transition.
 +
 +=== 3.2.5. ActivityGroup ===
 +
 +The ActivityGroup in UML activity diagrams are generally
 +known as swimlanes which basically represents who
 +is doing the activity. The entity doing an activity will be
 +referred as the giver of the activity. As we have already discussed
 +that the representation of fact type(activity) can be
 +of two type, active form and passive form. In a sentence having
 +an active, transitive verb, the giver of the action of the
 +verb is the subject of the sentence. In English, the ”giver”
 +corresponds to the object filling the role of the first placeholder
 +in the fact type form, e.g. ”customer” in ”customer
 +places order.” If the fact type form is passive, e.g. ”order
 +is placed by customer,​” it is the reverse. These means the
 +same thing. They are synonymous forms. Facts of either of
 +these forms would be logically equivalent.
 +
 +=== 3.2.6. Activity Final Node ===
 +
 +This is the point in an activity diagram where all the
 +activities get end up. We are creating a default end state
 +with the default name ”End”.
 +
 +
 +
 +
 +
 +====3.3. Mappin ARD '​thermostat'​ to Activity Diagram ====
 +
 +There is attempt to map, moddeled in ARD, '​thermostat'​ to Activity Diagram
 +
 +{{:​pl:​miw:​miw08_bizrulesvocabularies:​ad_themrostat.gif|ad_themrostat}}
 +
 +More about mapping SBVR model to UML diagrams, You can find in {{:​pl:​miw:​miw08_bizrulesvocabularies:​sbvr2umlp29-raj.pdf|"​Transformation of SBVR Business Design to UML Models"​}}
 +
 +
 +
 +
 +
 +=====4. Proposition of transformation ARD model to SBVR =====
 +
 +
 +
 +==== 4.1. Approach 1# ====
 +
 +Creating diagram which shows all dependencies between SBVR vocabulary elements is often practice.
 +The example of this diagram is below.
 +
 +{{:​pl:​miw:​miw08_bizrulesvocabularies:​example_vocabulary.png|example_vocabulary}}
 +
 +The way of building this diagram is like building class diagram in UML.
 +
 +The '​thermostat'​ vocabulary diagram is presented below.
 +
 +{{:​pl:​miw:​miw08_bizrulesvocabularies:​diagram1.png|diagram1}}
 +
 +When we try use, the same general rules, which were used to create ARD diagram to build class diagram the result of this operation is very similar to SBVR vocabulary diagram. It could be used to create way of mapping between ARD and SBVR vocabulary.
 +
 +Thanks this approach we can try to build SBVR vocabulary. The Rules can be created also using '​general rules'​. ​
 +
 +
 +
 +
 +==== 4.2. Approach 2# ====
 +
 +Looking at ARD diagram we try compose mapping rules to SBVR, but the result will be a bit different then original SBVR model presented in 3.2.
 +
 +{{:​pl:​miw:​miw08_bizrulesvocabularies:​thermostatard.png|thermostatard}}
 +
 +The operation block value is '​during business hours' or 'not during business hours'​.
 +The season value is '​summer'​ or '​autumn'​ or '​winter'​ or '​spring'​.
 +
 +So the first rules can be created are:
 +
 +  * It is necessary, that in winter, on business hours thermostat_settings is 25 degrees Celsius in office.
 +    ​
 +  * It is necessary, that in winter, beside business hours thermostat_settings is 18 degrees Celsius in office.
 +    ​
 +  * It is necessary, that in spring, on business hours thermostat_settings is 20 degrees Celsius in office.
 +    ​
 +  * It is necessary, that in spring, beside business hours thermostat_settings is 15 degrees Celsius in office.
 +
 +  * It is necessary, that in summer, on business hours thermostat_settings is 24 degrees Celsius in office.
 +    ​
 +  * It is necessary, that in summer, beside business hours thermostat_settings is 27 degrees Celsius in office.
 +
 +  * It is necessary, that in fall, on business hours thermostat_settings is 20 degrees Celsius in office.
 +
 +  * It is necessary, that in fall, beside business hours thermostat_settings is 16 degrees Celsius in office.
 +    ​
 +We can use the the last block and blocks level lower to create SBVR model.
 +
 +It's hard to build mapping algorithm using only one ARD diagram, but this, I think, it's good point to create universal way of mapping from ARD to SBVR.
 +
 +
 +
 +
 +
 +
 +===== 5. Literature =====
 +
 +  * {{:​pl:​miw:​miw08_bizrulesvocabularies:​sbvr.pdf|Semantics of Business Vocabulary and Business Rules (SBVR)}}
 +  * {{:​pl:​miw:​miw08_bizrulesvocabularies:​sbvr2umlp29-raj.pdf|Transformation of SBVR Business Design to UML Models}}
 +  * [[http://​qrdn.brmsblog.com/​2007/​04/​12/​the-business-rules-development-cycle-an-introduction/​|The Business Rule Development Lifecycle
 +]]
 +  * [[http://​sbeaver.sourceforge.net/​support/​|SBeaver]]
 +  * {{:​pl:​miw:​miw08_bizrulesvocabularies:​04-ws1-2_hall.pdf|Semantics of Business Vocabulary and
 +Business Rules (SBVR) - presentation}}
 +  * {{:​pl:​miw:​miw08_bizrulesvocabularies:​architecture_of_business_modeling_2003-11-01.pdf|Architecture of Business Modeling}}
 +  * http://​bizrules.info/​page/​methodologies.htm
 +  * http://​qrdn.brmsblog.com/​2007/​05/​01/​what-is-sbvr-a-preliminary-faq/​
 +  * http://​www.kdmanalytics.com/​sbvr/​
 +  * {{:​pl:​miw:​miw08_bizrulesvocabularies:​04-ws1-2_hall.pdf|Revised Submission to BEI RFP br/​2003-06-03
 +Semantics of Business Vocabulary and Business Rules (SBVR)}}
  
pl/miw/miw08_bizrulesvocabularies.1211653556.txt.gz · ostatnio zmienione: 2019/06/27 15:58 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0