Różnice

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

Odnośnik do tego porównania

pl:miw:miw08_uml_urml [2008/04/27 21:22]
miw
pl:miw:miw08_uml_urml [2019/06/27 15:50]
Linia 1: Linia 1:
-====== UML_URML ====== 
-Piotr Przybycin <​pit4@o2.pl>​ 
-Design rbs examples with URML. 
  
- 
- 
- 
-====== Spotkania ====== 
- 
-===== 080415 ===== 
-  * próba exportu do R2ML, etc, patrz [[http://​oxygen.informatik.tu-cottbus.de/​rewerse-i1/?​q=node/​15|translatory]] 
-  * opis instalacji strelki, w tym ew. błędy, niedoróbki,​ usterki 
-  * opis uwag, co do projektowania Therm w strelce: ​   * czy w urml da się zrealizować całość przykładu? ​ 
-    * czy sa jakieś ograniczenia urml co do składni, semantyki? ​ 
-    * czy sa jakieś mechanizmy ułatwiające potem integrację z większą aplikacją w Javie, w której nasz therm byłby systemem decyzyjnym, a w Javie np. klasy wizualizujące decyzję 
-    * Jak jest realizowana integracja w drools? 
- 
- 
-====== Projekt ====== 
- 
-===Wstęp=== 
- 
-URML jest językiem opartym na diagramie klas języka UML. Został stworzony aby ułatwić tworzenie dokumentacji wymagań systemów w sposób mniej techniczny, a bardziej wizualny.  ​ 
- 
-Podstawowym jego rozszerzeniem w stosunku do diagramu klas języka UML, jest możliwość modelowania reguł ( derivation rules, production rules and reaction rules ). Reguły są reprezentowane graficznie jako kółka z identyfikatorami,​ natomiast zależności w postaci strzałek reprezentujących:​ 
-warunki, wyzwalacze, akcje, czy wnioski. 
- 
-Narzędziem,​ które umożliwia modelowanie systemów w języku URML jest Strelka, stworzona przez REWERSE Working Group I1. 
- 
-===Instalacja programu Strelka=== 
- 
-Będziemy korzystać z programu Strelka w wersji 0.3 dla platformy Eclipse. 
-Aby w pelni korzystac z programu wystarczy pobrać plik [[http://​oxygen.informatik.tu-cottbus.de/​strelka/​Strelka_0.3_Eclipse.zip|download_Strelka]],​ rozpakować go do dowolnego folderu i uruchomić plik "​eclipse.exe"​. 
-Żadne dodatkowe instalacje nie są potrzebne. Po uruchuchomieniu możemy otworzyć również pewne gotowe przykłady, z katalogu ./​examples. ​ 
- 
-W razie jakichkolwiek wątpliwości odsyłam do: [[http://​oxygen.informatik.tu-cottbus.de/​rewerse-i1/?​q=node/​46|REWERSEworking.groupI1-Strelka]] 
-  
- 
- 
- 
- 
-===Przykład=== 
-Spróbujemy teraz zamodelować w URML-u jakiś przykład. 
-Naszym przykładem będzie [[hekate:​hekate_case_thermostat]]. 
- 
- 
- 
- 
-Model wykonany przy użyciu programu Stralka. ​ 
- 
-{{:​pl:​miw:​miw08_uml_urml:​miw1a.png|:​pl:​miw:​miw08_uml_urml:​miw1a.png}} 
- 
-===Eksport do R2ML-u=== 
-Przy użyciu Strelki możemy również w bardzo prosty sposób uzyskać zapis naszych reguł w standardzie R2ML. 
-Wystarczy kliknać prawym przyciskiem myszy na daną regułę a następnie wybrać "​Preview R2ML". 
- 
- 
- 
-Przykładowy kod R2ML dla reguły DR_bizh: 
- 
-   <?​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">​ 
-    <​r2mlv:​Vocabulary>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Day">​ 
-            <​r2mlv:​Attribute r2mlv:​ID="​IDday">​ 
-                <​r2mlv:​range>​ 
-                    <​r2mlv:​Datatype r2mlv:​ID="​xs:​integer"/>​ 
-                </​r2mlv:​range>​ 
-            </​r2mlv:​Attribute>​ 
-        </​r2mlv:​Class>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Weekend">​ 
-            <​r2mlv:​superClass>​ 
-                <​r2mlv:​Class r2mlv:​ID="​Day"/>​ 
-            </​r2mlv:​superClass>​ 
-        </​r2mlv:​Class>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Workday">​ 
-            <​r2mlv:​superClass>​ 
-                <​r2mlv:​Class r2mlv:​ID="​Day"/>​ 
-            </​r2mlv:​superClass>​ 
-        </​r2mlv:​Class>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Hour">​ 
-            <​r2mlv:​Attribute r2mlv:​ID="​IDhour">​ 
-                <​r2mlv:​range>​ 
-                    <​r2mlv:​Datatype r2mlv:​ID="​xs:​integer"/>​ 
-                </​r2mlv:​range>​ 
-            </​r2mlv:​Attribute>​ 
-        </​r2mlv:​Class>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Notbizh"/>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Bizh"/>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Month">​ 
-            <​r2mlv:​Attribute r2mlv:​ID="​IDmonth">​ 
-                <​r2mlv:​range>​ 
-                    <​r2mlv:​Datatype r2mlv:​ID="​xs:​integer"/>​ 
-                </​r2mlv:​range>​ 
-            </​r2mlv:​Attribute>​ 
-        </​r2mlv:​Class>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Autumn">​ 
-            <​r2mlv:​superClass>​ 
-                <​r2mlv:​Class r2mlv:​ID="​Month"/>​ 
-            </​r2mlv:​superClass>​ 
-        </​r2mlv:​Class>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Winter">​ 
-            <​r2mlv:​superClass>​ 
-                <​r2mlv:​Class r2mlv:​ID="​Month"/>​ 
-            </​r2mlv:​superClass>​ 
-        </​r2mlv:​Class>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Spring">​ 
-            <​r2mlv:​superClass>​ 
-                <​r2mlv:​Class r2mlv:​ID="​Month"/>​ 
-            </​r2mlv:​superClass>​ 
-        </​r2mlv:​Class>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Summer">​ 
-            <​r2mlv:​superClass>​ 
-                <​r2mlv:​Class r2mlv:​ID="​Month"/>​ 
-            </​r2mlv:​superClass>​ 
-        </​r2mlv:​Class>​ 
-        <​r2mlv:​Class r2mlv:​ID="​Thermostat">​ 
-            <​r2mlv:​Attribute r2mlv:​ID="​temp">​ 
-                <​r2mlv:​range>​ 
-                    <​r2mlv:​Datatype r2mlv:​ID="​xs:​float"/>​ 
-                </​r2mlv:​range>​ 
-            </​r2mlv:​Attribute>​ 
-        </​r2mlv:​Class>​ 
-    </​r2mlv:​Vocabulary>​ 
-    <​r2ml:​DerivationRuleSet>​ 
-        <​r2ml:​DerivationRule r2ml:​ruleID="​DR_bizh">​ 
-            <​r2ml:​conditions>​ 
-                <​r2ml:​ObjectClassificationAtom r2ml:​classID="​Hour"​ r2ml:​isNegated="​false">​ 
-                    <​r2ml:​ObjectVariable/>​ 
-                </​r2ml:​ObjectClassificationAtom>​ 
-                <​r2ml:​qf.Conjunction>​ 
-                    <​r2ml:​DatatypePredicateAtom r2ml:​datatypePredicateID="​swrlb:​greaterThanOrEqual"​ r2ml:​isNegated="​false"​ xmlns:​swrlb="​http://​www.w3.org/​2003/​11/​swrlb">​ 
-                        <​r2ml:​dataArguments>​ 
-                            <​r2ml:​TypedLiteral r2ml:​datatypeID="​xs:​integer"​ r2ml:​lexicalValue="​9"/>​ 
-                            <​r2ml:​AttributeFunctionTerm r2ml:​attributeID="​IDhour">​ 
-                                <​r2ml:​contextArgument>​ 
-                                    <​r2ml:​ObjectVariable r2ml:​classID="​Hour"/>​ 
-                                </​r2ml:​contextArgument>​ 
-                            </​r2ml:​AttributeFunctionTerm>​ 
-                        </​r2ml:​dataArguments>​ 
-                    </​r2ml:​DatatypePredicateAtom>​ 
-                    <​r2ml:​DatatypePredicateAtom r2ml:​datatypePredicateID="​swrlb:​lessThanOrEqual"​ r2ml:​isNegated="​false"​ xmlns:​swrlb="​http://​www.w3.org/​2003/​11/​swrlb">​ 
-                        <​r2ml:​dataArguments>​ 
-                            <​r2ml:​TypedLiteral r2ml:​datatypeID="​xs:​integer"​ r2ml:​lexicalValue="​16"/>​ 
-                            <​r2ml:​AttributeFunctionTerm r2ml:​attributeID="​IDhour">​ 
-                                <​r2ml:​contextArgument>​ 
-                                    <​r2ml:​ObjectVariable r2ml:​classID="​Hour"/>​ 
-                                </​r2ml:​contextArgument>​ 
-                            </​r2ml:​AttributeFunctionTerm>​ 
-                        </​r2ml:​dataArguments>​ 
-                    </​r2ml:​DatatypePredicateAtom>​ 
-                </​r2ml:​qf.Conjunction>​ 
-                <​r2ml:​ObjectClassificationAtom r2ml:​classID="​Workday"​ r2ml:​isNegated="​false">​ 
-                    <​r2ml:​ObjectVariable/>​ 
-                </​r2ml:​ObjectClassificationAtom>​ 
-            </​r2ml:​conditions>​ 
-            <​r2ml:​conclusion>​ 
-                <​r2ml:​ObjectClassificationAtom r2ml:​classID="​Bizh">​ 
-                    <​r2ml:​ObjectVariable/>​ 
-                </​r2ml:​ObjectClassificationAtom>​ 
-            </​r2ml:​conclusion>​ 
-        </​r2ml:​DerivationRule>​ 
-    </​r2ml:​DerivationRuleSet>​ 
-</​r2ml:​RuleBase>​ 
- 
- 
- 
-====== Sprawozdanie ====== 
- 
- 
-====== Materiały ====== 
- 
-[[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]] 
pl/miw/miw08_uml_urml.txt · ostatnio zmienione: 2019/06/27 15:50 (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