Publication Cover
Automatika
Journal for Control, Measurement, Electronics, Computing and Communications
Volume 53, 2012 - Issue 3
114
Views
1
CrossRef citations to date
0
Altmetric
Original scientific paper

Programming Languages for End-User Personalization of Cyber-Physical Systems

Krajnjem korisniku prilagođeni programski jezici za poosobljavanje računalom upravljanih okolina

, Ph.D., , Ph.D. &
Pages 294-310 | Received 03 Jun 2011, Accepted 20 Feb 2012, Published online: 20 Jan 2017
 

Abstract

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.

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 poticane 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 suradnje 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 Python, prikazano je preoblikovanje jezika opce 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.

Additional information

Notes on contributors

Siniša Srbljić

Siniša Srbljić is a Professor at the University of Zagreb, School of Electrical Engineering and Computing. His research career also spans Canada and USA where he was visiting the University of Toronto, the AT&T Labs, San Jose, the University of California, Irvine, and Futurewei Technologies, Inc., Center for Innovations, Corporate Research US Huawei, Santa Clara. As part of a Google Research Award grant, he led a research team that designed a consumer programming tool Geppeto, which enables consumers without formal education in computer engineering to develop their own software applications. He is head of Consumer Computing Laboratory at University of Zagreb, School of Electrical Engineering and Computing. His research interests include: consumer computing; collaborative intelligence; programming language translation; theory of computing.

Dejan Škvorc

Dejan Škvorc is a research and teaching assistant, and member of the Consumer Computing Laboratory at School of Electrical Engineering and Computing, University of Zagreb, Croatia. He received his B.Sc. degree in 2003, M.Sc. degree in 2006, and PhD in 2010 from School of Electrical Engineering and Computing, University of Zagreb. During 2007, Dejan Skvorc spent four months as a software engineering intern in Google's Mountain View office, CA, USA, with Google Gadgets group. He is a coauthor and one of the architects of the Google's inter-gadget communication framework. His research interests include service-oriented architectures, programming language design, end-user development, and consumer programming.

Miroslav Popović

Miroslav Popović is a computer science Ph.D. candidate and research assistant at the School of Electrical Engineering and Computing, University of Zagreb. He received his M.Sc. degree in 2006 from School of Electrical Engineering and Computing, University of Zagreb. He was a software engineering intern at Google's Mountain View office in CA, USA. His interests include service-oriented architectures and end-user language development. Currently, he is working on design of consumer program synchronization mechanisms.

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.