10. Result
• Klepsydra
‘absorbs’ and
delivers all
messages from
middleware.
• Performance
can significantly
increase
Klepsydra Abstraction Layer
Application 1 Application 2
Blocking queues
Disruptor
11. One step further: unit testing
framework
Mock Middleware
Klepsydra Abstraction Layer
Application 1
12. Code Generation Tool
• Generates POCOs (Plan Old
C++ Object, which are
classes with no
dependencies to any library)
to be used in Klepsydra
• Generates the mapping
classes between Klepsydra
and all middleware (ROS,
DDS, ZMQ)
15. The Application API
• Typical async API:
• publish, registerListener, etc.
• Plus some ‘sugar’
• registerOnce, callback, etc
• And some performance
• publishNoCopy, Process and forward, etc.
Klepsydra Abstraction Layer
Application 1
17. The assembly API
• Creation wizard for
• eventloop, blocking queues, disruptor
• Including performance param like object pool, etc.
• Connection wizard to middleware:
• ROS, DDS, ZMQ
• Including performance param like object pool, etc.
• Also, assembly with event loop, blocking queues and disruptor
19. •Faster and higher resolution image processing.
•Requirements for hardware are less demanding
as resources are optimised.
•Hardware costs are then reduced as well.
•Longer life of satellites and space robots
1. Performance
On-board
Hardware resources
High performance
tuning
&
Image processing
module
+ =
On-board
Hardware resources
22. • The code is thoroughly tested and has higher
quality.
• Less maintenance costs and
• Safer and reliable continuous deployments.
2. Testing and CI
Source code
Target
23. Example
• Real example of
Gamesa/Siemens
Drones
• 4 Testing Phases
• With this approach,
more than 95% of
bugs are found
before reaching
production.
1. Unit Tests 2. Integration Tests
3. Simulation 4. Real scenario Tests
24. Conclusions
The adoption of Klepsydra as development
framework for embedded software leads not only
to high performance and quality, but more
importantly to system predictability which a key
feature in robotics and aerospace sectors.
High performance
Predictablity
+
29. Product Licensing Model
The business model is 'Freemium' based:
• Free version: free for prototype and non-
commercial development, research centres and
universities.
• Reduced pricing model for startups.
• Commercial version: development license
based on number of developer stations.