Case Studies

used in Courses

Gregor Chair Assembly System (GCAS)

A product from everyday life, the IKEA Gregor chair, is used as a case study to demonstrate the applicability of the Cyber-Physical Microservices IoT Framework.

Figure shows a prototype implementation of the IKEA GREGOR chair case study using LwM2M, microservices (more specifically CPuSs), containers and robotic arms was implemented as part of theses of Nikolaos Nikitas and Achilleas Triantafillou. (video). The electrical and electronic construction was developed mainly by Nikolaos Nikitas.

For more information visit GREGOR CHAIR ASSEMBLY SYSTEM

Blood Pressure Monitoring System (BPMS)

Cyber-Physical and IoT Systems: From Sockets to WoT

Το case study έχει ως στόχο την εξοικείωση με βασικές έννοιες του ΙοΤ and cyber-physical systems. Πιο συγκεκριμένα :

  • την μελέτη της μετάβασης από τα sockets στο WοΤ μέσα από την ανάπτυξη ενός κατανεμημένου συστήματος καταγραφής και παρακολούθησης πίεσης με βάση το μοντέλο client/server,

  • την εξέταση και υλοποίηση διαφόρων σεναρίων διαμόρφωσης του συστήματος, και

  • την αξιοποίηση των Http και του ΟΜΑ Lightweight M2M IoT protocols.


For more information visit BLOOD PRESSURE MONITORING

Temperature PCB System (BPMS)

Το case study χρησιμοποιείται για την εξοικείωση με βασικές έννοιες IoT εφαρμογών με κύρια έμφαση στο integration of cyber with physical.

For more information visit https://sites.google.com/view/advanced-programming-technique/assignments/cyber-to-physical-interface/%CE%B9nterfacing-with-the-physical-world/temperature-sensor-pcb

Liqueur Plant System (LPS)

The liqueur plant system is used as a case study to demonstrate the application of the service orchestration pattern in the IoT-Based Cyber-Physical Microservice Framework.

https://sites.google.com/view/cyber-physical-microservice/liqueur-plant


The myLiqueur production system exploits IoT to allow end users to produce custom types of liqueur in a liqueur plant. Production parameters that define the specific type of liqueur could be defined by the end user through the myLiqueur App. The myLiqueur production system is composed of the following cyber-physical components, as shown in Fig. 1 below: smartSilo1, smartSilo2, smartSilo3, smartSilo4 and smartPipe.


For more information visit https://sites.google.com/site/uml4iot/liqueur-plant-case-study

Silo simulator

myLiqueur Production System

The Robotic Arm Case-Study

To demonstrate the applicability of the IEC61499 function block model in the robotics application domain and prove the usability of our IEC61499 compliant FB execution environment and tool infrastructure and the effectiveness of the proposed development process we have developed the Robotic arm example application. The results of this work are described in the paper entitled "Using the Function Block Model for Robotic Arm Motion Control" by G. Doukas, K. Thramboulidis, Y. Koveos [MED06].

For more information visit The Robotic Arm Case Study

The Teabag Boxing System (TBS)

The Teabag Boxing System is a simplified version of a real system used in the production chain of packed teabags. The system receives teabags from a teabag producer, checks their weight and forwards them either for packaging to a legal-teabag consumer, if the weight is in the accepted range, otherwise to an illegal-teabag consumer for recycling. A belt is required to be in operation only in the presence of teabags on it.

For more information visit The Teabag Boxing System

Generic State Machine

A generic fine state machine to automate the code generation process of any fsm of the application by simply defining the states and transitions. For an example of use see the BPMS case study BPMS as a state machine. Guidlines are also given in this case study. You may also have a look at the SimpleSiloExample.


For more information visit https://sseg-apt.github.io/GenericStateMachine/

Sleeping Barber (SB)

Η άσκηση αποτελείται από μια σειρά από δραστηριότητες που έχουν στόχο την ανάπτυξη μιας εφαρμογής που θα εξομοιώνει την λειτουργία ενός Κουρείου. Το πρόβλημα, που είναι γνωστό στην βιβλιογραφία ως προβλήματος του Κοιμώμενου Κουρέα (Sleeping Barber), είναι ένα από τα πιο γνωστά προβλήματα που χρησιμοποιούνται ως μελέτη περίπτωσης στον ταυτόχρονο προγραμματισμό.

For more information visit Sleeping Barber

Address Book

Η άσκηση έχει στόχο την εξοικείωση με:

  1. Δυναμική διαχείριση μνήμης (dynamic memory allocation)

  2. Δείκτες (pointers) μέσα από Δυναμικές Δομές Δεδομένων – Συνδεδεμένες λίστες - Ταξινόμηση (sort) - Αναζήτηση (search)

    1. Απλά συνδεδεμένη λίστα (singly linked list)

    2. Διπλά συνδεδεμένη λίστα (double linked list)

  3. Αποθήκευση (save) και ανάκληση (load) πληροφορίας από δίσκο (low level file handling)


For more information visit

Robot Labyrinth - Robot Remote Controller

Η άσκηση έχει στόχο την ανάπτυξη ενός Robot Remote Controller, ενός προγράμματος δηλαδή που θα επιτρέπει στον χρήστη του να καθοδηγεί, χρησιμοποιώντας ορισμένα πλήκτρα του πληκτρολογίου, ένα ρομπότ μέσα σε έναν λαβύρινθο με στόχο να βρει το συντομότερο δυνατό την έξοδο.

Μέσα από αυτό επιδιώκει την εξοικείωση με:

1. την περιγραφή βασικών διεργασιών χρησιμοποιώντας λεκτική περιγραφή,

2. τη δόμηση προγράμματος σαν συνάθροιση έτοιμων συναρτήσεων,

3. τη δήλωση μεταβλητών και εισαγωγή δεδομένων από την κύρια είσοδο,

4. τη χρήση συναρτήσεων της βασικής βιβλιοθήκης και συναρτήσεων τρίτου κατασκευαστή,

5. τις προτάσεις ελέγχου ροής προγράμματος,

6. την τεχνική της αυξητικής ανάπτυξης προγράμματος.

For more information visit http://seg.ece.upatras.gr/Courses/bpl/BPLExercises.htm

Logic Gate Simulator (LGS)

Η άσκηση έχει στόχο την εξοικείωση με:

  1. τις προτάσεις ελέγχου της ροής εκτέλεσης του προγράμματος,

  2. την εφαρμογή της αφαιρετικότητας στις διεργασίες (procedural abstraction)

  3. την αναπαράσταση και οργάνωση των δεδομένων ενός φυσικού προβλήματος

  4. την τεχνική της αυξητικής ανάπτυξης (incremental development) προγράμματος


For more information visit:

Reverse Polich Notation Calculator (RPN)

Η άσκηση χρησιμοποιείται:

  • στο procedural programming paradigm για εισαγωγή του procedural abstraction και του incremental development process, και

  • στο object-oriented programming paradigm στα πλαίσια του lego contruction approach για εισαγωγή των βασικών εννοιών του αντικειμενοστρεφούς παραδείγματος προγραμματισμού και των βασικών μηχανισμών της Java που υλοποιούν τις έννοιες αυτές.


Η άσκηση βασίζεται στo παράδειγμα reverse polish notation calculator του κεφαλαίου 4 του βιβλίου The C programming Language των Kernighan and Ritchie. For more information visit:

http://seg.ece.upatras.gr/Courses/bpl/BPLExercises.htm

https://sites.google.com/view/objecttechnologycourse/courses-activities/activity-no-0

https://sites.google.com/view/objecttechnologycourse/courses-activities/activity-no-2