• Keine Ergebnisse gefunden

Textuelle Repräsentation

Im Dokument für visuelle Programmierung (Seite 28-39)

Hier wird die textuelle Repräsentation anhand des Beispielszenarios beschrieben. Die tex-tuelle Repräsentation setzt auf Markdown auf, welches für die Dokumentation verwendet werden kann, und ist auf mehrere Dateien aufgeteilt. Aus Platzgründen wird hier nur ein Einblick gegeben. Dafür wird wieder das Beispielszenario herangezogen, und angepasste Ausschnitte der Definition erläutert. In Listing 1 wird zunächst das Gesamtsystem als Netz in einem Namespace definiert.

12 : namespace name JSONData ! {

13 body

14 } !

15 ~~~

16 Im Body k ö nnen Komponenten , Komponenten−Netze , Komponenten−Nodes ,

17 N e t z e und Namespaces d e f i n i e r t werden .

5 Entwurf eines Frameworks

31 : namespace NS_path FS_path : NS_name JSONData !

32 ~~~

5 Entwurf eines Frameworks

Listing 1: Gesamtsystem als Netz, bestehend aus Komponenten-Nodes und Komponenten-Netzen

Neben Netzen und Namespaces sind auch Komponenten-Nodes und Interfaces Bestand-teile der textuellen Repräsentation. Der Code in Listing 2 zeigt einen Ausschnitt der Definition der Sensorik, welche als Komponenten-Node realisiert ist, und zwei Interfaces bereitstellt. Der Code befindet sich relativ zur Definition des Gesamtsystems in der Datei

‘./sensor.emd’.

5 Entwurf eines Frameworks

27 : consumes #.\ SensorData_out !

28 } !

34 a n a l o g zu denen von Komponeten−Netzen und Netzen ,

35 m i t t e l s " : i n t e r f a c e name NS_path JSONData ! " s p e z i f i z i e r t .

Listing 2: Sensorik als Komponenten-Node mit Interfaces

Da die Wiedergabe ebenfalls als Komponenten-Node realisiert ist, wird an dieser Stelle nicht genauer auf diese eingegangen.

Die Synthese ist als Komponenten-Netz realisiert, in welchem Audio Syntheseschritte in Form von Komponenten zu einem Synthesemodell verschaltet werden. In Listing 5.4 werden exemplarisch einige Komponenten definiert und zu einem Komponeten-Netz ver-schaltet. Relativ zur Definition des Gesamtsystems befindet sich der Code in der Datei

‘./synthesis.emd’.

5 Entwurf eines Frameworks

20 : consumes #./ Audio_out !

21 } !

5 Entwurf eines Frameworks

Die wesentlichen Aspekte der textuellen Repräsentation wurden hier am Beispiel vorge-stellt.

Für eine grafische Repräsentation müssen die textuellen Strukturen der DSL auf grafische Strukturen abgebildet werden. Hierfür bietet sich zunächst an, Netze als herachische Verschaltungen von Einheiten, welche über Interfaces verfügen, darzustellen.

5 Entwurf eines Frameworks

Inwieweit Namespaces oder Definitionen von Komponenten, Kompontentn-Nodes und Interfaces außerhalb von Netzen grafisch darzustellen sind, muss bei der Konzipierung einer Entwicklungsumgebung geklärt werden. Die konkrete Ausprägung der grafischen Repräsentation hängt stark mit der Entwicklungsumgebung zusammen, in welche sie in-tegriert werden soll. Eine solche Entwicklungsumgebung wird in einer späteren Arbeit samt der grafischen Repräsentation und formalen Definition der textuellen Repräsenta-tion vorgestellt.

6 Ausblick/ Zusammenfassung

6 Ausblick/ Zusammenfassung

In dieser Arbeit wurde ein Framework vorgestellt, welches es ermöglicht, Programme bzw. Systeme, die in unterschiedlichen Sprachen implementiert wurden oder verschiedene Laufzeitumgebungen verwenden, gesammelt in einem kohärenten Artefakt zu beschrei-ben.

Dabei wurde insbesondere auf die logische Struktur der verwendeten DSL und ihre tex-tuelle Repräsentation eingegangen. Die grafische Repräsentation wurde lediglich kurz vorgestellt, jedoch nicht vollständig ausgearbeitet, da die Nützlichkeit dieser ohne eine entsprechende Entwicklungsumgebung nur bedingt gegeben ist. In einem auf dieser Ar-beit aufbauenden Projekt soll eine solche Umgebung und die grafische Repräsentation entwickelt werden.

Einige Fragen bleiben noch unbeantwortet, beispielsweise inwieweit der Ansatz geeignet, ist um nicht konstruierte Probleme zu bewältigen, und die Interessen der geteilten Ziel-gruppe zu bedienen. Um dies zu beantworten, müssen die grafische Repräsentation und eine zugehörige IDE ausgearbeitet werden, um den Gegenstand der Frage zu schaffen. Zur verifizierung der Akzeptanz des vorgestellten Ansatzes müssen anschließend Studien mit Personen der Zielgruppen durchgeführt werden, oder ggf. auch Analysen nach Ansätzen wie etwa Kognitive Dimensions of Notation [18] durchgeführt werden.

Auch stellt sich die Frage, inwieweit ein Debugging oder Tracing der Einzelkomponenten oder ihrer Verschaltung in einem Netz möglich ist. An dieser Stelle könnte etwa versucht werden, Vektor Uhren in die Interfaces zu integrieren, oder zu prüfen wie weit Ansätze aus ErlViz [9] übernommen werden können. Auch eine interaktive Visualisierung der Kommunikation im System in der IDE wäre eine Möglichkeit das interne Verhalten eines Netzes zu vermitteln.

Des Weiteren muss geprüft werden, welche Runtimes in das Framework integriert wer-den sollen. Dies umfasst sowohl klassische Programmiersprachen als auch grafische Spra-chen. So währe auch die Integration eines Schaltungs-Simulators/Editors ähnlich dem Interkativen Java Applet [16] denkbar, um auch die Hardware des Objektes abbilden zu können.

Literatur

Literatur

[1] Ardublock. http://blog.ardublock.com/. – Accessed: 2019-08-11

[2] CSTI Webpage. https://csti.haw-hamburg.de/. – Accessed: 2019-09-21 [3] Flogorithm - Flowchart Programming Language. http://flowgorithm.org/. –

Accessed: 2019-08-20

[4] grasp.IO. https://www.grasp.io/. – Accessed: 2019-08-11

[5] ITTT: Everything works better together.https://ifttt.com/. – Accessed: 2019-09-12

[6] Learn How to Play the Hot Potato Game and All its Variation. https://

partyjoys.com/how-to-play-hot-potato-game. – Accessed: 2019-10-10

[7] Smile - Smarte Umgebungen zum Anfassen, Mitmachen und (Er-) Forschen.

https://www.smile-smart-it.de/. – Accessed: 2019-08-11

[8] Construct 3 manual. https://www.construct.net/en/make-games/

manuals/construct-3. 2017. – Accessed: 2019-12-19

[9] Allers, Sven: Entwicklung und Realisierung eines Systems zum Tracingaktorba-sierter Software. 2019

[10] Broscheit, Jessica ; Draheim, Susanne ; Luck, Kai von: IVO-RY: ATangibleInterfaceto PerceiveHuman-Environment Interrelationships.

https://users.informatik.haw-hamburg.de/~ubicomp/arbeiten/

papers/tei2019.pdf. 2019

[11] Bundesministerium für Bildung und Forschung: Die neue Hightech-Strategie Innovationen für Deutschland. https://www.bmbf.de/upload_

filestore/pub_hts/HTS_Broschure_Web.pdf

[12] Deutsches Institut für Normung: DIN 60001- Information processing; gra-phical symbols and their application. 1983

[13] Deutsches Institut für Normung: DIN 66261 - Informationsverarbeitung;

Sinnbilder für Struktogramme nach Nassi-Shneiderman. 1985

[14] Espressif Systems: ESP8266 SDK. https://github.com/espressif/

ESP8266_RTOS_SDK

Literatur

[15] Espressif Systems: ESP8266EX DatasheetVersion 4.3. https:

//www.espressif.com/sites/default/files/documentation/

esp8089_datasheet_en.pdf. 2015

[16] Falstad, Paul: Circuit Simulator Applet. http://www.falstad.com/

circuit-java/. 2014. – Accessed: 2019-12-30

[17] Flowhub UG: Flowhub. https://flowhub.io/. – Accessed: 2019-08-21 [18] GREEN, T . R . G .. ; PETRE, M.: Usability Analysis of Visual Programming

Environments : A ‘Cognitive Dimensions’ Framework. http://www-personal.

umich.edu/~itm/688/wk7/opt/GreenPetrie-UsabAnalysisVPE-1996.

pdf. 1996

[19] InvenSense Inc.: MPU-6000/MPU-6050 Product Specification.

https://invensense.tdk.com/wp-content/uploads/2015/02/

MPU-6000-Datasheet1.pdf. 2013

[20] Kramer, Gregory ; Walker, Bruce ; Bonebright, Terri ; Cook, Perry ; Flo-wers, John H.: Sonification Report: Status of the Field and Research Agenda. 2010 [21] López, Tomás S. ; Ranasinghe, Damith ; Patkai, Bela ; McFarlane, Duncan:

Taxonomy, technology and applications of smart objects. In: Information Systems Frontiers (2009), S. 1–20

[22] MathWorks: MATLAB & Simulink. https://mathworks.com/products/

matlab.html. – Accessed: 2019-12-09

[23] Mattern, Friedemann ; Flörkemeier, Christian: Vom Internet der Computer zum Internet der Dinge. In: Informatik-Spektrum 33 (2010), Nr. 2, S. 107–121. – ISSN 1432-122X

[24] Melles, Gerald ; Broscheit, Jessica: Shelldon //CSTI. https://csti.

haw-hamburg.de/project/shelldon/. – Accessed: 2019-11-07

[25] Microsoft Research: Kudo. https://www.microsoft.com/en-us/

research/project/kodu/. – Accessed: 2019-12-09

[26] Morrison, J. P.: Flow-based Programming::Comparison. https://jpaulm.

github.io/fbp/noflo.html. – Accessed: 2019-12-20

[27] Morrison, J. P.: Flow-based Programming::Concepts. https://jpaulm.

github.io/fbp/concepts.html. – Accessed: 2019-12-20

Literatur

[28] Morrison, J. P.:Flow-based Programming::History.https://jpaulm.github.

io/fbp/history.html. – Accessed: 2019-12-20

[29] National Instruments: What is LabVIEW? www.ni.com/en-us/shop/

labview.html. – Accessed: 2019-12-09

[30] OpenJS Foundation: Node-RED Low-code programming for event-driven appli-cations. https://nodered.org/. – Accessed: 2019-12-19

[31] Pizka, Markus: Straightening Spaghetti-Code with Refactoring. https:

//itestra.com/wp-content/uploads/2017/08/04_itestra_

straightening_spaghetti_code_with_refactoring.pdf. 2004

[32] Salewski, Benjamin-Bodo: Entwicklung einer interaktiven Pflanze als proak-tives smartes Objekt. https://users.informatik.haw-hamburg.de/

~ubicomp/arbeiten/bachelor/salewski.pdf. 2017

[33] Samek, Miro: Who Moved My State? https://www.drdobbs.com/

who-moved-my-state/184401643. 2003

[34] SwissEduc: Java-Kara. https://www.swisseduc.ch/informatik/

karatojava/. – Accessed: 2019-11-08

Erklärung zur selbstständigen Bearbeitung einer Abschlussarbeit

Gemäß der Allgemeinen Prüfungs- und Studienordnung ist zusammen mit der Abschlussarbeit eine schriftliche Erklärung abzugeben, in der der Studierende bestätigt, dass die Abschlussarbeit „— bei einer Gruppenarbeit die entsprechend gekennzeichneten Teile der Arbeit [(§ 18 Abs. 1 APSO-TI-BM bzw. § 21 Abs. 1 APSO-INGI)] — ohne fremde Hilfe selbständig verfasst und nur die angegebenen Quellen und Hilfsmittel benutzt wurden. Wörtlich oder dem Sinn nach aus anderen Werken entnommene Stellen sind unter Angabe der Quellen kenntlich zu machen.“

Quelle: § 16 Abs. 5 APSO-TI-BM bzw. § 15 Abs. 6 APSO-INGI

Erklärung zur selbstständigen Bearbeitung der Arbeit

Hiermit versichere ich, Name:

Vorname:

dass ich die vorliegende Grundprojekt – bzw. bei einer Gruppenarbeit die entsprechend gekennzeichneten Teile der Arbeit – mit dem Thema:

Konzeption eines Smart Object Development Frameworks für visuelle Pro-grammierung

ohne fremde Hilfe selbständig verfasst und nur die angegebenen Quellen und Hilfsmittel benutzt habe. Wörtlich oder dem Sinn nach aus anderen Werken entnommene Stellen sind unter Angabe der Quellen kenntlich gemacht.

Ort Datum Unterschrift im Original

Im Dokument für visuelle Programmierung (Seite 28-39)