Performance Study and Analysis of Time Sensitive Networking

Abstract:
Modern technology requires reliable, fast, and cheap networks as a background for the data transmission.
Among many available solutions, switched Ethernet combined with Time Sensitive Networking (TSN) standard
excels because it provides high bandwidth and real-time characteristics by utilizing low-cost hardware. For
the industry to acknowledge this technology, extensive performance studies need to be conducted, and this
thesis provides one. Concretely, the thesis examines the performance of two amendments IEEE 802.1Qbv and
IEEE 802.1Qbu that are recently appended to the TSN standard. The academic community understands the
potential of this technology, so several simulation frameworks already exist, but most of them are unstable
and undertested. This thesis builds on top of existent frameworks and utilizes the framework developed in
OMNeT++. Performance is analyzed through several segregated scenarios and is measured in terms of end-to-end
transmission latency and link utilization. Attained results justify the industry interest in this technology
and could lead to its greater representation in the future.

Abstract:
The demand for computing power and performance in real-time embedded systems is continuously increasing,
since new customer requirements and more advanced features are appearing every day. To support these
functionalities and handle them in a more efficient way, multi-core computing platforms are introduced.
These platforms allow for a parallel execution of tasks on multiple cores, which in addition to its benefits
to the system’s performance, introduces a major problem regarding the timing predictability of the system.
That problem is reflected in unpredictable inter-core interferences, which occur due to shared resources
among the cores, such as the system bus. This thesis investigates the application of different optimization
techniques for the offline scheduling of tasks on the individual cores, together with a global scheduling
policy for the access to the shared bus. The main effort of this thesis focuses on optimizing the inter-core
data propagation delays which can provide a new way for creating optimized schedules. For that purpose,
Constraint Programming optimization techniques are employed and a Phased Execution Model of the tasks is
assumed. Also, in order to enforce end-to-end timing constraints that are imposed on the system, job-level
dependencies are generated prior, and subsequently applied during the scheduling procedure. Finally, an
experiment with a large number of test cases is conducted to evaluate the performance of the implemented
scheduling approach. The obtained results show that the method is applicable for a wide spectrum of abstract
systems with variable requirements, but also open for further improvement in several aspects.

09:55 - 10:40

DVA428

Creation of a Technology Independent Design Flow

Anton Urvantsev
Advisor: Nils Muellner
Examiner: Cristina Seceleanu

Abstract:
Modern embedded systems development poses new challenges to a designer due to the global reachability of the
contemporary market. One product shipped to different countries or customers should satisfy varying
conditions, standards and constraints. Variability of a developed system should be taken into account by a
designer. In a case of the embedded heterogeneous systems, this problem becomes challenging. Along with the
variability heterogeneity of a system introduces new tasks, which should be addressed during design process.
In this work, we propose a technology independent design flow. The proposed solution is supported by
state-of-the-art tools and takes into account variability, partitioning, interfacing and dependency
resolving processes. This thesis is conducted as a case study. We explored a design process of an industrial
project, identified existing challenges and drawbacks in the existing solutions. We propose a new approach
to a design flow of heterogeneous embedded systems. Also, a tool, supporting the presented solution, is
implemented, which would allow a developer to include this approach into everyday design flow in order to
increase a development speed and enable a task automation.

10:45 - 11:30

DVA428

Mapping HW Resource Usage Towards SW Performance

Benjamin Suljević
Advisor: Jakob Danielsson
Examiner: Moris Behnam

Abstract:
"With the software applications increasing in complexity, description of hardware is becoming
increasingly relevant. To ensure the quality of service for specific applications, it is imperative to have
an
insight into hardware resources. Cache memory is used for storing data closer to the processor needed for
quick access and improves the quality of service of applications. The description of cache memory usually
consists of the size of different cache levels, set associativity, or line size. Software applications would
benefit more from a more detailed model of cache memory.
In this thesis, we offer a way of describing the behavior of cache memory which benefits software
performance.
Several performance events are tested, including L1 cache misses, L2 cache misses, and L3 cache misses. With
the collected information, we develop performance models of cache memory behavior. Goodness of fit is tested
for these models and they are used to predict the behavior of the cache memory during future runs of the
same
application.
Our experiments show that L1 cache misses can be modeled to predict the future runs. L2 cache misses model
is
less accurate but still usable for predictions, and L3 cache misses model is the least accurate and is not
feasible to predict the behavior of the future runs."

11:35 - 12:20

DVA503

DECISION-MAKING FOR AUTONOMOUS CONSTRUCTION VEHICLES

Abstract:
Autonomous driving requires tactical decision-making while navigating in a dynamic shared space environment.
The complexity and uncertainty in this process arise due to unknown and tightly-coupled interaction among
traffic users. This thesis work formulates an unknown navigation problem as a Markov decision process (MDP),
supported by models of traffic participants and user space. Instead of modeling a traditional MDP, this work
formulates a Multi-policy decision making (MPDM) in a shared space scenario (pedestrian and vehicle). The
employed model enables unified and robust self-driving of the ego vehicle by selecting a desired policy of
along the pre-planned path. Obstacle avoidance is coupled within the navigation module performing a detour
off
the planned path obtains a reward on task completion and penalizes for collision with others. In addition to
this, the thesis work is further extended by analyzing the real-time constraints of the proposed model. The
performance of the implemented framework is evaluated in a simulation environment on a typical construction
(quarry) scenario. The effectiveness and efficiency of the choice policy to verify the desired behavior of
the
autonomous vehicle.

12:25 - 14:10: LUNCH BREAK

Room 1 • 14:15-16:40

Design of a multi-camera system for object identification, localisation, and visual servoing

Ulrik Åkesson
Advisor: Fredrik Ekstrand
Examiner: Mikael Ekström

Abstract:
"In this thesis, the development of a stereo camera system for an intelligent tool is presented. The
task of the system is to identify and localise objects so that the tool can guide a robot.
Different approaches to object detection have been implemented and evaluated and the systems ability to
localise objects has been tested. The results show that the system can achieve a localisation accuracy below
5 mm."

15:05 - 15:50

DVA502

Real-Time Pupillary Analysis By Intelligent Embedded System

Abstract:
With no online pupillary analysis methods today, both the medical and the research fields are left to carry
out a lengthy, manual and often faulty examination. A real-time, intelligent, embedded systems solution to
pupillary analysis would help reduce faulty diagnosis, speed-up the analysis procedure by eliminating the
human expert operator and in general, provide a versatile and highly adaptable research tool. Therefore,
this thesis has sought to investigate, develop and test possible system designs for pupillary analysis, with
the aim for caffeine detection. A pair of LED manipulator glasses have been designed to standardize the
illumination method across testing. A data analysis method of the raw pupillary data has been established
offline and then adapted to a real-time platform. ANN was chosen as classification algorithm. The accuracy
of the ANN from the offline analysis was 94% while for the online classification the obtained accuracy was
17%. A real-time data communication and synchronization method has been developed. The resulting system
showed reliable and fast execution times. Data analysis and classification took no longer than 2ms, faulty
data detection showed consistent results. Data communication suffered no message loss. In conclusion, it is
reported that a real-time, intelligent, embedded solution is feasible for pupillary analysis.

15:55 - 16:40

DVA502

AUTOMATED TESTING OF ROBOTIC SYSTEMS IN SIMULATED ENVIRONMENTS

Abstract:
With the simulations tools available today, simulation can be utilised as a platform for more advanced
software testing. By introducing simulations to software testing of robot controllers, the motion
performance testing phase can begin at an earlier stage of development. This would benefit all parties
involved with the robot controller. Testers at ABB would be able to include more motion performance tests to
the regression tests. Also, ABB could save money by adapting to simulated robot tests and customers would be
provided with more reliable software updates. In this thesis, a method is developed utilising simulations to
create a test set for detecting motion anomalies in new robot controller versions. With auto-generated test
cases and a similarity analysis that calculates the Hausdorff distance for a test case executed on
controller versions with an induced artificial bug. A test set has been created with the ability to detect
anomalies in a robot controller with a bug.

Soft Migration from Traditional to Software Defined Networks

Abstract:
The concept of Software Defined Networking (SDN) may be a way to face the fast growing computer network
infrastructure with its demands and requirements. The concept is attracting the interest of enterprises to
expand their respective network infrastructures, but one has to consider the impacts of migrating from an
existing network infrastructure to an SDN network. One way that could minimize the impacts is to proceed a
soft migration from a traditional IP network to SDN, creating what is so called a heterogeneous network.
Instead of fully replacing the network infrastructure and face the impacts of it, the idea of the soft
migration is to replace a part of it with an environment of SDN and examine the performance of it. This
thesis
work will analyse the performance of a network consisting of a traditional IP network combined with SDN. It
is
essential during this work to identify the differences in performance when having a heterogeneous network in
comparison with having a dedicated traditional IP network. Therefore, the questions that will be addressed
during this thesis work is to examine how such a heterogeneous network can be designed and measure the
performance of it in terms of throughput, jitter and packet losses. By the method of experimentation and the
studying of related works of the SDN fundamentals, we hope to achieve our goals with this thesis work, to
give
us and the reader a clearer insight.

Abstract:
Wireless communication between nodes is achieved by sending data over the wireless medium. In order to have
communications interact different standards have been developed. One such standard is 802.15.4 with UWB PHY,
designed such that the signal transmission becomes interference-resistant and invisible to other standards.
UWB is often used for location and positioning, but the standard design also allows for a contemporary data
transfer. However, it was unclear with what performance this could be implemented. Therefore, the data
communication performance has been investigated. The hypothesis that was followed during the work posits
that
''by sending data between the positioning pulses, the use of the same unit for positioning and data
communication is made possible, and that the system's performance is then affected by the MAC method.''
Three
questions arose from this hypothesis. Which MAC method is suitable for both positioning and data transfer?
Is
it possible to use the system for both positioning and data transmission by sending data between the
positioning pulses? What communication performance can be achieved when the system is used for both
positioning and data transfer? In this work the hypothesis and the research questions are verified with the
intended purpose that it could be of help in the field of robotics and also as an alternative to WiFi, due
to
UWBs robustness and invisibility characteristics. An iterative process has been utilized throughout this
work
to build a system which could solve the combined positioning and data communication. In the following
performance tests the hypothesis is verified, provided that the parameters used are correct.

Abstract:
"In the wireless computer networks of today, there is a
limitation on how wireless access points handle bandwidth distribution
to wireless nodes, both in Software Defined Networking (SDN) solutions
and in traditional networks with routers and switches. The limitation is
the lack of control of the node bandwidth usage. Quality of Service
exists, but it limits the bandwidth on the access point or the switch
and not on the node itself. Thus, when several nodes connect to a single
wireless access point, they compete for bandwidth, and therefore there
is a need to allocate bandwidth to the nodes directly. Through the use
of SDN, it would be possible to make this dynamic access control work
with rapidly changing networks, both wired and wireless. This thesis is
a proof of concept with actual hardware, and answers the question on how
we can implement dynamic bandwidth allocation in a heterogeneous network
with SDN and how to make it dynamic with the adding and removal of
nodes. The solution achieves the dynamic bandwidth allocation by running
a program in parallel to the SDN controller together with additional
software on the nodes. The solution makes it possible to share the
bandwidth between nodes and through priorities manipulate how much of
the total bandwidth each node receives in comparison to the other nodes.
The measured results show that the program has a manageable overhead and
works with several nodes. The thesis aims to widen the view on viable
SDN approaches and inspire future research on wireless SDN solutions."

10:00 - 10:30

DVA333

Designing a lab assignment for studying real-time embedded systems

Abstract:
Embedded systems are all around us in the modern world and continue to evolve as time passes. Therefore, it
is
important to keep the knowledge in the ﬁeld evolving, and education is a big part of it. This thesis focuses
on how to design a lab assignment for a course about embedded systems with the stress on networking.
Embedded
systems have reliability and timeliness requirements, which will have to be accounted for when designing the
network of the system. The work started with a literature study of communication protocols and how they
support the requirements imposed by the embedded systems. Using this knowledge hardware was evaluated and
chosen. With the lab assignment in mind, Arduino Zero was chosen as the platform as well as three network
modules: Wi-Fi, Bluetooth and Zigbee. The hardware was used to implement a simple embedded system consisting
of two nodes: a sensor node and a controller node. The sensor node sends the data to the controller which
then
acts upon the data. Three program were written, each with its own communication solution (time-triggered,
event-triggered and a hybrid solution) and then tested in diﬀerent environments. From the results of the
tests, guidelines were formulated about how to design an assignment and what hardware to use. A general
guideline was also created describing a lab assignment step by step. We recommended switching the platform
from Arduino Zero to Arduino Uno to reduce the amount of workarounds needed to get the system running.
Having
more than one communication protocol also proved valuable since the students could show their knowledge by
argumenting for their choice of protocol.

10:35 - 11:05

DVA333

Impact of using cloud-based SDN controllers on the network performance

Abstract:
Software-Defined Networking (SDN) is a network architecture that differs from traditional network planes.
SDN
has tree layers: infrastructure, controller, and application. The goal of SDN is to simplify management of
larger networks by centralizing control into the controller layer instead of having it in the
infrastructure.
Given the known advantages of SDN networks, and the flexibility of cloud computing. We are interested if
this
combination of SDN and cloud services affects network performance, and what affect the cloud providers
physical location have on the network performance. These points are important when SDN becomes more popular
in
enterprise networks. This seems like a logical next step in SDN, centralizing branch networks into one
cloud-based SDN controller. These questions were created with a literature studies and answered with an
experimentation method. The experiments consist of two network topologies both locally hosted SDN (baseline)
and cloud hosted SDN. The topology used Zodiac FX switches and Linux hosts. The following metrics was
measured: throughput, latency, jitter, packet loss, and time to add new hosts. The conclusion is that SDN as
a
cloud service is possible and does not significantly affect network performance. One limitation with this
thesis was the hardware, resulting in big fluctuation in throughput and packet loss.

11:10 - 11:40

DVA333

Efficient patch management/Effektiv patchhantering

Magnus Karlsson
Advisor: Stefan Löfgren
Examiner: Mats Björkman

Abstract:
Organizations are exposed to constant security threats from the internet and penetration tests reveal just
how
vulnerable networks are when software and hardware patching aren’t up to date. Patch Management is the field
in which anything related to patching of software and other various equipment falls under. As of today,
Patch
Management faces great challenges and the purpose of this study is to understand how the process can be made
more efficient. Historically, a common issue has been the number of patch releases, which has made it
cumbersome for organizations to stay up to date. Standardization bodies, such as IEC and NIST recommend that
patches are tested in test environments before being installed to the production environment, to make sure
no
unintended consequences arise from faulty patches. Through interviews with professionals working in Patch
Management, it became clear that there are ways to stay up to date, but partly through disregarding
recommended best practice. Automated tools ease the Patch Management process to great extents but there are
still areas that remain non-automated. The testing process has been largely ignored by organizations whose
networks are connected to the internet, because said process is much too inefficient. Their answer to the
problem of staying up to date is to solve problems quickly that arise through faulty patching, rather than
test patches over longer periods of time. Their reasoning being that leaving known vulnerabilities unpatched
is more damaging to the network.

DESIGNING A HUMAN CENTERED INTERFACE FOR A NOVEL AGRICULTURAL MULTI-AGENT CONTROL SYSTEM

Abstract:
"The subject of this report is The Command and Control (CaCS) system which is a component
whose purpose is to simplify planning, scheduling and surveying work done on a farm in a goal
oriented way. CaCS is part of a larger project, the Aggregate Farming in the Cloud platform
(AFarCloud), whose purpose is to simplify the use of contemporary technology to increase the
efficiency of farms. AFarCloud is an EU project spanning between 2018 to 2020 and as such, the
CaCS is in it’s infancy. Since the intended users of AFarCloud and CaCS is small to medium
sized agricultural businesses, the interface of the CaCS should be constructed in such a way that
it is useful and easy to learn. In order to live up to those standards, a combination of live
interviews, prototype evaluations and a comparison with similar software was performed and then
compared with the International Standard document on Human-Centered Design for Interactive
Systems (ISO 9241-210). The results indicate that a modular interface, where only the information
relevant for the unique user’s farm is displayed, is preferable in order to increase the usability of
the CaCS. Furthermore, use of icons and explanatory text must be made in consideration of the
mental models of the users in order to improve learnability and avoid confusion."

Abstract:
Brain-computer interfaces (BCIs) enables direct communication between a brain and a computer by recording
and analyzing a subject’s neural activity in real-time. Research in BCI that classifies motor imagery (MI)
activities are common in the literature due to its importance and applicability, e.g., stroke
rehabilitation. Electroencephalography (EEG) is often used as the recording technique because its
non-invasive, portable and have a relatively low cost. However, an EEG recording returns a vast number of
features which must be reduced to decrease the computational time and complexity of the classifier. For this
purpose, feature selection is often applied. In this study, a multiobjective evolutionary algorithm (MOEA)
was used as feature selection in a high spatial and temporal feature set to (1) compare pairwise
combinations of different objectives, (2) evaluate the relationship between the specific objective pair and
their relation to model prediction accuracy, (3) compare multiobjective optimization versus a corresponding
linear combination. The results show that correlation feature selection (CFS) obtained the best performance
between the evaluated objectives which were also more optimized than a linear combination when classified
with support vector machine (SVM).

10:00 - 10:30

DVA331

MEASURING TEST COVERAGE IN EMBEDDED SOFTWARE DEVELOPMENT BRANCHES

Abstract:
Most of the hardware products today, especially those that people interact with, are controlled by software.
There are many devices with inbuilt software which many people do not bother to notice. Software may be
critical in terms of strict quality requirements due to failures which enable risks of endangering the
production and more importantly the lives of people. The testing team of Westermo Network Technologies AB
faced a challenge with not being able to identify the coverage of tested cases in software. Identifying the
coverage of total executed test cases enables the possibility of knowing the potential future quality of a
software. By reaching such a stage a software will likely not suffer from failures due to higher quality,
therefore the lives of people and the production at stake will not get harmed. The essential problem is that
test cases are both tested and skipped, which makes it more difficult for the company to identify what has
been actually tested and skipped. The purpose of this thesis is to identify and calculate the coverage of
test cases, the process was mainly to understand the essence in the identification of executed test cases.
The ethical aspect of putting people's lives at stake is what inspired us to investigate software failures.
Software is typically tested before a release, therefore our investigation was to research testing process
of software. When investigating test result over many days and test systems we developed a coverage
calculator system which helps Westermo to decide and determine the release of tested software, either the
software test result is acceptable for a release or not.

10:35 - 11:05

DVA331

Measuring Situation Awareness in Mixed Reality Simulations

Viking Forsman
Advisor: Rikard Lindell
Examiner: Gabriele Capannini

Abstract:
"Off-highway vehicle, such as excavators and forklifts, are heavy machines that are capable of causing
harm to humans or damage property. Therefore, it is necessary to be able to develop interfaces for these
kind of vehicles that can aid the operator to maintain a high level of situational awareness. How the
interface affects the operators’ situational awareness is consequently an important metric to measure when
evaluating the interface. Mixed reality simulators can be used to both develop and evaluate such interfaces
in an immersive and safe environment.

In this thesis we investigated how to measure situational awareness in a mixed-reality off-highway vehicle
simulation scenario, without having to pause the scenario, by cross-referencing logs from the virtual
environment and logs from the users' gaze position. Our method for investigating this research question was
to perform a literature study and a user test. Each participant in the user test filled out a SART
post-simulation questionnaire which we then compared with our measurement system. "

Abstract:
"A key factor of software architecting is decision-making process. All phases of software development
contain some kind of decision-making activities. However, the software architecture decision process is the
most challenging part. To support decision-making process a research project named ORION provided a
knowledge repository that contain a collection of decision cases. To utilize the collected data in an
efficient way, eliciting correlations between decision cases needs to be automated.
The objective of this thesis is to select appropriate method(s) for automatically detecting correlations
between decision cases. To do this, an experiment was conducted using a dataset of collected decision cases
that are based on a taxonomy called GRADE. The dataset is stored in the Neo4j graph database. Neo4j platform
provide a library of graph algorithms, which allow to analyse a number of relationships between connected
data. In this experiment the Similarity algorithms is used to find correlated decisions, and to analyse
results a Community detection algorithm is used. Some Similarity algorithms gave many groups of correlated
decision cases where each group consisted of few cases, while other the algorithms gave the opposite
result."