A Flexible Software Framework for Testbeds In Real-World Experiments - - PowerPoint PPT Presentation

a flexible software framework for testbeds
SMART_READER_LITE
LIVE PREVIEW

A Flexible Software Framework for Testbeds In Real-World Experiments - - PowerPoint PPT Presentation

Institute of Operating Systems and Computer Networks A Flexible Software Framework for Testbeds In Real-World Experiments and Temperature-Controlled Environments Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf, 2018-11-02 Introduction


slide-1
SLIDE 1

A Flexible Software Framework for Testbeds

In Real-World Experiments and Temperature-Controlled Environments

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf, 2018-11-02 Institute of Operating Systems and Computer Networks

slide-2
SLIDE 2

Introduction Requirements Architecture GUI Conclusion

Motivation

Gap between simulations and real-world deployments Testbeds can help filling the gap, but...

require significant amount of time

– setup – maintenance

  • ften tailored to a specific use case

can fail!1

Ultimate goal: Provide repeatability under realistic conditions

1FAILSAFE’17: On the Experiences with Testbeds and Applications in Precision

Farming

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 2

slide-3
SLIDE 3

Introduction Requirements Architecture GUI Conclusion

PotatoNet: Goals

Sensor network to measure dry stress of potato plants

soil temperature, air temperature, ...

... but also use as testbed for other WSN applications Remotely accessible

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 3

slide-4
SLIDE 4

Introduction Requirements Architecture GUI Conclusion

PotatoNet: Architecture

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 4

slide-5
SLIDE 5

Introduction Requirements Architecture GUI Conclusion

PotatoNet: Architecture

Challenges: Failing nodes, environment, farming activities

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 4

slide-6
SLIDE 6

Introduction Requirements Architecture GUI Conclusion

Temperature testbed

Polystyrene box Peltier elements for temperature control −15 ◦C to 80 ◦C @ 0.12 ◦C accuracy

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 5

slide-7
SLIDE 7

Introduction Requirements Architecture GUI Conclusion

Temperature testbed

Polystyrene box Peltier elements for temperature control −15 ◦C to 80 ◦C @ 0.12 ◦C accuracy Use cases:

Effects of temperature on hardware Energy harvesting experiments Temperature effects on batteries and super capacitors

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 5

slide-8
SLIDE 8

Introduction Requirements Architecture GUI Conclusion

Requirements

PotatoNet

Read sensor node’s data Re-program nodes Handle connection errors

Temperature-controlled chamber

Quick setup Long-term experiments Flexibility

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 6

slide-9
SLIDE 9

Introduction Requirements Architecture GUI Conclusion

High Level Architecture

Unit 1 Unit 2

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 7

slide-10
SLIDE 10

Introduction Requirements Architecture GUI Conclusion

High Level Architecture

Unit 1 Unit 2 e.g. chamber, energy platform, sensor node

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 7

slide-11
SLIDE 11

Introduction Requirements Architecture GUI Conclusion

High Level Architecture

F1 F2 Unit 1 F1 F3 Unit 2

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 7

slide-12
SLIDE 12

Introduction Requirements Architecture GUI Conclusion

High Level Architecture

F1 F2 Unit 1 F1 F3 Unit 2 Communication?

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 7

slide-13
SLIDE 13

Introduction Requirements Architecture GUI Conclusion

High Level Architecture

F1 F2 Unit 1 F1 F3 Unit 2 MQTT

Software

Written in python Small modules (F1,F2,F3)

Serial Temperature Chamber

MQTT

QoS Message buffering

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 7

slide-14
SLIDE 14

Introduction Requirements Architecture GUI Conclusion

Software Architecture

Module Loader

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 8

slide-15
SLIDE 15

Introduction Requirements Architecture GUI Conclusion

Software Architecture

Module Loader Module M1 Module M3 Module M2

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 8

slide-16
SLIDE 16

Introduction Requirements Architecture GUI Conclusion

Software Architecture

Module Loader Module M1 Module M3 Module M2 Module Thread MQTT Client

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 8

slide-17
SLIDE 17

Introduction Requirements Architecture GUI Conclusion

Communication

Topics for communication, e.g.

module/host/state module/host/config module/host/temp/[target|current] module/host/<id>/tx

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 9

slide-18
SLIDE 18

Introduction Requirements Architecture GUI Conclusion

Communication

Topics for communication, e.g.

module/host/state module/host/config module/host/temp/[target|current] module/host/<id>/tx

Problem: Communication

Idea: Use chamber without network Inter-module communication based on MQTT Hence we use multiple brokers in our architecture

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 9

slide-19
SLIDE 19

Introduction Requirements Architecture GUI Conclusion

Communication (2)

M1 M2 LB Unit 1 t1 t1

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 10

slide-20
SLIDE 20

Introduction Requirements Architecture GUI Conclusion

Communication (2)

M1 M2 LB Unit 1 LB M3 M1 Unit 2 t2 t1 t1 t2

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 10

slide-21
SLIDE 21

Introduction Requirements Architecture GUI Conclusion

Communication (2)

M1 M2 LB Unit 1 LB M3 M1 Unit 2 t2 t1 t1, t3 t2, t3 RB t3 t3

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 10

slide-22
SLIDE 22

Introduction Requirements Architecture GUI Conclusion

GUI: Motivation

Configuration

How to configure modules and their interactions? Config files can be used, but not user-friendly! M1 M2 M3 M1 Unit 1 Unit 2

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 11

slide-23
SLIDE 23

Introduction Requirements Architecture GUI Conclusion

GUI: Motivation

Configuration

How to configure modules and their interactions? Config files can be used, but not user-friendly! M1 M2 M3 M1 Unit 1 Unit 2

Solution: Configure flow of data

Publish data on a topic Subscribe to topic

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 11

slide-24
SLIDE 24

Introduction Requirements Architecture GUI Conclusion

Video

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 12

slide-25
SLIDE 25

Introduction Requirements Architecture GUI Conclusion

Experiences

PotatoNet

Benefits from error handling

Temperature Testbed

Benefits from flexibility and re-usability

Easy to setup and extend Very flexible for different experiments Live-insights into data using GUI

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 13

slide-26
SLIDE 26

Introduction Requirements Architecture GUI Conclusion

Conclusion

We presented a software framework for testbeds

Based on simple, small modules Reduces amount of time required for setup and common software errors Enables us to make more experiments in less time ... which enhances research!

GUI as an optional web client helps at configuration Will be available online2 If you have a fancy name: let me know!

2https://gitlab.ibr.cs.tu-bs.de/hartung/testbed-software

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 14

slide-27
SLIDE 27

Introduction Requirements Architecture GUI Conclusion

Conclusion

We presented a software framework for testbeds

Based on simple, small modules Reduces amount of time required for setup and common software errors Enables us to make more experiments in less time ... which enhances research!

GUI as an optional web client helps at configuration Will be available online2 If you have a fancy name: let me know!

Thank you, questions?

2https://gitlab.ibr.cs.tu-bs.de/hartung/testbed-software

Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 14