Projekt

Ogólne

Profil

Wiki » Historia » Wersja 18

Maciej Wegierek, 2020-02-01 18:51

1 2 Maciej Wegierek
# Wstęp (mam wątpliwość czy wstęp w ogóle robić, gdyż aby zrobić go dobrze trzeba by było jeszcze mocniej wniknąć w temat. Nie wiem czy jest sen robić to tak pobieżnie. Właściwie to wykład powinien być wstępem - motywacją. Taki wstęp na pewno powinien znaleźć się w artykule.)
2 1 Maciej Wegierek
** Motywacja do zajmowania się specyfikacją systemów robotycznych. Co wyróżnia system robotyczny z ogólnej grupy systemów informatycznych.
3 1 Maciej Wegierek
** krótki opis DSL -- odwołanie do przykładów takich jak RobotML, BRICKS, SmartSoft, aby pokazać, że podobne podejście ma zastosowanie w praktyce. Pokazanie kolejnych warstw DSL - metamodel i model (zwykle w formie graficznej UML), mapowanie na komponenty i/lub generacja kodu.
4 1 Maciej Wegierek
# Opis agenta upostaciowionego za pomocą nowej notacji -- ten sam opis co w artykule, lecz w języku polskim i bez opisu akcji elementarnej.
5 1 Maciej Wegierek
# Przykładowy opis systemu za pomocą nowej notacji -- sterownik robota IRp-6 na podstawie mojej pracy magisterskiej (ten sam opis lecz nowa notacja)
6 1 Maciej Wegierek
# Opis zadań projektowych
7 1 Maciej Wegierek
* Specyfikacja robota miniRyś -- podejście bazujące na stworzeniu specyfikacji na podstawie już istniejącego komponentowego opisu implementacji oraz schematach struktury warstwy sprzętowej. Studenci powinni korzystać wprost z prac inżynierskich Daniela Giełdowskiego oraz Macieja Bogusza (dostępne online)
8 1 Maciej Wegierek
* Specyfikacja robota Bombel -- podejście bazujące na stworzeniu specyfikacji na podstawie prototypu wprowadzającego ograniczenia warstwy sprzętowej. Studenci powinni korzystać z wykładu z przedmiotu ANRO
9 1 Maciej Wegierek
* Co powinna zawierać specyfikacja:
10 1 Maciej Wegierek
** Specyfikacja wymagań: przypadki użycia 
11 1 Maciej Wegierek
** Specyfikacja struktury: podział systemów na agenty, wydzielenie podsystemów i buforów komunikacyjnych 
12 1 Maciej Wegierek
** Specyfikacja zachowania: W przypadku robota miniRyś specyfikacja zachowania powinna opisywać sposób działania regulatorów kąta oraz modułu lokalizacji. W przypadku robota Bombel specyfikacja zachowania powinna zawierać opis sterowania pozycyjnego (prosta i odwrotna kinematyka) oraz opis działania aplikacji, której celem jest zmiana pozycji końcówki manipulacyjnej z punktu A do punktu B w przestrzeni konfiguracyjnej oraz w przestrzeni operacyjnej. 
13 1 Maciej Wegierek
** Generalna zasada jest taka, że specyfikacja powinna być zgodna z dokumentacją przedstawioną w pracach inżynierskich oraz wykładzie. Jeśli opracowania te nie precyzują pewnych aspektów działania robotów, studenci mogą sami proponować rozwiązania. W takiej sytuacji powinni uzasadnić swoje decyzje projektowe.
14 1 Maciej Wegierek
15 3 Maciej Wegierek
Uwagi do notacji:
16 3 Maciej Wegierek
kanał komunikacyjny. Jest potrzeba mówienia ogólnie o kanale komunikacyjnym ca(a_ui,a_robot), a nie tylko poprzez wskazanie konkretnych portów ca(a_ui.sc_0.bo_1,a_robot.sc_0.bo_1)
17 3 Maciej Wegierek
18 8 Maciej Wegierek
h1. Uwagi techniczne do EA
19 7 Maciej Wegierek
20 8 Maciej Wegierek
h3. Jak robić strzałki na portach
21 6 Maciej Wegierek
22 5 Maciej Wegierek
* tworzymy pakiet z elementami pomocniczymi 
23 5 Maciej Wegierek
* w tym pakiecie dodajemy diagram bdd
24 5 Maciej Wegierek
* dodajemy trzy nowe bloki - Block1, Block2, Block3
25 5 Maciej Wegierek
* do każdego bloku dodajemy FlowProperty
26 10 Maciej Wegierek
* klikamy FlowProperty w każdym z bloków i wybieramy w opcjach (porty_strzalki.png) in/out/inout
27 9 Maciej Wegierek
* w drugim pakiecie z naszym modelem tworzymy diagram ibd
28 9 Maciej Wegierek
* tworzymy w nim Property i ,,przeciągamy'' do niego Block1 z drzewa elementów (po lewej stronie)
29 9 Maciej Wegierek
* W okienku które się pojawia wybieramy ,,Drop as: port''
30 1 Maciej Wegierek
* Aby w naszym nie był podpisany z wykorzystaniem nazwy np. Block1, musimy w pakiecie pomocniczym usunąć nazwy bloków
31 11 Maciej Wegierek
32 11 Maciej Wegierek
h3. Generacja pliku PDF
33 12 Maciej Wegierek
34 1 Maciej Wegierek
* każdy diagram z EA można eksportować do PDF-a - Print -> Print to PDF
35 12 Maciej Wegierek
* jeśli diagram nie mieści się na stronie A4 to należy zmienić rozmiar strony. Rozmiar zmienia się per diagram a nie per projekt.
36 13 Maciej Wegierek
* wygenerowane diagramy mają pewne wady. Jak sobie z nimi radzić:
37 13 Maciej Wegierek
- tekst wychodzi poza obramowanie bloku - z poziomu EA należy zwiększyć szerokość / wysokość bloku
38 13 Maciej Wegierek
- diagram nie posiada liter ,,i'' - należy ponownie wygenerować diagram
39 13 Maciej Wegierek
- tekst obramowania diagramu zawierający nazwę typu diagramu, pakiet oraz nazwę diagramu nie mieści się w ramce - patrz edycja Inkscape
40 13 Maciej Wegierek
- obramowanie diagramu jest zdecydowanie za duże - patrz Inkscape
41 13 Maciej Wegierek
- wielkość kartki nie jest przycięta do rozmiaru diagramu - patrz Inkscape 
42 13 Maciej Wegierek
43 13 Maciej Wegierek
Inkscape:
44 13 Maciej Wegierek
* Aby edytować diagram należy zainstalować program Inkscape. 
45 13 Maciej Wegierek
* Otwieramy diagram i w Ustawieniach importu zaznaczamy ,,Poppler/Cairo import'' -- import odpowiednich czcionek.
46 13 Maciej Wegierek
* Klikamy prawym przyciskiem myszy na diagram i wybieramy ,,Rozdziel grupę''. 
47 13 Maciej Wegierek
* Od tego momentu każdy element diagramu możemy edytować oddzielnie. W szczególności możemy wydłużyć pasek z nazwą diagramu oraz odpowiednio zmniejszyć rozmiar obramowania diagramu.
48 13 Maciej Wegierek
* Aby przyciąć kartkę do wielkości obramowania diagramu klikamy Ctrl+Shift+D, wybieramy ,,Dopasuj stronę do zawartości..." a następnie ,,Dopasuj stronę do rysunku lub zaznaczenia''
49 14 Maciej Wegierek
50 14 Maciej Wegierek
h3. Strzałki <<flow>> oraz typy przesyłanych danych
51 14 Maciej Wegierek
52 15 Maciej Wegierek
* Strzałki <<flow>> przerywane można tworzyć między innymi między Blokami, Elementami typu Property lub między Portami. 
53 16 Maciej Wegierek
* Klikamy na Element startowy, w lewym górnym rogu elementu pojawia się strzałka skierowana do góry, klikamy tę strzałkę i przeciągamy ją do elementu docelowego.
54 17 Maciej Wegierek
* Po upuszczeniu strzałki pojawia się okno dialogowe z możliwością wyboru typu asocjacji - wybieramy Information Flow.
55 16 Maciej Wegierek
* Pojawia się okno dialogowe ,,Information Items Conveyed''. W tym oknie wybieramy Blok, który definiuje typ danych przesyłanych w stworzonym połączeniu. Ten Blok musimy wcześniej samodzielnie zdefiniować. Możemy nadać mu też pola określające pola struktury danych. Możemy też nie wybierać żadnego Bloku. Wtedy nie zdefiniujemy przesyłanego typu danych.
56 16 Maciej Wegierek
* Asocjacji typu ItemFlow możemy nadać nazwę. W tym celu dwukrotnie klikamy na przerywaną strzałkę. W oknie dialogowym ItemFlow Properties nadajemy nazwę.
57 16 Maciej Wegierek
* W tym samym oknie w zakładce General Settings możemy wybrać kierunek (Direction) strzałki.
58 18 Maciej Wegierek
59 18 Maciej Wegierek
h3. Blok <<dataType>>
60 18 Maciej Wegierek
61 18 Maciej Wegierek
* Tworzymy oddzielny pakiet ,,Data Types''* Tworzymy diagram bdd* Tworzymy Blok* Klikamy 2 razy na Blok i w polu Stereotype wpisujemy ,,dataType''* Klikamy prawym przyciskiem myszy na Blok, wybieramy Features->Attributes* W okienku, które pojawia się niżej wybieramy zakładkę ,,Attriutes'' i dodajemy w niej pola.* Możemy ustalić typ (Type) pola. Może być to typ prosty lub złożony. Aby dodać typ złożony należy najpierw utworzyć odpowiedni Blok <<dataType>>* W zakładce Scope możemy wybrać między innymi ,,Public" albo ,,Private''. Pojawi się wtedy odpowiednio znak ,,+'' lub ,,-'' po lewej stronie atrybutu w Bloku.