Skip to the main content

Original scientific paper

https://doi.org/10.7305/automatika.53-3.84

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

Siniša Srbljić ; Department of Electronics, Microelectronics, Computer and Intelligent Systems, Faculty of Electrical Engineering and Computing, University of Zagreb, Unska 3, HR-10000, Zagreb, Croatia
Dejan Škvorc orcid id orcid.org/0000-0003-2803-773X ; Department of Electronics, Microelectronics, Computer and Intelligent Systems, Faculty of Electrical Engineering and Computing, University of Zagreb, Unska 3, HR-10000, Zagreb, Croatia
Miroslav Popović ; Department of Electronics, Microelectronics, Computer and Intelligent Systems, Faculty of Electrical Engineering and Computing, University of Zagreb, Unska 3, HR-10000, Zagreb, Croatia


Full text: english pdf 2.427 Kb

page 294-310

downloads: 1.013

cite


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.

Keywords

Cyber-physical systems; Service-oriented event-driven programming; Multi-device applications; Tabular programming

Hrčak ID:

89251

URI

https://hrcak.srce.hr/89251

Publication date:

20.8.2012.

Article data in other languages: croatian

Visits: 2.343 *