TY - INPR A1 - Grapentin, Andreas A1 - Heidler, Kirstin A1 - Korsch, Dimitri A1 - Kumar Sah, Rakesh A1 - Kunzmann, Nicco A1 - Henning, Johannes A1 - Mattis, Toni A1 - Rein, Patrick A1 - Seckler, Eric A1 - Groneberg, Björn A1 - Zimmermann, Florian ED - Hentschel, Uwe ED - Richter, Daniel ED - Polze, Andreas T1 - Embedded operating system projects N2 - In today’s life, embedded systems are ubiquitous. But they differ from traditional desktop systems in many aspects – these include predictable timing behavior (real-time), the management of scarce resources (memory, network), reliable communication protocols, energy management, special purpose user-interfaces (headless operation), system configuration, programming languages (to support software/hardware co-design), and modeling techniques. Within this technical report, authors present results from the lecture “Operating Systems for Embedded Computing” that has been offered by the “Operating Systems and Middleware” group at HPI in Winter term 2013/14. Focus of the lecture and accompanying projects was on principles of real-time computing. Students had the chance to gather practical experience with a number of different OSes and applications and present experiences with near-hardware programming. Projects address the entire spectrum, from bare-metal programming to harnessing a real-time OS to exercising the full software/hardware co-design cycle. Three outstanding projects are at the heart of this technical report. Project 1 focuses on the development of a bare-metal operating system for LEGO Mindstorms EV3. While still a toy, it comes with a powerful ARM processor, 64 MB of main memory, standard interfaces, such as Bluetooth and network protocol stacks. EV3 runs a version of 1 1 Introduction Linux. Sources are available from Lego’s web site. However, many devices and their driver software are proprietary and not well documented. Developing a new, bare-metal OS for the EV3 requires an understanding of the EV3 boot process. Since no standard input/output devices are available, initial debugging steps are tedious. After managing these initial steps, the project was able to adapt device drivers for a few Lego devices to an extent that a demonstrator (the Segway application) could be successfully run on the new OS. Project 2 looks at the EV3 from a different angle. The EV3 is running a pretty decent version of Linux- in principle, the RT_PREEMPT patch can turn any Linux system into a real-time OS by modifying the behavior of a number of synchronization constructs at the heart of the OS. Priority inversion is a problem that is solved by protocols such as priority inheritance or priority ceiling. Real-time OSes implement at least one of the protocols. The central idea of the project was the comparison of non-real-time and real-time variants of Linux on the EV3 hardware. A task set that showed effects of priority inversion on standard EV3 Linux would operate flawlessly on the Linux version with the RT_PREEMPT-patch applied. If only patching Lego’s version of Linux was that easy... Project 3 takes the notion of real-time computing more seriously. The application scenario was centered around our Carrera Digital 132 racetrack. Obtaining position information from the track, controlling individual cars, detecting and modifying the Carrera Digital protocol required design and implementation of custom controller hardware. What to implement in hardware, firmware, and what to implement in application software – this was the central question addressed by the project. N2 - Heutzutage sind eingebettete Systeme allgegenwärtig. Allerdings unterscheiden sie sich in vielen Aspekten von traditionellen Desktop-System – dazu gehören vorhersagbares Zeitverhalten („Echtzeit“), die Verwaltung von knappen Ressourcen (Speicher, Netzwerk), zuverlässige Kommunikationsprotokolle, Energiemanagement, spezialisierte Benutzungsschnittstellen („headless“), Systemkonfiguration, Programmiersprachen (zur Unterstützung von Software-Hardware-Co-Design) und Modellierungstechniken. In diesem technischen Bericht präsentieren die Autoren Ergebnisse aus der Vorlesung „Betriebssysteme für Embedded Computing“, die von der Fachgruppe „Betriebssysteme und Middleware“ am HPI in Wintersemester 2013/14 angeboten wurde. Schwerpunkte der Vorlesung und der begleitenden Projekte waren Prinzipien von Echtzeit-Computing. Die Studenten hatten die Möglichkeit, praktische Erfahrungen mit einer Reihe von verschiedenen Betriebssystemen und Anwendungen zu sammeln und präsentieren ihre Erfahrungen mit hardwarenaher Programmierung. Die Projekte adressieren das gesamte Spektrum von der Bare-Metal-Programmierung über die Nutzung eines Echtzeitbetriebssystem bis zur Anwendung des vollen Software-Hardware-Co-Design-Zyklus‘. Drei herausragende Projekte sind das Herzstück dieses technischen Berichts. Projekt 1 konzentriert sich auf die Entwicklung eines Bare-Metal-Betriebssystems für LEGO Mindstorms EV3. Obwohl es ein Spielzeug ist, kommt es mit einem leistungsstarken ARM-Prozessor, 64 MB Hauptspeicher und Standardschnittstellen wie Bluetooth und einem Netzwerkprotokollstapel. Auf dem EV3 läuft spezielle Linux-Version – die Quellen sind auf der Lego-Website verfügbar. Allerdings sind viele Geräte und deren Treiber-Software urheberrechtlich geschützt und nicht gut dokumentiert. Die Entwicklung eines neuen Bare-Metal-Betriebssystem für den EV3 erfordert ein Verständnis des EV3-Bootvorgangs. Da keine Standard-Ein-/Ausgabegeräte zur Verfügung stehen, sind anfängliche Debug-Schritte mühsam. Nach dem Absolvieren dieser ersten Schritte war das Projekt in der Lage, Gerätetreiber für einige Lego-Geräte anzupassen um einen Demonstrator (die Segway-Anwendung) erfolgreich auf dem neuen Betriebssystem laufen zu lassen. Projekt 2 befasst sich mit dem EV3 aus einer anderen Perspektive. Der EV3 wird mit einer üblichen EV3 Linux-Version betrieben – im Prinzip kann der RT_PREEMPT-Patch jedes Linux-System in ein Echtzeitbetriebssystem verwandeln, indem er das Verhalten einer Anzahl von Synchronisationskonstrukten im Herzen des Betriebssystems anpasst. Priority Inversion ist ein Problem, das durch Protokolle wie Prioritätsvererbung oder Priority Ceiling gelöst wird. Heutige Echtzeit-Betriebssysteme implementieren mindestens eines dieser Protokolle. Die zentrale Idee des Projekts war der Vergleich der Nicht-Echtzeit und Echtzeit-Varianten von Linux auf der EV3-Hardware. Ein Task-Set, das die Auswirkungen der Prioritätsumkehr auf Standard-EV3 Linux zeigt, würde ohne Probleme auf der Linux-Version mit dem RT_PREEMPT-Patch betrieben werden können. Wenn nur das Patchen Lego-Version von Linux war so einfach wäre... Projekt 3 nimmt den Begriff des Echtzeit-Computing ernst. Das Anwendungsszenario wurde um unsere Carrera Digital 132 Bahn angeordnet. Das Sammeln von Positionsinformationen, die Steuerung einzelner Fahrzeuge, die Erfassung und Änderung des Carrera Digital-Protokolls erfordert die Konzeption und Umsetzung von spezialisierter Controller-Hardware. Die zentrale Fragestellung dieses Projekts war, was in Hardware, in Firmware oder in der Anwendungssoftware zu implementieren ist. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 90 KW - Echtzeit KW - eingebettete Systeme KW - Betriebssysteme KW - Erfahrungsbericht KW - LEGO Mindstorms EV3 KW - RT_PREEMT-Patch KW - Carrera Digital D132 KW - real-time KW - embedded systems KW - operating systems KW - experience report KW - LEGO Mindstorms EV3 KW - RT_PREEMT patch KW - Carrera Digital D132 Y1 - 2014 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-69154 SN - 978-3-86956-296-4 SN - 1613-5652 SN - 2191-1665 IS - 90 PB - Universitätsverlag Potsdam CY - Potsdam ER - TY - JOUR A1 - Kreowsky, Philipp A1 - Stabernack, Christian Benno T1 - A full-featured FPGA-based pipelined architecture for SIFT extraction JF - IEEE access : practical research, open solutions / Institute of Electrical and Electronics Engineers N2 - Image feature detection is a key task in computer vision. Scale Invariant Feature Transform (SIFT) is a prevalent and well known algorithm for robust feature detection. However, it is computationally demanding and software implementations are not applicable for real-time performance. In this paper, a versatile and pipelined hardware implementation is proposed, that is capable of computing keypoints and rotation invariant descriptors on-chip. All computations are performed in single precision floating-point format which makes it possible to implement the original algorithm with little alteration. Various rotation resolutions and filter kernel sizes are supported for images of any resolution up to ultra-high definition. For full high definition images, 84 fps can be processed. Ultra high definition images can be processed at 21 fps. KW - Field programmable gate arrays KW - Convolution KW - Signal processing KW - algorithms KW - Kernel KW - Image resolution KW - Histograms KW - Feature extraction KW - Scale-invariant feature transform (SIFT) KW - field-programmable gate array KW - (FPGA) KW - image processing KW - computer vision KW - parallel processing KW - architecture KW - real-time KW - hardware architecture Y1 - 2021 U6 - https://doi.org/10.1109/ACCESS.2021.3104387 SN - 2169-3536 VL - 9 SP - 128564 EP - 128573 PB - Inst. of Electr. and Electronics Engineers CY - New York, NY ER - TY - BOOK A1 - Schwarzer, Ingo A1 - Weiß-Saoumi, Said A1 - Kittel, Roland A1 - Friedrich, Tobias A1 - Kaynak, Koraltan A1 - Durak, Cemil A1 - Isbarn, Andreas A1 - Diestel, Jörg A1 - Knittel, Jens A1 - Franz, Marquart A1 - Morra, Carlos A1 - Stahnke, Susanne A1 - Braband, Jens A1 - Dittmann, Johannes A1 - Griebel, Stephan A1 - Krampf, Andreas A1 - Link, Martin A1 - Müller, Matthias A1 - Radestock, Jens A1 - Strub, Leo A1 - Bleeke, Kai A1 - Jehl, Leander A1 - Kapitza, Rüdiger A1 - Messadi, Ines A1 - Schmidt, Stefan A1 - Schwarz-Rüsch, Signe A1 - Pirl, Lukas A1 - Schmid, Robert A1 - Friedenberger, Dirk A1 - Beilharz, Jossekin Jakob A1 - Boockmeyer, Arne A1 - Polze, Andreas A1 - Röhrig, Ralf A1 - Schäbe, Hendrik A1 - Thiermann, Ricky T1 - RailChain BT - Abschlussbericht N2 - The RailChain project designed, implemented, and experimentally evaluated a juridical recorder that is based on a distributed consensus protocol. That juridical blockchain recorder has been realized as distributed ledger on board the advanced TrainLab (ICE-TD 605 017) of Deutsche Bahn. For the project, a consortium consisting of DB Systel, Siemens, Siemens Mobility, the Hasso Plattner Institute for Digital Engineering, Technische Universität Braunschweig, TÜV Rheinland InterTraffic, and Spherity has been formed. These partners not only concentrated competencies in railway operation, computer science, regulation, and approval, but also combined experiences from industry, research from academia, and enthusiasm from startups. Distributed ledger technologies (DLTs) define distributed databases and express a digital protocol for transactions between business partners without the need for a trusted intermediary. The implementation of a blockchain with real-time requirements for the local network of a railway system (e.g., interlocking or train) allows to log data in the distributed system verifiably in real-time. For this, railway-specific assumptions can be leveraged to make modifications to standard blockchains protocols. EULYNX and OCORA (Open CCS On-board Reference Architecture) are parts of a future European reference architecture for control command and signalling (CCS, Reference CCS Architecture – RCA). Both architectural concepts outline heterogeneous IT systems with components from multiple manufacturers. Such systems introduce novel challenges for the approved and safety-relevant CCS of railways which were considered neither for road-side nor for on-board systems so far. Logging implementations, such as the common juridical recorder on vehicles, can no longer be realized as a central component of a single manufacturer. All centralized approaches are in question. The research project RailChain is funded by the mFUND program and gives practical evidence that distributed consensus protocols are a proper means to immutably (for legal purposes) store state information of many system components from multiple manufacturers. The results of RailChain have been published, prototypically implemented, and experimentally evaluated in large-scale field tests on the advanced TrainLab. At the same time, the project showed how RailChain can be integrated into the road-side and on-board architecture given by OCORA and EULYNX. Logged data can now be analysed sooner and also their trustworthiness is being increased. This enables, e.g., auditable predictive maintenance, because it is ensured that data is authentic and unmodified at any point in time. N2 - Das Projekt RailChain hat einen verteilten Juridical Recorder entworfen, implementiert und experimentell evaluiert, der auf einem echtzeitfähigen verteilten Konsensprotokoll basiert. Dieser Juridical Blockchain Recorder wurde als distributed ledger an Bord des advanced TrainLabs der Deutschen Bahn (ICE-TD 605 017) umgesetzt. Für das Projekt hat sich ein Konsortium aus DB Systel, Siemens, Siemens Mobility, dem Hasso-Plattner-Institut für Digital Engineering, der Technischen Universität Braunschweig, sowie TÜV Rheinland InterTraffic und Spherity formiert und dabei Kompetenzen aus den Bereichen Bahnbetrieb, Informatik und Zulassungswesen gebündelt. Die Partner kombinieren Erfahrungen aus der Industrie und die akademische Forschung mit der Aufbruchstimmung aus dem Start-Up-Umfeld. Distributed-Ledger-Technologien (DLTs) definieren verteilte Datenbanken und stellen ein digitales Protokoll für Transaktionen zwischen Geschäftspartnern dar, ohne dass ein Mittelsmann beteiligt sein müsste. Die Implementierung einer Blockchain mit Echtzeitanforderungen für das lokale Netzwerk einer Eisenbahnanlage (z. B. Stellwerk oder Zug) erlaubt es, die im verteilten System entstehenden Daten nachweislich in Echtzeit zu protokollieren. Dabei können eisenbahnspezifische Randbedingungen ausgenutzt werden, um Standard-Blockchain-Protokolle anzupassen. EULYNX und OCORA (Open CCS On-board Reference Architecture) sind Bestandteile einer zukünftigen europäischen Referenzarchitektur für das Leit- und Sicherungssystem (Reference CCS Architecture – RCA, Control Command and Signalling – CCS). Beide Architekturkonzepte skizzieren herstellerübergreifende, komponentenbasierende heterogene IT-Systeme. Solche Systeme bergen neue Herausforderungen, die bislang im Kontext der zugelassenen, sicherheitsrelevanten Leit- und Sicherungstechnik der Bahn weder strecken- noch fahrzeugseitig adressiert werden mussten. Logbuch-Implementierungen, wie der gängige Juridical Recorder auf Fahrzeugen, können nun nicht mehr als zentrale Systemkomponente eines einzelnen Herstellers umgesetzt werden. Alle zentralisierten Lösungsansätze sind in Frage gestellt. Das mFUND-geförderte Forschungsprojekt erbringt den praktischen Nachweis, dass Zustandsinformationen über eine Vielzahl von Systemkomponenten herstellerübergreifend und gerichtsfest mittels verteilten Konsensprotokollen gespeichert werden können. Ergebnisse von RailChain wurden publiziert, prototypisch implementiert und in großen Feldtests auf dem advanced TrainLab experimentell evaluiert. Gleichzeitig wurde aufgezeigt, wie sich RailChain in den mit OCORA und EULYNX vorgegebenen fahrzeug- und streckenseitigen Architekturentwurf integrieren lässt. Daten können dadurch zeitnaher ausgewertet werden und gleichzeitig wird ihre Vertrauenswürdigkeit erhöht. Dies ermöglicht u. a. nachvollziehbare zustandsorientierte Wartung, denn es kann jederzeit sichergestellt werden, dass die Daten authentisch sind und auch nicht verändert wurden. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 152 KW - Distributed-Ledger-Technologie (DLT) KW - juridical recording KW - Konsensprotokolle KW - consensus protocols KW - Digitalisierung KW - digitalization KW - Bahnwesen KW - railways KW - Blockchain KW - asset management KW - selbstbestimmte Identitäten KW - self-sovereign identity KW - dezentrale Identitäten KW - decentral identities KW - überprüfbare Nachweise KW - verifiable credentials KW - Echtzeit KW - real-time KW - Standardisierung KW - standardization KW - Verlässlichkeit KW - dependability KW - Fehlertoleranz KW - fault tolerance Y1 - 2023 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-577409 SN - 978-3-86956-550-7 SN - 1613-5652 SN - 2191-1665 IS - 152 PB - Universitätsverlag Potsdam CY - Potsdam ER -