Treffer: Programming Languages for End-User Personalization of Cyber-Physical Systems.
Weitere Informationen
The increased usage of smart devices and appliances opens new venues to build applications that integrate physical and virtual world into consumer-oriented context-sensitive cyber-physical systems (CPS). Since physical processes are dynamic, concurrent, event-driven, and powered by various sensors, controllers, and actuators, a combination of service-oriented architecture (SOA) and event-driven architecture (EDA) is the most promising software architecture for virtualization of heterogeneous components into interoperable application building blocks. In this paper, we propose a CPS design paradigm where devices, such as sensors, controllers, and actuators, are virtualized into environmental services. To support event-driven workflow coordination, we designed special-purpose coopetition services that provide fundamental EDA characteristics, such as decoupled interactions, many-to-many communication, publish/subscribe messaging, event triggering, and asynchronous operations. Based on these two groups of services, we present a design of event-driven service composition languages that target two distinct groups of developers. Using Python as an example, we present a transformation of arbitrary general-purpose programming language into an event-driven service composition language for developers familiar with parallel programming using operating system kernel mechanisms. On the other hand, we present the design and cognitive evaluation of an end-user language, whose 2D tabular workspace resembles the process of sketching an automation application on a sheet of paper. [ABSTRACT FROM AUTHOR]
Povećanom uporabom suvremenih elektroničkih uređaja otvaraju se nove mogućnosti za izgradnju primjenskih programa koji objedinjuju fizički prostor i informacijske sustave u korisniku usmjerene računalom upravljane okoline. Suvremeni prostori opremljeni su različitim vrstama osjetila, upravljača i pokretačkih uređaja koji vremenski usklađeno upravljaju dinamičkim i događajima poticanim paralelnim procesima. Spregom uslužno usmjerene i događajima poricane arhitekture omogućen je pristup raznorodnim fizičkim uređajima u obliku međusobno sukladnih gradivnih komponenti primjenskih programa. U radu je predložena paradigma izgradnje računalom upravljanih okolina u kojoj se uređajima iz okoline pristupa putem programskih usluga. Za potrebe oblikovanja događajima poticanih tijekova izvođenja programa, oblikovan je poseban skup usluga sunubije i natjecanja. Te usluge ostvaruju osnovne značajke arhitekture zasnovane na događajima, kao što su neizravno međudjelovanje, komunikacija u grupi, objavi/pretplati komunikacija, pokretanje događaja i asinkrone operacije. Na osnovi tih dviju skupina usluga, oblikovana su dva jezika za događajima poticanu kompoziciju usluga. Na primjeru jezika Pvthon, prikazano je preoblikovanje jezika opće namjene u jezik za događajima poticanu kompoziciju usluga namijenjen razvijateljima paralelnih programa primjenom mehanizama jezgre operacijskog sustava. S druge strane, prikazano je oblikovanje i kognitivno vrednovanje tabličnog jezika namijenjenog krajnjem korisniku, gdje oblikovanje primjenskog programa unutar dvodimenzionalne radne plohe nalikuje skiciranju međudjelovanja skupine uređaja na listu papira. [ABSTRACT FROM AUTHOR]