Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.

Slides:



Advertisements
Similar presentations
GMD German National Research Center for Information Technology Darmstadt University of Technology Perspectives and Priorities for Digital Libraries Research.
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Architecture Representation
Sensor Network Platforms and Tools
Ch. 7. Architecture Standardization for WoT
Introduction To System Analysis and Design
© 2005 Prentice Hall7-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Zero-programming Sensor Network Deployment 學生:張中禹 指導教授:溫志煜老師 日期: 5/7.
Business Process Orchestration
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
Emerging Research Dimensions in IT Security Dr. Salar H. Naqvi Senior Member IEEE Research Fellow, CoreGRID Network of Excellence European.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
An Introduction to Rational Rose Real-Time
Enterprise Resource Planning
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Architectural Design.
LÊ QU Ố C HUY ID: QLU OUTLINE  What is data mining ?  Major issues in data mining 2.
Presented to: By: Date: Federal Aviation Administration Enterprise Information Management SOA Brown Bag #2 Sam Ceccola – SOA Architect November 17, 2010.
What is Concurrent Programming? Maram Bani Younes.
Collaborative Systems Developing Collaborative Systems with a Reuse Driven Process.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Chapter 10 Architectural Design
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
An Introduction to Software Architecture
Event Driven Programming
The Architecture of Secure Systems Jim Alves-Foss Laboratory for Applied Logic Department of Computer Science University of Idaho By, Nagaashwini Katta.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Lecture 9: Chapter 9 Architectural Design
Architecting Web Services Unit – II – PART - III.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
BUSINESS INFORMATICS descriptors presentation Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST) Linkoping.
SOFTWARE DESIGN.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Embedding Constraint Satisfaction using Parallel Soft-Core Processors on FPGAs Prasad Subramanian, Brandon Eames, Department of Electrical Engineering,
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Chapter : 9 Architectural Design
Collaborative Systems Developing Collaborative Systems with a Reuse Driven Process.
Hardware/Software Co-Design of Complex Embedded System NIKOLAOS S. VOROS, LUIS SANCHES, ALEJANDRO ALONSO, ALEXIOS N. BIRBAS, MICHAEL BIRBAS, AHMED JERRAYA.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Object-Oriented Analysis and Design
Software Quality Engineering
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Event Driven Programming
Software Architecture
What is Concurrent Programming?
An Introduction to Software Architecture
AIMS Equipment & Automation monitoring solution
Presentation transcript:

Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari

CONTENTS Abstract Introduction Language Design Challenges CPS Application Example SOA&EDA-Based CPS Language Design Methodology PIETHON: SOA&EDA-Ready PYTHON HUSKY: Tabular SOA&EDA Language  Tabular HUSKY Workspace  Application Implementation in HUSKY  HUSKY Language Constructs  HUSKY to PIETHON Translation Framework  Cognitive Evaluation of HUSKY from End-User Perspective Conclusion

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. The physical processes are dynamic, concurrent, event-driven, and powered by various sensors, controllers, and actuators, hence a combination of service-oriented architecture (SOA) and event-driven architecture (EDA) is the most promising software architecture. A CPS design paradigm is proposed where devices, such as sensors, controllers, and actuators, are virtualized into environmental services. To support event-driven workflow coordination, special-purpose coopetition services are designed. Based on two groups of services, a design of event-driven service composition language is presented that target two distinct groups of developers-Python and Husky.

Introduction Cyber-physical systems are integrations of computation and physical processes. Fig. Cyber-physical system based on event-driven service composition

Introduction The most suitable technology for development of event-driven information systems is based on combination of service- oriented architecture(SOA) and event-driven architecture(EDA). To build a CPS application, programmer defines a control logic that coordinates the operation of a set of devices. In an environment where embedded devices and event- handling mechanisms are virtualized as services, service composition is used as a design paradigm.

LANGUAGE DESIGN CHALLENGES Networking  how to enable global networking of CPS components that belong to different administrative domains  how to abstract technologically diverse CPS components into unified application modeling space Timing  CPS control processes have to provide the ability to express timing constraints Event-driveness  Programming abstractions used for implementation of CPS have to provide the ability to handle events Concurrency  CPS requires programming abstractions to explicitly express concurrent composition of CPS segments. End-user orientation  One of the key challenges in CPS design is to enable end users to tailor CPS behavior towards their personal needs

CPS APPLICATION EXAMPLE CPS-driven smart environments are complex real-time systems. The overall logic of the system manages a large number of sensors and actuators interconnected through sensor- controller-actuator patterns. Controllers process the data given by sensors and prepare the control inputs for actuators. Control patterns access the sensors, actuators, and controllers through memory devices that store their data. To enable processing of events in a concurrent and distributed environment, automation processes are usually implemented using multitasking architecture.

CPS APPLICATION EXAMPLE Fig. An example of CPS based on concurrent control loops

CPS APPLICATION EXAMPLE Fig. Implementation of CPS based on multitasking architecture

SOA&EDA-BASED CPS Design of a programming language for development of CPS applications begins with a decision in what form environmental devices appear in the language and how programmers manipulate with them. Solutions are usually mutually incompatible and use nonstandard communication protocols. There are several initiatives that are developing open, common, network-independent communication interfaces for connecting sensors, actuators, and controllers. The key feature of IEEE 1451 standard is the definition of Transducer Electronic Data Sheets. Web Services and service-oriented architecture (SOA) became the most widely accepted technology for development of applications comprising of heterogeneous components. The EUREKA ITEA software Cluster SODA project has created a service-oriented ecosystem for high-level communications.

SOA&EDA-BASED CPS To support global networking of distributed devices and enable their technology-transparent composition, we propose to use SOA as basic software architecture upon which CPS applications are built. The basic SOA does not support event-driven workflows, hence it is augmented with special-purpose event-handling services. An event-driven service-oriented architecture for development of SOA&EDA applications is proposed which is based on three types of components: application-specific services, coopetition services, event-driven service composition.

SOA&EDA-BASED CPS Fig. Event-driven SOA based on application-specific and event-handling services

LANGUAGE DESIGN METHODOLOGY A language used for implementation of SOA&EDA based CPS applications  is considered SOA-ready if it contains first-class primitives for invocation of environmental services. a language  is considered EDA-ready if it contains primitives for invocation of coopetition services. The languages for implementation of CPS applications are based on scripting languages and spreadsheets. An event-driven service composition automation language derived from Python is developed-PIEthon (Programmable Internet Environment Python)  To be SOA-ready, we developed a Python module for invocation of Web Services from Python programs. To be EDA-ready, a module for invocation of event-handling services is developed. To enable a comprehensive user-friendly representation and management of CPS control logic, we developed a spreadsheet-like tabular language named HUSKY

LANGUAGE DESIGN METHODOLOGY Fig. Design of event-driven service composition automation languages

PIETHON: SOA&EDA-READY PYTHON Specialized service composition languages, such as SSCL, enable rapid development of event-driven SOA applications due to compact and domain-specific set of language elements. Our goal was to design an automation language for SOA&EDA- based applications  which is familiar to wide population of software developers and  Turing complete programming language for service composition. The scripting languages are upgraded to be SOA and EDA- ready languages. The package including Python augmented with service invocation and event handling modules is called PIEthon. When PIEthon is used, the CPS application example is implemented using four tasks: Interrupt Handler Task dispatches interrupts from Sensor0 to Task 1, while Tasks implement the rest of the automation process.

PIETHON: SOA&EDA-READY PYTHON Fig. Multitasking implementation of CPS control process in PIEthon

HUSKY: TABULAR SOA&EDA LANGUAGE To allow end-users and automation practitioners who may not be educated in software engineering we have designed a programming language that targets these groups of users. During the design of a new language, there are two main objectives.  First, a new language should exhibit a computational model suitable for non-programmers.  Second, it should provide the design workspace that facilitates the development of CPS applications that include multiple event flows between multiple automation tasks. PIEthon will be falling short of comprehensive view of task interrelations. The two-dimensional organization of spreadsheet programs provides a design workspace that visually reflects the logical structure of the CPS- HUSKY: HUman-centered Service composition worKspace and methodology.

Tabular HUSKY Workspace HUSKY combines the features of textual and visual languages in a form of tabular representation. Cells contain task definitions, coopetition service instances, environmental service definitions, and constant values. Tasks are defined by set of events. The time ordering relation within a HUSKY workspace is defined along two dimensions: horizontal and vertical. Two events are sequential in time if they occupy two adjacent cells in a HUSKY workspace while empty cells partition the workspace into temporally independent event sequences.

Tabular HUSKY Workspace Fig. A two-dimensional tabular HUSKY workspace

Application Implementation in HUSKY Fig. HUSKY implementation of CPS application

HUSKY Language Constructs Service invocation- Service invocation events are denoted by the Execute keyword. To invoke a service, the service location and the operation name must be specified. Communication- To enable asynchronous communication between tasks, the Queue service is used. Synchronization- To synchronize the execution of concurrent automation tasks, the TokenCenter service is used. Synchronization consists of two events: Get Token and Return Token, which acquire tokens from and return them back to the TokenCenter. Publish-Subscribe Messaging- For content-based messaging using publish/subscribe paradigm, the BrokerCenter service is used. Event Execution Control Flow- Ticks of the clock are aligned with the cells that comprise the sequence. Cells contains special event Set Clock which is used to control the execution flow of the event sequence.

HUSKY to PIEthon Translation Framework Fig. HUSKY translation and execution

Cognitive Evaluation of HUSKY from End-User Perspective Table 1. HUSKY Cognitive Dimensions Evaluation

CONCLUSION An event-driven service-oriented architecture, where devices, such as sensors, controllers, and actuators, appear as environmental services that are linked into automation applications using event-driven service composition languages. To enable development of event-driven automation processes, special-purpose event-handling coopetition services are developed as fundamental components of the architecture. The high level application specification written in HUSKY is translated into PIEthon, which is then executed on Python interpreter. After being translated into the low-level and more expressive language, such as PIEthon, professional programmers may augment the core automation process with additional logic.