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_uml_urml [2008/04/27 22:21]
miw
pl:miw:miw08_uml_urml [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ====== UML_URML ====== ====== UML_URML ======
 +__**Projekt zakończony**__
 +
 Piotr Przybycin <​pit4@o2.pl>​ Piotr Przybycin <​pit4@o2.pl>​
 Design rbs examples with URML. Design rbs examples with URML.
Linia 6: Linia 8:
  
  
-====== Spotkania ======+====== Spotkania ====== ​  
  
 ===== 080415 ===== ===== 080415 =====
Linia 17: Linia 20:
  
  
-====== ​Projekt ​======+===== 080527 ​===== 
 +  * przejście r2ml->​urml (prod rules) 
 +  * czy/jak da się przejść z r2ml do XMI (urml) i vice versa 
 +  * sprawozdanie 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +======Sprawozdanie======
  
 ===Wstęp=== ===Wstęp===
Linia 57: Linia 71:
 Projektowanie naszego układu przebiegło bez większych problemów. Środowisko okazało się bardzo intuicyjne i pozwoliło zaprojektować całość układu bez zbędnych modyfikacji. ​ Projektowanie naszego układu przebiegło bez większych problemów. Środowisko okazało się bardzo intuicyjne i pozwoliło zaprojektować całość układu bez zbędnych modyfikacji. ​
 Nie zaobserwowałem również żadnych ograniczeń co do składni czy semantyki. Integracja w derivation rules realizowana jest przy użyciu logicznego AND, czyli wszystkie warunki muszą mieć wartość Nie zaobserwowałem również żadnych ograniczeń co do składni czy semantyki. Integracja w derivation rules realizowana jest przy użyciu logicznego AND, czyli wszystkie warunki muszą mieć wartość
-true. Jeśli chcemy aby reguła ​była prawdziwa ​dla wartości false warunku; musimy wtedy zanegować wartość ​na wejściu+true. Jeśli chcemy aby reguła ​dawała wartość true na wyjściu ​dla wartości false warunku; musimy wtedy zanegować wartość ​tego warunku
  
-Znalazłem ​natomiast ​narzędzia ułatwiające integrację naszego modelu, ze środowiskami takimi jak:+Znalazłem ​także ​narzędzia ułatwiające integrację naszego modelu, ze środowiskami takimi jak:
 Jena 2, Jess, F-Logic. Aby wygenerować kod danej reguły dla danego środowiska wystarczy kliknąć na nią prawym przyciskiem myszy, a następnie wybrać "​Translate to..." oraz interesujące nas środowisko. Jena 2, Jess, F-Logic. Aby wygenerować kod danej reguły dla danego środowiska wystarczy kliknąć na nią prawym przyciskiem myszy, a następnie wybrać "​Translate to..." oraz interesujące nas środowisko.
 Szczególnie interesująca jest integracja z platformą Jess. Jess jest środowiskiem w pełni stworzonym w języku Java firmy Sun. Przy jego pomocy mamy możliwość tworzenia programów w Javie, które będą potrafiły Szczególnie interesująca jest integracja z platformą Jess. Jess jest środowiskiem w pełni stworzonym w języku Java firmy Sun. Przy jego pomocy mamy możliwość tworzenia programów w Javie, które będą potrafiły
Linia 65: Linia 79:
  
 Przykładowy kod po translacji do Jess dla reguły DR_bizh: ​ Przykładowy kod po translacji do Jess dla reguły DR_bizh: ​
 +<code xml>
 <?xml version="​1.0"​ encoding="​UTF-8"?>​ <?xml version="​1.0"​ encoding="​UTF-8"?>​
 <!--// Jess output of R2ML derivation rules--> <!--// Jess output of R2ML derivation rules-->
Linia 73: Linia 87:
 </​pre>​ </​pre>​
 </​jess>​ </​jess>​
 +</​code>​
 Dla lepszego poznania środowiska Jess: [[http://​www.jessrules.com/​|JessRules.com]] Dla lepszego poznania środowiska Jess: [[http://​www.jessrules.com/​|JessRules.com]]
  
Linia 85: Linia 99:
 Przykładowy kod R2ML dla reguły DR_bizh: Przykładowy kod R2ML dla reguły DR_bizh:
  
 +<code xml>
    <?​xml version="​1.0"​ encoding="​UTF-8"​ standalone="​yes"?>​    <?​xml version="​1.0"​ encoding="​UTF-8"​ standalone="​yes"?>​
 <​r2ml:​RuleBase xsi:​schemaLocation="​http://​oxygen.informatik.tu-cottbus.de/​R2ML/​0.4/​R2ML.xsd"​ xmlns:​dc="​http://​purl.org/​dc/​elements/​1.1/"​ xmlns:​r2mlv="​http://​www.rewerse.net/​I1/​2006/​R2ML/​R2MLV"​ xmlns:​xs="​http://​www.w3.org/​2001/​XMLSchema"​ xmlns:​r2ml="​http://​www.rewerse.net/​I1/​2006/​R2ML"​ xmlns:​soap="​http://​www.w3.org/​2001/​12/​soap-envelope"​ xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance">​ <​r2ml:​RuleBase xsi:​schemaLocation="​http://​oxygen.informatik.tu-cottbus.de/​R2ML/​0.4/​R2ML.xsd"​ xmlns:​dc="​http://​purl.org/​dc/​elements/​1.1/"​ xmlns:​r2mlv="​http://​www.rewerse.net/​I1/​2006/​R2ML/​R2MLV"​ xmlns:​xs="​http://​www.w3.org/​2001/​XMLSchema"​ xmlns:​r2ml="​http://​www.rewerse.net/​I1/​2006/​R2ML"​ xmlns:​soap="​http://​www.w3.org/​2001/​12/​soap-envelope"​ xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance">​
Linia 189: Linia 204:
     </​r2ml:​DerivationRuleSet>​     </​r2ml:​DerivationRuleSet>​
 </​r2ml:​RuleBase>​ </​r2ml:​RuleBase>​
 +</​code>​
 +
 +===Zgodność z innymi językami===
 +
 +R2ML jest obszernym, i przyjaznym dla użytkownika bazującym na XML-u językiem, którego głównymi zadaniami są:
 +  * wymiana reguł między różnymi systemami i narzędziami
 +  * możliwość łączenia poszczególnych systemów decyzyjnych z narzędziami bazującymi na R2ML-u w celu zapewnienia wizualizacji,​ werbalizacji,​ weryfikacji oraz ratyfikacji.
 +
 +
 +
 +R2ML jest bardzo wszechstronny ponieważ integruje takie języki jak:
 +  * the Object Constraint Language (OCL)
 +  * the Semantic Web Rule Language (SWRL)
 +  * the Rule Markup Language (RuleML)
 +
 +Obecną wersją języka R2ML jest wersja 0.5 (Release Date: August 23, 2007).
 +Jest ona oparta na schemacie XML, który jest dostępny [[http://​www.w3.org/​2001/​XMLSchema|XMLSchema]]
 +
 +Język R2ML jest ciągle rozwijany i mamy obecnie również dostęp do różnorakich translatorów takich jak:
 +
 +  * R2ML to F-Logic
 +  * F-LogicXML to R2ML
 +  * R2ML to Jess
 +  * R2ML to RuleML
 +  * RuleML to R2ML
 +  * R2ML to JenaRules
 +  * JenaRules to R2ML
 +  * R2ML to JBoss Rules
 +  * SWRL to R2ML
 +  * R2ML to SWRL
 +  * R2ML to XMI
 +  * R2ML to OCL
 +  * OCL to R2ML
 +
 +Wszystkie dostępne pod linkiem [[http://​oxygen.informatik.tu-cottbus.de/​rewerse-i1/?​q=node/​15|translatory]]
 +
 +
 +Przykładowe przejście z kodu R2ML do XMI dla Production Rule z przykładu:​[[http://​oxygen.informatik.tu-cottbus.de/​rewerse-i1/?​q=node/​17|przykład.]]
 +
 +
 +<code xml>
 +<?xml version = '​1.0'​ encoding = '​ISO-8859-1'​ ?>
 +<XMI xmi.version = '​1.2'​ timestamp = 'Tue Jun 03 13:12:09 CEST 2008'>​
 +  <​XMI.header>​
 +    <​XMI.documentation>​
 +      <​XMI.exporter>​Netbeans XMI Writer</​XMI.exporter>​
 +      <​XMI.exporterVersion>​1.0</​XMI.exporterVersion>​
 +    </​XMI.documentation>​
 +  </​XMI.header>​
 +  <​XMI.content>​
 +    <​R2ML.ProductionRuleSet xmi.id = '​a1'/>​
 +    <​R2ML.ProductionRuleSet xmi.id = '​a2'/>​
 +    <​R2ML.Atoms.AtBasic.ObjectClassificationAtom xmi.id = '​a3'​ isNegated = '​false'/>​
 +    <​R2ML.Terms.TerBasic.Variables.ObjectVariable xmi.id = '​a4'/>​
 +    <​R2ML.Terms.TerFunctional.AttributeFunctionTerm xmi.id = '​a5'>​
 +      <​R2ML.Terms.TerFunctional.AttributeFunctionTerm.attribute>​
 +        <​R2ML.Vocabulary.VocBasic.Attribute xmi.idref = '​a6'/>​
 +      </​R2ML.Terms.TerFunctional.AttributeFunctionTerm.attribute>​
 +      <​R2ML.Terms.TerFunctional.AttributeFunctionTerm.contextArgument>​
 +        <​R2ML.Terms.TerBasic.Variables.ObjectVariable xmi.idref = '​a4'/>​
 +      </​R2ML.Terms.TerFunctional.AttributeFunctionTerm.contextArgument>​
 +    </​R2ML.Terms.TerFunctional.AttributeFunctionTerm>​
 +    <​R2ML.Terms.TerFunctional.DatatypeFunctionTerm xmi.id = '​a7'>​
 +      <​R2ML.Terms.TerFunctional.DatatypeFunctionTerm.function>​
 +        <​R2ML.Vocabulary.VocFunctional.DatatypeFunction xmi.idref = '​a8'/>​
 +      </​R2ML.Terms.TerFunctional.DatatypeFunctionTerm.function>​
 +      <​R2ML.Terms.TerFunctional.DatatypeFunctionTerm.dataArguments>​
 +        <​R2ML.Vocabulary.VocBasic.TypedLiteral xmi.idref = '​a9'/>​
 +        <​R2ML.Terms.TerFunctional.AttributeFunctionTerm xmi.idref = '​a5'/>​
 +      </​R2ML.Terms.TerFunctional.DatatypeFunctionTerm.dataArguments>​
 +    </​R2ML.Terms.TerFunctional.DatatypeFunctionTerm>​
 +    <​R2ML.Vocabulary.VocBasic.TypedLiteral xmi.id = '​a9'​ lexicalValue = '​600'>​
 +      <​R2ML.Vocabulary.VocBasic.TypedLiteral.type>​
 +        <​R2ML.Vocabulary.VocBasic.Datatype xmi.idref = '​a10'/>​
 +      </​R2ML.Vocabulary.VocBasic.TypedLiteral.type>​
 +    </​R2ML.Vocabulary.VocBasic.TypedLiteral>​
 +    <​R2ML.Vocabulary.VocBasic.Attribute xmi.id = '​a6'​ predicateCategory = '​closed'/>​
 +    <​R2ML.Vocabulary.VocBasic.Datatype xmi.id = '​a10'​ predicateCategory = '​closed'/>​
 +    <​R2ML.Vocabulary.VocFunctional.DatatypeFunction xmi.id = '​a8'​ arity = '​0'/>​
 +  </​XMI.content>​
 +</​XMI>​
 +</​code>​
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
  
-====== Sprawozdanie ====== 
  
  
-====== ​Materiały ​======+====== ​Przydatne linki ======
  
 [[http://​developers.sun.com/​jsenterprise/​learning/​tutorials/​jse8/​uml_class_diagram.html|UML Modeling: Creating Class Diagrams - Tutorial]] [[http://​developers.sun.com/​jsenterprise/​learning/​tutorials/​jse8/​uml_class_diagram.html|UML Modeling: Creating Class Diagrams - Tutorial]]
  
 [[http://​oxygen.informatik.tu-cottbus.de/​rewerse-i1/?​q=URML|URML -- a UML-Based Rule Modeling Language - REWERSE Working Group I1 page]] [[http://​oxygen.informatik.tu-cottbus.de/​rewerse-i1/?​q=URML|URML -- a UML-Based Rule Modeling Language - REWERSE Working Group I1 page]]
pl/miw/miw08_uml_urml.1209327691.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