Wednesday, August 27, 2025

New Book: Engineering Swarms of Cyber-Physical Systems

We are excited to announce the release of our new book, Engineering Swarms of Cyber-Physical Systems, published by CRC Press in 2025. Authored by Melanie Schranz, Wilfried Elmenreich, and Farshad Arvin, this book is a vital resource for researchers, engineers, and students interested in swarm intelligence and cyber-physical systems (CPS).

This comprehensive guide covers the entire design cycle for applying swarm intelligence in CPS, including modeling, design, simulation, and deployment. Key features include:

  • Real-World Examples: Applications in robotics, manufacturing, and search and rescue.
  • Hands-On Approach: Programming examples that facilitate quick implementation of concepts.
  • Diverse Methodologies: Insights into classical and machine-learning design methods for swarm applications.
  • Simulation Insights: A chapter dedicated to simulation requirements and models.

 

Why We Wrote This Book

After years of research, we felt the need for a comprehensive resource that combines theoretical insights with practical applications. Our goal is to inspire creativity and provide the tools necessary for readers to embark on their own projects.

We invite you to explore Engineering Swarms of Cyber-Physical Systems yourself. We hope this book serves as a valuable resource for your research and engineering endeavors!

 

Melanie Schranz, Wilfried Elmenreich, Farshad Arvin. Engineering Swarms of Cyber-Physical Systems. CRC Press 2025. ISBN 978-1-032-04715-7. 

Tuesday, August 27, 2024

RoboTunes: A Multi-Player Learning Framework with Musical Programmable Robots

Our paper, "RoboTunes: A Multi-Player Learning Framework with Musical Programmable Robots," presented at ICARA 2024, introduces an innovative educational tool that combines robotics and music to create an interactive learning environment. The RoboTunes framework allows students to control robots using musical instruments, navigating a Colorized Music-based Maze (CMM) by playing specific notes. This approach teaches the basics of robotics and integrates musical learning, making the educational process more engaging and enjoyable.

RoboTunes is designed to be adaptable to different age groups and skill levels. For beginners, tasks may involve simple note sequences to guide a robot, while advanced students can program robots to achieve similar goals, adding layers of complexity. The system supports both collaborative and competitive learning, encouraging teamwork and problem-solving while maintaining a fun, game-like atmosphere.

Colorized Music-based Maze
Example of a Colorized Music-based Maze
The overall goal of RoboTunes is to enhance the educational experience by making learning interactive and enjoyable. By integrating music with robotics, the framework fosters creativity, technical skills, and collaborative abilities, transforming how robotics is taught in classrooms and inspiring students to explore the intersection of these fields further.

Find more information in the fulltext of our paper:

Khalil Al rahman Youssefi, Helmut Lindner, and Wilfried Elmenreich. Robotunes: A multi-player learning framework with musical programmable robots. In Proceedings of the 10th International Conference on Automation, Robotics and Applications (ICARA), pages 334–338, February 2024. (doi:10.1109/ICARA60736.2024.10553175)

Friday, December 1, 2023

A Slime Mold Algorithm for Repairing a Power Transmission Network after an Electromagnetic Pulse Attack


After an extensive journey of in-depth exploration, spanning literature review, hypothesis formulation, modeling, implementation, and many weeks of simulation, Kristina Wogatai proudly presented her paper, "A Graph-Based Approach for Applying Biologically-Inspired Slime Mold Algorithms for Repairing a Power Transmission Network after an Electromagnetic Pulse Attack," at the 2nd International Conference on Power Systems and Electrical Technology (PSET) in Milan, Italy, held from August 25th to 27th, 2023. The paper, authored by Kristina Wogatai, Johannes Winkler, and Wilfried Elmenreich, explores how to apply slime mold algorithms to restore power grids after an electromagnetic pulse (EMP) attack.

Our proposed method intricately utilized a simulated slime mold algorithm on graph models to pinpoint critical repair areas, drawing inspiration from how slime molds construct networks between food sources. These single-celled organisms, known for their intelligent swarm behavior, have inspired algorithms addressing optimization problems and the creation of efficient transportation networks. Our open-source algorithm, SISMO (Simulation of Slime Molds), has contributed to this work.

Adapting the SISMO algorithm for connecting power stations and plants required overcoming challenges, such as incorporating geographic or demographic criteria for power line placement. Initially provided only with the positions of power stations, we addressed this problem by leveraging graph visualization algorithms like Force Atlas, Force Atlas2, and Yifan-Hu to modify the layout and thus communicate these parameters to the algorithm effectively.


Our efforts did not go unnoticed, as Kristina received the Best Oral Presentation Award at the conference, emphasizing the paper's quality and the significance of its findings in power network restoration.

For further information, check out the paper

Kristina Wogatai, Johannes Winkler, and Wilfried Elmenreich. A Graph-Based Approach for Applying Biologically-Inspired Slime Mold Algorithms for Repairing a Power Transmission Network after an Electromagnetic Pulse Attack. In Proc. 2023 2nd International Conference on Power Systems and Electrical Technology (PSET 2023), Milan, Italy, August 25-27, 2023.

Tuesday, May 9, 2023

Bottom-Up Bio-Inspired Algorithms for Optimizing Industrial Plants

Scheduling in a production plant with a high product diversity is an NP-hard problem. In large plants, traditional optimization methods reach their limits regarding computational time. In this paper, we use inspiration from two bio-inspired optimization algorithms, namely, the artificial bee colony (ABC) algorithm and the bat algorithm, and apply them to the job shop scheduling problem. Unlike previous work using these algorithms for global optimization, we do not apply them to solutions in the solution space, though, but rather choose a bottom-up approach and apply them as literal swarm intelligence algorithms. We use the example of a semiconductor production plant and map the bees and bats to actual entities in the plant (lots, machines) using agent-based modeling using the NetLogo simulation platform. These agents then interact with each other and the environment using local rules from which the global behavior – the optimization of the industrial plant – emerges. We measure performance compared to a baseline algorithm using engineered heuristics (FIFO, fill fullest batches first). Our results show that these types of algorithms, employed bottom-up, show promise of performance improvements using only low-effort local calculations.

Our newest research paper builds upon the simulation framework presented in http://demesos.blogspot.com/2022/08/swarmfabsim-simulation-framework-for.html

Asking Question at ICAART Panel Session
As in this earlier paper, algorithm performance was compared against a reference baseline algorithm using the key performance indicators of makespan, flow factor, delay, and machine utilization. Results show that using these swarm intelligence algorithms in a bottom-up manner with only low-effort local calculations can lead to performance improvements. The paper details the application of two algorithms to factory optimization, an artificial bee algorithm (ABC) and a bat-inspired algorithm. Both algorithms are used in a bottom-up approach, not as a global optimizer. In this type of approach, the swarm members do not represent solutions in the solution space of the problem but actual lots and/or machines in the factory. In conclusion, swarm intelligence algorithms can be a powerful tool for production plant scheduling optimization. Although the case study is based on a semiconductor production plant, the same approach applies well to other production plants as well.

Paper presentation at ICAART'23
Further information can be found in the paper

M. Umlauft, M. Gojkovic, K. Harshina and M. Schranz: Bottom-Up Bio-Inspired Algorithms for Optimizing Industrial Plants, Proceedings of ICAART 2023, ISBN: 978-989-758-623-1, doi:10.5220/0011693400003393

Wednesday, April 5, 2023

They say the best way to learn is by doing, but sometimes the best way is to automate!

Ah, the version control system git. We've all been there, typing out commands to push a new commit to the server, trying to remember which is which. For example to update the remote repository with your local changes, I use the git pull, add, commit and push commands in sequence. This will ensure that the remote repository is up-to-date with the local repository. Well, I had enough of it. I decided to take matters into my own hands and wrote a script that I named 'gits'. It's just a one-liner that does the steps of git pull, git add, git commit and git push for me, without all the hassle of having to type each paticular command. The commit message is given as argument to gits, if I forget about it, the script puts the number of changed files there as a placeholder.

@echo off
:: Batch script to commit and push your git changes
:: and quickly resolve conflicts
::
:: by Wil
:: March 2023 V0.21
::
:: The script has the decency to ask before adding new files
:: If an argument is given, this is used as the commit message
:: otherwise a generic commit message is generated

setlocal ENABLEDELAYEDEXPANSION

for /F "delims=#" %%E in ('"prompt #$E# & for %%E in (1) do rem "') do set "ESCchar=%%E"
set "red=%ESCchar%[91m"
set "green=%ESCchar%[92m"
set "yellow=%ESCchar%[93m"
set "magenta=%ESCchar%[95m"
set "cyan=%ESCchar%[96m"
set "white=%ESCchar%[97m"
set "black=%ESCchar%[30m"
set "nocolor=%ESCchar%[0m"
set "bold=%ESCchar%[1m"

::stage modifications and deletions
set countmodified=0
for /f %%C in ('git ls-files -m') do set /A countmodified=!countmodified!+1

if NOT "!countmodified!"=="0" (
  git add -u
)

set /A total=!countmodified!

for /f %%C in ('git diff --cached --numstat') do set /A total=!total!+1

::check if there are untracked (new) files
set countnew=0
for /f %%C in ('git ls-files . --exclude-standard --others') do set /A countnew=!countnew!+1

if NOT "!countnew!"=="0" (
  git ls-files . --exclude-standard --others
  echo.
  echo There are !countnew! files, should they be added?
  CHOICE /C asx /M "Press [A] for adding the files, [S] for skipping without and [X] for exiting this script."
  IF !ERRORLEVEL! EQU 3 (
    exit /b
  )
  IF !ERRORLEVEL! EQU 1 (
    git add .
    set /A total=!total!+!countnew!
  )
)

if "!total!"=="0" (
  echo Nothing to do!
) else (
  if "%1"=="" (
    git commit -m "updated !total! files"
  ) else (
    git commit -m "%*"
  )
  git pull
  git push

  set conflicts=0
  set unsolved=0
  for /f %%C in ('git ls-files -u  ^| cut -f 2  ^| sort ^|uniq') do (
    set cff=%%C
    call :SUBCHOICE
    IF !ERRORLEVEL! EQU 2 (
      git checkout --theirs !cff!
      git add !cff!
    ) ELSE IF !ERRORLEVEL! EQU 3 (
      git checkout --ours !cff!
      git add !cff!
    ) ELSE IF !ERRORLEVEL! EQU 4 (
      set /A unsolved=!unsolved!+1
    ) ELSE IF !ERRORLEVEL! EQU 5 (
      exit /b
    )
    set /A conflicts=!conflicts!+1
  )

  if !unsolved! GTR 0 (
    echo There are still %red%!conflicts! files%nocolor% in conflict.
    exit /b
  )
 
  if !conflicts! GTR 0 (
    git commit -m "merged conflicted files"
    git push
  )
)

exit /b

:SUBCHOICE
echo|set /p="File %red%!cff!%nocolor% is in conflict "
CHOICE /C dtosx /M "(show [D]iff, use [T]heirs, use [O]urs, [S]kip file, e[X]it script)"
   IF !ERRORLEVEL! EQU 1 (
      git diff !cff!
      goto SUBCHOICE
    )
   exit /B !ERRORLEVEL!

The Windows .bat code is a script for committing and pushing git changes, with the ability to quickly resolve conflicts. It sets up some color codes for the text output and checks for modifications, deletions, and untracked (new) files. It then adds the files to be committed and either uses an argument given to the script as the commit message, or a generic commit message. It then pulls, pushes, and checks for conflicts. If conflicts are present, it provides the user with the option to view a diff, select a version of the file, skip the file, or exit the script. If conflicts are resolved, the script commits the merged files and pushes them.

gits in action. Here it found files not added to the repo yet and proposes to add them, to do the commit without adding them or to stop the script

 

Thursday, March 9, 2023

Discovering New Ways to Navigate: A Swarm Intelligence-Based Robotic Search Algorithm Integrated with Game Theory

Robotics has come a long way in the last few decades, and we continue to see innovations in the field as researchers seek to improve robotic search algorithms. Recently, researchers have proposed a decentralize and asynchronous swarm robotic search algorithm integrated with game theory to better disperse robots in the environment while crossing obstacles and solving mazes. This prevents early convergence and improves the efficiency of the searches.

In the proposed algorithm, individual robots, while searching, play a sequential game at each iteration, and based on that, choose their velocity update rule. This strategic game works well in search environments with different levels of complexity and especially improves search efficiency further in complex environments. In the target problem, since the environment is unknown, it is not possible to preplan a path to the target. And there is no difference between static and dynamic obstacles, as the robots cannot distinguish them. Thus, in the proposed method, passing and avoiding obstacles are synchronized with the target searching.

Example of a maze-like complex environment and its mapping to a fitness function

The simulation results showed that, following the proposed algorithm, robots disperse well in search environments, and therefore search speed increases by up to 24% and attended path length to target lessens by up to 23.5% in complex search environments. Also, the proposed algorithm has a success rate equal to the state-of-the-art, which is 100% in all of the tested environments.

For more details check out the paper:

Khalil Alrahman Youssefi Darmian, Modjtaba Rouhani, Habib Rajabi Mashhadi, and Wilfried Elmenreich. A swarm intelligence-based robotic search algorithm integrated with game theory. Applied Soft Computing, 122, 4 2022. (doi:10.1016/j.asoc.2022.108873)

Robotics is an exciting and ever-evolving field, and this new algorithm shows us the potential of swarm intelligence-based robotic search algorithms. We look forward to seeing more innovations in this area as researchers continue to explore new ways to navigate.

Tuesday, August 2, 2022

SwarmFabSim: A simulation framework for bottom-up optimization in flexible job-shop scheduling using Netlogo

It was great to be in presence at a conference again. At the 12th International Conference on Simulation and Modeling Methodologies, Technologies and Applications, aka SIMULTECH, we presented our paper 

Martina Umlauft, Melanie Schranz, and Wilfried Elmenreich. SwarmFabSim: A simulation framework for bottom-up optimization in flexible job-shop scheduling using Netlogo. In Proceedings of the 12th International Conference on Simulation and Modeling Methodologies, Technologies and Applications - SIMULTECH. SciTePress, July 2022. (doi:10.5220/0011274700003274

Click triangle for Bibtex entry
@inproceedings{umlauft:swarmfabsim:22,
  author = {Umlauft, Martina and Schranz, Melanie and Elmenreich, Wilfried},
  title = {{SwarmFabSim}: {A} Simulation Framework for Bottom-up Optimization
in Flexible Job-Shop Scheduling Using {N}etLogo},
  booktitle = {Proceedings of the 12th International Conference on Simulation and Modeling Methodologies, Technologies and Applications - SIMULTECH},
  year = {2022},
  month = jul,
  publisher = {SciTePress},
  doi = {10.5220/0011274700003274},
}
  

The paper shows how to the programming language NetLogo to model and simulate a factory producing according to the job-shop manufacturing principle. The main contribution is a modular simulation framework that can apply various algorithms to optimize a make-to-order manufacturing system and supports multiple configurable scenarios. The evaluation framework was used to assess the effectiveness of an artificial hormone algorithm compared to a naïve basic implementation and a reference baseline algorithm. The evaluation was based on three key performance indicators: Flow factor, delay, and utilization. The simulations show promising results of the artificial hormone algorithm in three reference scenarios with significant improvements over the reference algorithms. The implementation of the simulation environment is published as open source in the Git repository https://swarmfabsim.github.io. Readers are welcome to contribute with their ideas and developments.

Screenshot of the SwarmFabSim application

Tuesday, February 9, 2021

An Artificial Hormone-based Algorithm for Production Scheduling

Artificial hormone systems are inspired by the natural endocrine system that adjusts the metabolism of tissue cells in our body. By connecting decisions and actions in a system to the production and evaporation of artificial hormones, it is possible to create a bio-inspired self-organizing algorithm.

Application areas for such algorithms are problems with many agents to be coordinated, where existing optimization approaches come to their limit. An example of such a problem is the production of logic and power integrated circuits (ICs) in the semiconductor industry. Unlike the high-volume production of memory ICs, wafer production in the logic and power sector has a large product mix. This involves many processing steps and dynamic changes of involved machines.

Weekly workloads can involve around 100 000 operations on thousands of machines. Optimizing such a system for work in progress and flow factor is an NP-hard problem. At this size, existing dispatching rules and linear optimization methods cannot cope with the NP-hard search space, thus not optimize the entire system.

To address this issue, we have modeled a production plant as a self-organizing system of agents that interact with each other in a non-linear way. As it is common in the semiconductor industry, wafers are combined in groups of 25 pieces forming a so-called lot. In our approach, an artificial hormone systems is used to express a lot's urgency and the need for new lots at a machine type, thus providing a system using local information for optimization. The algorithm builds upon five principles, which are 

  • (i) machines produce hormone to attract lots, 
  • (ii) hormone diffuses process-upstream, 
  • (iii) incoming lots diffuse hormone, 
  • (iv) lots are prioritized by their timing, and 
  • (v) lots are attracted by hormone. 

Via these mechanisms, machines can balance their workload by pulling required lots towards them. The algorithm has been implemented and evaluated in a NetLogo simulation model. Simulation results indicate that the artificial hormone system improves around 5% for overall production time and flow factor compared to a baseline algorithm. Future work will investigate if the hormone algorithm can be used on top of existing production systems. In a productive system an improvement of 5% would be highly notable.

More information can be found on the SWILT project webpage and in the paper

Wilfried Elmenreich, Alexander Schnabl, and Melanie Schranz. An artificial hormone-based algorithm for productionscheduling from the bottom-up. In Proceedings of the 13th International Conference on Agents and Artificial Intelligence. SciTePress, February 2021.

Click triangle for Bibtex entry
@inproceedings{elmenreich:Hormone:21,
  author = {Elmenreich, Wilfried and Schnabl, 
    Alexander and Schranz, Melanie},
  title = {An artificial hormone-based algorithm
    for production scheduling from the bottom-up},
  booktitle = {Proceedings of the 13th International 
    Conference on Agents and Artificial Intelligence},
  year = {2021},
  month = feb,
  publisher = {SciTePress}
}  
  

Wednesday, November 11, 2020

Benford’s Law and the US 2020 Presidential Election Votes

Benford’s law states that if you get a big range of data from the real world and you look at the lead digit of each of the values you get significantly more 1s than other digits if the numbers span multiple magnitudes.

As one application, Benford’s law is used to detect fraud in accounting. There typically, the pairs of the two first digits are analyzed and plotted according to their frequency in order to detect anomalies. An anomaly can have different explanations though.

For example, in the US 2020 presidential elections, the proportion of digits 1 and 2 on first digits for votes for Mr. Biden is lower than expected, while for votes for Mr. Trump the proportion of digits 1 and 2 on first digits is slightly higher.


In the video below, Matt Parker analyzes the situation and shows that the more densely populated areas in the US, where a majority of Mr. Biden's votes are coming from, have precincts with mostly the same size. Thus here the condition of having data spanning multiple magnitudes is not fulfilled, hence we get a distribution of first digits that deviates from the prediction by Benford’s law.

When looking at the frequency of the last digits, there is an anomaly in the voter data for Mr. Trump. Instead of having a roughly equal distribution of frequency of last digits, the lower digits are much higher. This is due to the fact that a majority of votes for Mr. Trump come from smaller precincts thus favoring the smaller numbers.

 

Thus, the deviation of voting counts (from precincts with a standardized size) from Benford’s Law is not an indicaton of voter fraud but rather a phenomenon to be expected.

Further reading:
Deckert, J., Myagkov, M., & Ordeshook, P. (2011). Benford's Law and the Detection of Election Fraud. Political Analysis, 19(3), 245-268. doi:10.1093/pan/mpr014

Wednesday, September 9, 2020

Swarm Intelligence and Cyber-Physical Systems


Swarm Intelligence (SI) is a popular multi-agent framework that has been originally inspired by swarm behaviors observed in natural systems, such as ant and bee colonies. In a system designed after swarm intelligence, each agent acts autonomously, reacts on dynamic inputs, and, implicitly or explicitly, works collaboratively with other swarm members without a central control. The system as a whole is expected to exhibit global patterns and behaviors.

When is it advantageous to use a Swarm approach?
The scaling principle depicts a range where a swarm
outperforms a linear system of the same size

Although well-designed swarms can show advantages in adaptability, robustness, and scalability, it must be noted that SI system have not really found their way from lab demonstrations to real-world applications, so far. This is particularly true for embodied SI, where the agents are physical entities, such as in swarm robotics scenarios.

In the paper 

Melanie Schranz, Gianni di Caro, Thomas Schmickl, Wilfried Elmenreich, Farshad Arvin, Ahmet Sekercioglu, and Micha Sende. Swarm Intelligence and Cyber-Physical Systems: Concepts, challenges and future trends. Swarm and Evolutionary Computation, 60, 2020. (doi:10.1016/j.swevo.2020.100762)

we start from these observations, outline different definitions and characterizations, and then discuss present challenges in the perspective of future use of swarm intelligence. These include application ideas, research topics, and new sources of inspiration from biology, physics, and human cognition. To motivate future applications of swarms, we make use of the notion of cyber-physical systems (CPS). CPSs are a way to encompass the large spectrum of technologies including robotics, internet of things (IoT), Systems on Chip (SoC), embedded systems, and so on. Thereby, we give concrete examples for visionary applications and their challenges representing the physical embodiment of swarm intelligence in

  • autonomous driving and smart traffic,
  • emergency response,
  • environmental monitoring,
  • electric energy grids,
  • space missions,
  • medical applications,
  • and human networks.

In the future, swarm-based applications will play an important role when there is not enough information to solve the problem in a centralized way, when there are time constraints which do not allow to find an analytical solution, and when the operation needs to be performed in a dynamically changing environment. With an increasing complexity in upcoming applications this will mean that SI will be applied to solve a significant part of ubiquitous complex problems.

Monday, July 27, 2020

Swarm Robotic Behaviors in Real-World Applications

Spiderino - a low-cost robot for swarm
research and educational purposes
With potential benefits from self-organization (e.g., resilience, scalability, and adaptivity to dynamic environments) the motivation is strong to apply swarm robotics in industrial applications. While there exist several swarm robotics research platforms that are developed for educational and scientific purposes, many industrial applications still rely on centralized control. Moreover, in cases where a multi-robot solution is employed, the principal idea of swarm robotics of distributed decision making is often not implemented. To address this topic, the paper

Melanie Schranz, Micha Sende, Martina Umlauft, and Wilfried Elmenreich. Swarm robotic behaviors and current applications. Frontiers in Robotics and AI, 7(36), 2020. (doi:10.3389/frobt.2020.00036)

The e-puck, a robot designed for
education in engineering
provides a collection and categorization of swarm robotic behaviors. Along with this taxonomy, the paper gives a comprehensive overview of research platforms and industrial projects and products, separated into terrestrial, aerial, aquatic, and outer space. In a final discussion, the authors identify several open issues including dependability, emergent characteristics, security and safety, communication as hindrances for the implementation of fully distributed autonomous swarm systems.

The paper was published as part of a Research Topic on Designing Self-Organization in the Physical Realm in the Frontiers in Robotics and AI journal.

In another paper in this issue,

Danesh Tarapore, Roderich Groß, and Klaus-Peter Zauner. Sparse robot swarms: Moving swarms to real-world applications. Frontiers in Robotics and AI, 7(36), 2020. (doi:10.3389/frobt.2020.00083)

the authors address a common property of swarms: the underlying assumption that the robots act in close proximity of each other (for example a few body lengths apart), and typically employ uninterrupted, situated, close-range communication for coordination. Many real-world applications, including environmental monitoring and precision agriculture, however, require scalable groups of robots to act jointly over larger distances (e.g., 1000 body lengths), rendering the use of dense swarms impractical. Using a dense swarm for such applications would be invasive to the environment and unrealistic in terms of mission deployment, maintenance, and post-mission recovery. To address this problem, the paper proposes a sparse swarm concept, which is illustrated via four application scenarios.

Monday, May 11, 2020

Remember the Conferences?

After a couple of weeks in self-isolation due to the global epidemic of the COVID-19 virus, we are getting used to having conferences entirely online. To cheer you up we are posting some impressions from one of our last conference visits that actually took place physically.
Casa Convalescència

We had been at WiMob 2019, the 15th International Conference on Wireless and Mobile Computing, Networking and Communications. The event brought together top researchers and practitioners and created a forum for the exchange of experience and knowledge among researchers and developers concerned with wireless and mobile technology.
In addition to presenting our paper at a top conference, we also enjoyed the nice conference place - the event took place in Barcelona and was organized at the venerable Casa Convalescència. The building is one of the great works of Catalan Modernism, and was declared Historical Artistic Monument in 1978 and World Cultural Heritage Site by UNESCO in 1997. The building is part of the historic site of the Hospital de la Santa Creu i Sant Pau.
Plenary at WiMob'19

Being in such an inspiring environment, the conference went great. Martina Umlauft presented our paper "Topology Characterization for Position-based Wireless Network Topology Generators" in front of an interesting crowd with great success. In the paper, we discuss methods to characterize network topology based solely on the spatial positions of the nodes on the terrain are necessary. Topologies are usually characterized in terms of their network graph; usually by investigating their degree frequency, rank/degree, or hop/count distributions. Wireless network simulation, on the other hand, typically does not use network graphs. Instead, in most wireless simulations, nodes are first positioned on the terrain based on some positioning algorithm and then a radio propagation model is used to determine connectivity dynamically at simulation run-time. We propose several metrics and show how they can be used to evaluate position-based topologies: the nearest neighbor distance distribution, a threshold, and a probabilistic node degree measure, and the application of an inhomogeneity measure for spatial distributions.

Please find the presented paper here:

Martina Umlauft and Wilfried Elmenreich. Topology Characterization for Position-based Wireless Network Topology Generators. In Anna Maria Vegni, editor, 15th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob 2019), Piscataway (NJ), Oktober 2019. IEEE.

We hope this little report helped to remember the better times. See you hopefully soon at the next real conference ;-)


Wednesday, April 1, 2020

Working from home in times of Corona

To be productive, you need top-of-the-line equipment
With the current numbers of Corona infections ramping up in almost every country, we can expect the duration of self-isolation and work from home for an indefinite period. So everybody should probably get familiar with working from home. I will tell you my secret: For successfully working from home you need some top-of-the-line equipment as your working computer. First of all, you need a lot of RAM, at least 128 kB. Forget what your friends say, 64 kB is not enough! Furthermore, you need a fast processor to handle the vast amount of data stored in the big RAM. Therefore, I have not only one, but two processors in my computer, running at up to 4 Mhz processing speed. You should also have a dedicated monitor, not a built-in display. In my setup, I can quickly switch between two different resolutions with a button on the monitor which is relaxing to my eyes.
Writing a program for visualization of Corona cases
But it is not only the hardware but also the software. With the advanced built-in programming language, I can easily visualize a graph. I quickly wrote a program visualizing the development of COVID-19 cases in Austria from March 1 to March 31. As you can see, there is an exponential development in the number of cases, which is why the graph has to rescale several times.

Results viewed on the high-resolution monitor
You can find my program, including the source code, at the CSDB repository.

If your computer can't run the program, it's probably because you don't have enough RAM or processing power on your system. But remember, today is April 1st, a good day to order a better computer.

Friday, March 6, 2020

Why it is important to share your code and make your paper accessible

In a recently published paper on "Making simulation results reproducible - Survey, guidelines, and examples based on Gradle and Docker" we asked researchers from all levels about their willingness to share the code of their simulations together with the paper. A little bit to our surprise, the answers were mostly very positive about sharing.
Still, we are currently far from a situation where every published paper is made accessible and has its code shared with the publication. Apart from the obvious cases where an industrial project might require confidentiality of some details, the most frequent reason is probably some laziness or other giving the effort to refactor your code properly for a publication a low priority. At the moment, not publishing the code is the normal habit, while providing the code is still an exception.
This needs to change for several reasons:
  • From the perspective of the researcher who reads the publication, having access to the code eases the understanding of the approach and allows building upon the work of others. The frequent argument that the code would be provided on request is mainly a lip service - first, it adds uncertainty to the reader if and when they would get the code. Second, the provider of the code might not have it prepared. Imagine the effort to dig up some code you wrote ten years ago and to make it proper so you can pass it on.
  • From the perspective of the researcher who publishes a paper, the chance to get their work read, appreciated and cited is much higher if they provide code and materials with it. Considering the time, money and effort that is put into publishing a paper, the effort of also publishing the code is well justified.
  • From a system's perspective, it is of utmost importance that we support each other. It does not make sense that brilliant minds spend time recreating implementations that have been done already. Reproducing research results is, of course, an important factor in science, but the overall ability to reproduce results and check an approach for errors increases with the possibility to have an insight into the code. 
For the same reasons, it is important to have our papers available online instead of locking them behind a paywall. Even if your university pays for the access to some literature databases there are many potential readers of your work that don't enjoy such a service, be it that their university does not provide such access or that they work from a different network at the instant they want to read your paper. My recommendation: go for open access! This could be the gold open access, where the journal provides open access to your paper at their website, however, this "gold" is usually expensive. Alternatively, several publishers offer a green open access model where you are allowed to keep a pre- or post-print version of your paper online at your private or your institution's webpage. To check if a particular publisher offers such a policy, look them up at this page about Publisher copyright policies & self-archiving.

Further reading:
Wilfried Elmenreich, Philipp Moll, Sebastian Theuermann, and Mathias Lux. Making simulation results reproducible - Survey, guidelines, and examples based on Gradle and Docker. PeerJ Computer Science, 5(e240):1–27, Dezember 2019. (doi:10.7717/peerj-cs.240)


Friday, February 7, 2020

The Wisdom of Crowds or Can many mediocre measurements produce a single good one?

In the introduction of his excellent book "The Wisdom of Crowds" James Surowiecki tells the story of the British Scientist Francis Galton who went to a country fair in 1906. There, a guessing game took place where one had to guess the weight of a bull.
800 people purchased a ticket and delivered their estimates on paper. Galton, who was curious about all kinds of things (I already told you he was a scientist, right) borrowed the tickets afterward and analyzed the results. He was expecting the average of the guesses to be far off because for each expert in the crowd (like for example a butcher) there were for sure a couple of inexperienced people. However, to his great surprise, the average guess of 1197 pounds was very close to the real result of 1198 pounds! This story, by the way, also documents the increase in weight of livestock - today a bull would be around twice as heavy!

If you are interested in the further aspects of collective human intelligence, I recommend reading the book:

James Surowiecki, The Wisdom of Crowds, Anchor, 2005.

But I was less interested in people, instead, I was wondering if this can be used for combining sensor measurements.

A couple of years ago I worked on a method for combining measurements from sensors with different accuracy. Translated to the story above this would mean if we know who are the experts and who are not, should we even bother to include the results of the latter? Actually, the answer is yes - given that the estimates have low correlation! But other than in the story above, the best way is to do a weighted average of values. The weights are derived from the error variance of the estimates, so a sensor with high error variance should get a low weight and a sensor with low error variance should get a high weight.

The resulting formula is surprisingly easy:
The paper explaining the approach in detail and showing how this can be integrated into a sensor network can be found here (link leads to freely accessible PDF):

W. Elmenreich. Fusion of continuous-valued sensor measurements using confidence-weighted averaging. Journal of Vibration and Control, 13(9-10):1303–1312, 2007. (doi:10.1177/1077546307077457)

So, just in case you have to guess the weight of a bull at a country fair, remember this approach :-)

Monday, August 7, 2017

The Spiderino Swarm Robot at Research Days 2017

In Klagenfurt from July 10-12, 2017, the Lakeside Research Days were held in collaboration between the Lakeside Labs and the Alpen-Adria-Universität Klagenfurt. Researchers presented their work and discussed open issues in self-organization and swarm intelligence in cyber physical systems.



The Research Days included also laboratory sessions with training on swarm robotics platform. Midhat Jdeed from theAlpen-Adria-Universität gave a lab session about Spiderino, how to program and implement the basic functionalities such as walking, turning and lighting two LEDs using Arduino Studio. In addition, a program has been implemented using sensors distance to make a small swarm of Spiderinos search for the light source and follow it. The sensors employed in Spiderino are CNY70s, which can measure distances and detect obstacles based on the amount of reflected light from an obstacle. This method is prone to ambient light, but it can be also used to make the robots finding a light source.



In the lab session, the Research Days participants learned about the possibilities and programming interface of Spiderino and could implement their own first program hands on. By the end of the session we had a lab of swarming spiders.

More details about Research Days 2017 can be found on the Research Days'17 webpage.

If you want to learn more about the Spiderino swarm robot, check out this paper:

M. Jdeed, S. Zhevzhyk, F. Steinkellner, and W. Elmenreich. Spiderino - a low-cost robot for swarm research and educational purposes In Proceedings of the 13th International Workshop on Intelligent Solutions in Embedded Systems (WISES'17), Hamburg, Germany, June 2017.

Tuesday, August 1, 2017

Game of Trust: a Game about Game Theory

The game of trust is a game created by Nicky Case inspired by Robert Axelrod's 1984 book, "The Evolution of Cooperation" and his 1997 sequel, "The Complexity of Cooperation", and Robert D. Putnam's 2000 book on America's declining "social capital", Bowling Alone.

The game let's you play an iterated prisoner's dilemma. Do you know the prisoners' dilemma? Not sure about the payoffs? Have a look at Nicky Case's model for an easy to remember ruleset:

You have one choice. In front of you is a machine: if you put a coin in the machine, the other player gets three coins – and vice versa. You both can either choose to COOPERATE (put in coin), or CHEAT (don't put in coin).

Experience game theory with entertaining graphics by Nicky Case


Now visit the game page of the game of trust and have fun!

Saturday, July 22, 2017

PhD position for Software Engineering of Swarm Systems

The Institute of Networked and Embedded Systems at the University of Klagenfurt, Austria, has an opening for a researcher (PhD student) on the topic of software engineering of swarm systems.

Swarm systems consist of a high number of autonomous agents, which interact with each other so that the emerging swarm performs a desired function. The topic of the PhD is to address the software design for such systems as well as investigate how unwanted swarm effects can be avoided. Other aspects involve simulation of such systems and using swarm approaches in games.

You will mainly work in an European project on Cyber-Physical Swarm Systems, which runs until end of 2019. The position is offered at the Smart Grids group at the Institute of Networked and Embedded Systems under the supervision of Professor Wilfried Elmenreich. The institute cooperates with national and international partners from industry and academia and is part of the research cluster Lakeside Labs (self-organizing networked systems).

Our team is very international and dedicated to quality research and teaching. Our working language is english. The offices and laboratories are located in the well-equipped Lakeside Science & Technology Park. Working language is English. The Institute cooperates with national and international partners in research and industry. It is part of the research cluster Lakeside Labs on self-organizing networked systems.

The candidate is expected to have a master in electrical or computer engineering, computer science, applied mathematics or equivalent. Experience in one or more of the following fields is required:

    Distributed and swarm algorithms
    Genetic algorithms and evolutionary design
    Very good programming skills in Java

The contract will be based on 40 hours per week with a gross salary of 38235 EUR per year. Please mail applications containing a letter of interest, curriculum vitae, copies of academic certificates and courses, list of publications, and contact details of two references in a single PDF file to wilfried.elmenreich@aau.at no later than August 25, 2017. Women are especially encouraged to apply.

Wednesday, May 3, 2017

Research Days on Self-Organization and Swarm Intelligence in Cyber Physical Systems

July 10 – 12, 2017
Lakeside Labs
Klagenfurt, Austria

Systems with swarm intelligence consist of a set of agents, with local intelligence, interacting locally. Typically, approaches for swarm intelligence come from biological systems, like ant or bee colony behavior, schooling of fishes, flocking of birds, etc. As the agents follow very simple rules without a central control dictating their activities, the interactions between those agents lead to the emergence of intelligent or complex global behavior. In other words, CPS researchers need to learn how to construct and apply techniques for self- organization and swarm intelligence, their opportunities and challenges.

At the Research Days 2017, a group of international researchers will discuss how this translation between CPS, self-organization, and swarm intelligence can be achieved on a theoretical and practical basis. The Research Days are a regular event concentrating on the core competence of Lakeside Labs - Self-organizing Networked Systems. During this workshop organized by Lakeside Labs GmbH in cooperation with the University of Klagenfurt, international experts devote themselves to a special topic in self-organization. The event is organized as a workshop of several consecutive days in July. It takes place at Lakeside Labs in Klagenfurt am Wörthersee, Austria, near a beautiful lake and Alps scenery. Invited experts, local professors, and young researchers discuss and elaborate ideas in the field of Self-Organizing Systems (SOS). The main emphasis of the workshop is on soliciting discussions and creating new ideas regarding a topic related to self-organizing systems. The event greatly supports scientific exchange, networking, establishment of international collaborations, and joint research projects.

The following video gives a nice impression of the Research Days:
Learn more and registerfor the event at https://researchdays.lakeside-labs.com/

Friday, February 10, 2017

School Kids Rule at Coding Contest

The results from the Advent Programming Contest 2016 made it clear: The next generation of hackers will be awesome!

The front positions are dominated by students from school, who showed great problem-solving skills and also a lot of dedication to apply these skills! Running up are excellent coders from the "other" category, thus (often professional) coders who are not studying in a school or university.

The final ranking is as follows:
RankNameCategorySolved Problems
1Marc Goritschnig school24
2ChristianGubesch school24
3DanielSemmelrock school24
4Simon school24
5jareds other22
6ck127720 other22
7Dieser1Boi other21
8gutblender other20
9nightelf other19
10MichaelGubesch other19
11maahgeh other18
12Matzoer other17
13AugustHoerandl school16
14JoelHolzbauer school16
15Kozeschnik Oskar school16

In overall, we had 175 participants from schools, 105 university students, and 115 in the "other" category.
The awarding ceremony will take place at the beginnig of the new semester as part of the semester opening game night of the IEEE Student Branch Klagenfurt. See you there