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:2009:present:ardplus_present [2009/05/12 19:48]
jsi08
pl:miw:2009:present:ardplus_present [2019/06/27 15:50] (aktualna)
Linia 226: Linia 226:
     * defining dependencies between the property and other existing properties at the //most detailed// diagram level, or     * defining dependencies between the property and other existing properties at the //most detailed// diagram level, or
     * adjusting appropriate ​ past split transformations gradually (at previous diagram levels) to take this new property into consideration.     * adjusting appropriate ​ past split transformations gradually (at previous diagram levels) to take this new property into consideration.
-  * In the first case the dependencies are defined for the most detailed diagram level only; since there is a hierarchical design process (see Sec. [[ardplus#​Hierarchical_Model|Hierarchical Model]]), these changes are taken into consideration at previous levels ​ automatically.+  * In the first case the dependencies are defined for the most detailed diagram level only; since there is a hierarchical design process (see Sec. [[#​Hierarchical_Model|Hierarchical Model]]), these changes are taken into consideration at previous levels ​ automatically.
   * The second case implies that the designer updates appropriate past splits in a gradual refinement process; stopping this process at more general level than the most detailed one, generates appropriate splits in all more detailed levels automatically.   * The second case implies that the designer updates appropriate past splits in a gradual refinement process; stopping this process at more general level than the most detailed one, generates appropriate splits in all more detailed levels automatically.
  
Linia 357: Linia 357:
  
 <​code>​ <​code>​
-  ​rule: condition atts | decision atts+rule: condition atts | decision atts
 </​code>​ </​code>​
  
Linia 369: Linia 369:
 {{ hekate:​ard-case0.png?​100x112 }} \\ {{ hekate:​ard-case0.png?​100x112 }} \\
 {{ hekate:​ard-case1.png?​100x112 }} {{ hekate:​ard-case1.png?​100x112 }}
 +
 +===== Rule Prototyping Algorithm =====
  
 Now, considering the ARD+ semantics (functional dependencies among properties),​ the corresponding rule prototypes are as follows: Now, considering the ARD+ semantics (functional dependencies among properties),​ the corresponding rule prototypes are as follows:
Linia 379: Linia 381:
  
   rule: a, b, c | d   rule: a, b, c | d
 +
 +===== Rule Prototyping Algorithm =====
  
 In a general case a subgraph in Figure: ​ In a general case a subgraph in Figure: ​
Linia 386: Linia 390:
 is considered. is considered.
  
-Such a subgraph corresponds to the following rule prototype:+  * such a subgraph corresponds to the following rule prototype:
 <​code>​ <​code>​
 rule: alpha, beta, gamma, aa | bb rule: alpha, beta, gamma, aa | bb
 rule: aa                     | xx, yy, zz rule: aa                     | xx, yy, zz
 </​code>​ </​code>​
 +
 +===== Rule Prototyping Algorithm =====
  
 Analyzing these cases a general prototyping algorithm has been formulated. Analyzing these cases a general prototyping algorithm has been formulated.
Linia 399: Linia 405:
   * find all properties ''​F'',​ that ''​T''​ depends on: \\ let ''​F<​sub>​T</​sub>​ = [F<​sub>​Ti</​sub>:​ D(F<​sub>​Ti</​sub>,​T),​ F<​sub>​Ti</​sub>​ ≠ F]'', ​   * find all properties ''​F'',​ that ''​T''​ depends on: \\ let ''​F<​sub>​T</​sub>​ = [F<​sub>​Ti</​sub>:​ D(F<​sub>​Ti</​sub>,​T),​ F<​sub>​Ti</​sub>​ ≠ F]'', ​
   * find all properties which depend on ''​F''​ and ''​F''​ alone:\\ let ''​T<​sub>​F</​sub>​=[T<​sub>​Fi</​sub>:​ D(F,​T<​sub>​Fi</​sub>​),​ T<​sub>​Fi</​sub>​ ≠ T, ¬∃ T<​sub>​Fi</​sub>:​ (D(X,​T<​sub>​Fi</​sub>​),​ X ≠ F )]''​   * find all properties which depend on ''​F''​ and ''​F''​ alone:\\ let ''​T<​sub>​F</​sub>​=[T<​sub>​Fi</​sub>:​ D(F,​T<​sub>​Fi</​sub>​),​ T<​sub>​Fi</​sub>​ ≠ T, ¬∃ T<​sub>​Fi</​sub>:​ (D(X,​T<​sub>​Fi</​sub>​),​ X ≠ F )]''​
 +
 +===== Rule Prototyping Algorithm =====
 +
   * if ''​F<​sub>​T</​sub>​ ≠ ∅, T<​sub>​F</​sub>​ ≠ ∅''​ then generate rule prototypes:   * if ''​F<​sub>​T</​sub>​ ≠ ∅, T<​sub>​F</​sub>​ ≠ ∅''​ then generate rule prototypes:
 <​code>​ <​code>​
Linia 422: Linia 431:
   * if there are any dependencies left goto step 1.   * if there are any dependencies left goto step 1.
  
-Rule prototypes generated by the above algorithm can be further optimized. +===== Rule Prototyping Algorithm =====
-If there are rules with the same condition attributes they can be merged. +
-Similarly, if there are rules with the same decision attributes they can be merged as well. +
-For instance, rules like: +
-<​code>​ +
-rule: a, b | x  ;  rule: a, b | y +
-</​code>​ +
-can be merged into a single rule: ''​rule:​ a, b | x, y''​ +
  
-The practical support form the ARD+ design method, including logical modelling, visualization,​ and the prototyping algorithm has been implemented in the VARDA.+  * rule prototypes generated by the above algorithm can be further optimized 
 +  * if there are rules with the same condition attributes they can be merged; if there are rules with the same decision attributes they can be merged 
 +  * for instance, rules like:  ''​rule:​ a, b | x  ;  rule: a, b | y'' ​ can be merged into a single rule:  ''​rule:​ a, b | x, y''​ 
 +  * the practical support form the ARD+ design method, including logical modelling, visualization,​ and the prototyping algorithm has been implemented in the VARDA
  
 ===== Design Tool Prototype ===== ===== Design Tool Prototype =====
  
 ===== SPOOL ===== ===== SPOOL =====
pl/miw/2009/present/ardplus_present.1242150538.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (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