Linked e-resources
Details
Table of Contents
Intro
Preface
Organization
Contents
Main Lectures
Writing Internet of Things Applications with Task Oriented Programming
1 Introduction
1.1 Internet of Things
1.2 Task Oriented Programming
1.3 iTask
1.4 TOP for the IoT
1.5 Structure of the Paper
2 mTask system architecture
2.1 Blink
2.2 Language
2.3 Class Based Shallow Embedding
2.4 DSL design
2.5 Backends
2.6 Bytecode
2.7 Skeleton
3 mTask language
3.1 Expressions
3.2 Functions
3.3 Basic Tasks
3.4 Parallel Task Combinators
3.5 Threaded Blinking
3.6 Sequential Task Combinators
3.7 Shared Data Source
3.8 Lifted Shared Data Sources
3.9 Interactive Blinking
3.10 Peripherals
4 IoT applications with TOP
4.1 Hardware and Client
4.2 Temperature
4.3 LED matrix
4.4 Temperature Plotter
5 Related Work
5.1 Interpretation
5.2 Task Oriented Programming
5.3 Functional Reactive Programming
5.4 Functional Programming
5.5 Multitasking
5.6 mTask history
6 Discussion
A Embedded Domain Specific Language Techniques
A.1 Deep Embedding
A.2 Shallow Embedding
B iTask reference
B.1 Types
B.2 Editors
B.3 Task Combinators
B.4 Shared Data Sources
B.5 Extra Task Combinators
B.6 Examples
C How to Install
C.1 Fetch the CEFP distribution
C.2 Setup
C.3 Compile the Test Program
C.4 Setup the Microcontroller Unit
D Solutions
References
Paint Your Programs Green: On the Energy Efficiency of Data Structures
1 Introduction
2 Data Structures Libraries
2.1 Haskell Data Structures
2.2 Java Data Structures
3 Experimental Setup
3.1 Haskell Operations
3.2 Java Operations
3.3 Measuring Energy Consumption
4 Comparing Data Structure Energy Consumption
4.1 Haskell Data Structures
4.2 Java Data Structures
5 Related Work
6 Conclusions
References
Energy Efficient Software in an Engineering Course
1 Introduction
2 Energy Efficient Software in Higher Education
2.1 Sustainable Development and Its Dimentions
2.2 Sustainable Development in Higher Education
2.3 Energy Efficient Software in Higher Education
3 Software Analysis and Testing with a Green Flavor
3.1 Green Software: A Multidisciplinary Module
3.2 Green Software: Module Objectives
3.3 Green Software: Module Supporting Tools
4 Energy Efficent Software: Students Assessment
4.1 A Catalog of Energy Smells and Refactorings
4.2 Students Grades
5 Conclusions
References
Utilizing Rail Traffic Control Simulator in Verified Software Development Courses
1 Introduction
2 TD/TS2JC Toolset
2.1 Train Director
2.2 TS2JavaConn
2.3 Communication with Control Modules
3 Control Modules and Configuration Files
3.1 Non-parametric Module
3.2 Parametric Module
4 Teaching Verified Software Development in B-Method with TD/TS2JC Toolset
Preface
Organization
Contents
Main Lectures
Writing Internet of Things Applications with Task Oriented Programming
1 Introduction
1.1 Internet of Things
1.2 Task Oriented Programming
1.3 iTask
1.4 TOP for the IoT
1.5 Structure of the Paper
2 mTask system architecture
2.1 Blink
2.2 Language
2.3 Class Based Shallow Embedding
2.4 DSL design
2.5 Backends
2.6 Bytecode
2.7 Skeleton
3 mTask language
3.1 Expressions
3.2 Functions
3.3 Basic Tasks
3.4 Parallel Task Combinators
3.5 Threaded Blinking
3.6 Sequential Task Combinators
3.7 Shared Data Source
3.8 Lifted Shared Data Sources
3.9 Interactive Blinking
3.10 Peripherals
4 IoT applications with TOP
4.1 Hardware and Client
4.2 Temperature
4.3 LED matrix
4.4 Temperature Plotter
5 Related Work
5.1 Interpretation
5.2 Task Oriented Programming
5.3 Functional Reactive Programming
5.4 Functional Programming
5.5 Multitasking
5.6 mTask history
6 Discussion
A Embedded Domain Specific Language Techniques
A.1 Deep Embedding
A.2 Shallow Embedding
B iTask reference
B.1 Types
B.2 Editors
B.3 Task Combinators
B.4 Shared Data Sources
B.5 Extra Task Combinators
B.6 Examples
C How to Install
C.1 Fetch the CEFP distribution
C.2 Setup
C.3 Compile the Test Program
C.4 Setup the Microcontroller Unit
D Solutions
References
Paint Your Programs Green: On the Energy Efficiency of Data Structures
1 Introduction
2 Data Structures Libraries
2.1 Haskell Data Structures
2.2 Java Data Structures
3 Experimental Setup
3.1 Haskell Operations
3.2 Java Operations
3.3 Measuring Energy Consumption
4 Comparing Data Structure Energy Consumption
4.1 Haskell Data Structures
4.2 Java Data Structures
5 Related Work
6 Conclusions
References
Energy Efficient Software in an Engineering Course
1 Introduction
2 Energy Efficient Software in Higher Education
2.1 Sustainable Development and Its Dimentions
2.2 Sustainable Development in Higher Education
2.3 Energy Efficient Software in Higher Education
3 Software Analysis and Testing with a Green Flavor
3.1 Green Software: A Multidisciplinary Module
3.2 Green Software: Module Objectives
3.3 Green Software: Module Supporting Tools
4 Energy Efficent Software: Students Assessment
4.1 A Catalog of Energy Smells and Refactorings
4.2 Students Grades
5 Conclusions
References
Utilizing Rail Traffic Control Simulator in Verified Software Development Courses
1 Introduction
2 TD/TS2JC Toolset
2.1 Train Director
2.2 TS2JavaConn
2.3 Communication with Control Modules
3 Control Modules and Configuration Files
3.1 Non-parametric Module
3.2 Parametric Module
4 Teaching Verified Software Development in B-Method with TD/TS2JC Toolset