109 research outputs found

    Synchron - An API and Runtime for Embedded Systems

    Get PDF
    Programming embedded systems applications involve writing concurrent, event-driven and timing-aware programs. Traditionally, such programs are written in low-level machine-oriented programming languages like C or Assembly. We present an alternative by introducing Synchron, an API that offers high-level abstractions to the programmer while supporting the low-level infrastructure in an associated runtime system and one-time-effort drivers.Embedded systems applications exhibit the general characteristics of being (i) concurrent, (ii) I/O–bound and (iii) timing-aware. To address each of these concerns, the Synchron API consists of three components - (1) a Concurrent ML (CML) inspired message-passing concurrency model, (2) a message-passing–based I/O interface that translates between low-level interrupt based and memory-mapped peripherals, and (3) a timing operator, syncT, that marries CML’s sync operator with timing windows inspired from the TinyTimber kernel.We implement the Synchron API as the bytecode instructions of a virtual machine called SynchronVM. SynchronVM hosts a Caml-inspired functional language as its frontend language, and the backend of the VM supports the STM32F4 and NRF52 microcontrollers, with RAM in the order of hundreds of kilobytes. We illustrate the expressiveness of the Synchron API by showing examples of expressing state machines commonly found in embedded systems. The timing functionality is demonstrated through a music programming exercise. Finally, we provide benchmarks on the response time, jitter rates, memory, and power usage of the SynchronVM

    Functional Programming for Embedded Systems

    Get PDF
    Embedded Systems application development has traditionally been carried out in low-level machine-oriented programming languages like C or Assembler that can result in unsafe, error-prone and difficult-to-maintain code. Functional programming with features such as higher-order functions, algebraic data types, polymorphism, strong static typing and automatic memory management appears to be an ideal candidate to address the issues with low-level languages plaguing embedded systems. However, embedded systems usually run on heavily memory-constrained devices with memory in the order of hundreds of kilobytes and applications running on such devices embody the general characteristics of being (i) I/O- bound, (ii) concurrent and (iii) timing-aware. Popular functional language compilers and runtimes either do not fare well with such scarce memory resources or do not provide high-level abstractions that address all the three listed characteristics. This work attempts to address this gap by investigating and proposing high-level abstractions specialised for I/O-bound, concurrent and timing-aware embedded-systems programs. We implement the proposed abstractions on eagerly-evaluated, statically-typed functional languages running natively on microcontrollers. Our contributions are divided into two parts - Part 1 presents a functional reactive programming language - Hailstorm - that tracks side effects like I/O in its type system using a feature called resource types. Hailstorm’s programming model is illustrated on the GRiSP microcontroller board.Part 2 comprises two papers that describe the design and implementation of Synchron, a runtime API that provides a uniform message-passing framework for the handling of software messages as well as hardware interrupts. Additionally, the Synchron API supports a novel timing operator to capture the notion of time, common in embedded applications. The Synchron API is implemented as a virtual machine - SynchronVM - that is run on the NRF52 and STM32 microcontroller boards. We present programming examples that illustrate the concurrency, I/O and timing capabilities of the VM and provide various benchmarks on the response time, memory and power usage of SynchronVM

    Temporal Logic with Recursion

    Get PDF
    We introduce extensions of the standard temporal logics CTL and LTL with a recursion operator that takes propositional arguments. Unlike other proposals for modal fixpoint logics of high expressive power, we obtain logics that retain some of the appealing pragmatic advantages of CTL and LTL, yet have expressive power beyond that of the modal ?-calculus or MSO. We advocate these logics by showing how the recursion operator can be used to express interesting non-regular properties. We also study decidability and complexity issues of the standard decision problems

    Pattern-based prediction of islanded power grid frequency

    Get PDF
    As part of achieving the climate goals from the Paris Agreement set by a united world community, the transition from non-renewable energy sources and electrification of transport and industrial sectors is central. The power grid faces new challenges as emerging renewable energy sources such as solar and wind fluctuate more than the more controllable traditional coal, gas, oil, and hydropower. In addition to more fluctuations on the supply side, an increase in emerging consumers like electric cars and data centers strengthens the need for good tools to maintain grid stability. Therefore, forecasting models and analysis to investigate both large and decentralized power systems’ dynamics are necessary to maintain control and reliability. Expanding upon a pattern-based prediction model called the Weighted-nearest neighbors (WNN) predictor, this thesis investigates the predictability of the power grid frequency for different European islanded power grids through several approaches. The selected islands include Ireland, the Balearic Islands, Iceland, and the Faroe Islands, with the Nordic region as a basis for comparison. The WNN predictor is successfully applied to all regions and performs 60 min predictions better than average daily profiles except for Iceland with its stochastic behavior. The Balearic Islands are the most deterministic region with precise predictions, while Ireland performs slightly worse than the Nordic region. The Faroe Islands exhibit similar performance to Iceland, but with significantly less data available. With varying population and geographical size, the regions cover the range of possible future grids, consisting of larger synchronous areas to small, isolated island systems and microgrids. All regions exclusively show that predictions improve with more data available. The predictor outperforms daily profiles with about a month of data available and with even less for more predictable regions. When electricity generation time series are included in an extended model approach, the performance slightly increases for parts of the predicted hour for several features, despite low time resolution and partially poor quality of the additional data. This suggests that there is further information to be gleaned from other power grid time series to improve the prediction of the power grid frequency.Som et ledd i å nå klimamålene fra Parisavtalen satt av et samlet verdenssamfunn, står overgangen fra ikke-fornybare energikilder og elektrifisering av transport- og industrisektorer sentralt. Kraftnettet står overfor nye utfordringer ettersom økende kraftproduksjon fra fornybare energikilder som sol og vind varierer mer enn regulerbare tradisjonelle kilder som kull, gass, olje og vannkraft. I tillegg til mer uregulerbar kraftproduksjon, styrkes behovet for gode verktøy for å opprettholde nettstabilitet gjennom blant annet økende energibehov til elbiler og satsning på̊ datasentre. Derfor er prognosemodeller og analyser for å undersøke både store og desentraliserte kraftsystemers dynamikk nødvendig for å videreføre kontroll og pålitelighet. Denne oppgaven tar utgangspunkt i, samt modifiserer, en eksisterende mønsterbasert prediksjonsmodell kalt Weighted-nearest neighbors (WNN), og undersøker hvorvidt strømnettets frekvens for ulike europeiske øybaserte strømnett er predikerbar. Oppgaven tar for seg øyene Irland, Balearene, Island og Færøyene, med Norden som sammenligningsgrunnlag. 60 min predikeringer med WNN-modellen gir bedre resultater enn gjennomsnittlig daglige frekvensprofiler for alle undersøkte regioner, bortsett fra Island med sine stokastiske trekk. Balearene er den mest deterministiske regionen med presise prediksjoner, mens Irland presterer litt dårligere enn nokså̊ gjennomsnittlige Norden. For Færøyene vises lignende resultater som Island, men med betydelig mindre data tilgjengelig. Med varierende befolkning og geografisk størrelse er regionene en naturlig representasjon av framtidens potensielle kraftsystemer som kan variere fra kontinentale synkronområder til små̊, isolerte øysystemer og mikronett. Alle regioner viser utelukkende at prediksjoner forbedres med mer tilgjengelig data. Generelt predikerer WNN-modellen bedre enn gjennomsnittlig daglige frekvensprofiler fra og med omtrent én måned med data tilgjengelig, og med enda mindre data for de mest predikerbare regionene. Til slutt inkluderes data for elektrisitetsproduksjon fra ulike energikilder i en utvidet versjon av modellen, og forbedrer resultatet for deler av den predikerte timen ytterligere, til tross for lav tidsoppløsning og delvis dårlig kvalitet på̊ produksjonsdataen. Dette tyder på̊ at det er ytterligere informasjon å hente fra annen kraftnettrelatert data for å forbedre prediksjonen av strømnetts frekvens.M-M

    Code Generation and Global Optimization Techniques for a Reconfigurable PRAM-NUMA Multicore Architecture

    Full text link

    SCCharts: Language and Interactive Incremental Compilation

    Get PDF
    Safety-critical systems are a subclass of reactive systems, a dominating class of computer systems these days. Such systems control the airbags in our cars, the flaps of an aircraft, nuclear power plants or pace makers. Software for these systems must be reliable. Hence, a language and tooling is needed that allows to build and maintain reliable software models. Furthermore, a reliable compiler is required to obtain decent machine-understandable and executable code from highly abstract models. This thesis presents SCCharts, a Statecharts-based synchronous and visual modeling language for specifying and designing safety-critical systems and for deriving their implementations. It elaborates on why a control-flow oriented and synchronous language is desirable and how incremental language features are chosen to flatten learning curve. It presents an interactive incremental model transformation based compilation approach termed SLIC. It shows how SLIC helps in supporting both, the modeler and the tool smith for building reliable models and maintaining a reliable compiler, respectively. A SLIC-based compiler for SCCharts including its high-level model transformations is presented. Furthermore, practicality aspects of the KIELER SCCharts language and tooling implementation complete the considerations to validate the proposed approach.Sicherheitskritische Systeme sind eine Unterklasse von reaktiven Systemen, welche heutzutage eine der wichtigsten und größten Klasse von Computersystemen darstellt. Solche Systeme kontrollieren die Airbags unserer Autos, die Landeklappen eines Passagierflugzeugs, Kernkraftwerke oder Herzschrittmacher. Software für solche Systeme muß absolut zuverlässig sein. Daher werden Computersprachen und Werkzeuge benötigt, die es erlauben, zuverlässige Softwaremodelle zu erstellen und zu warten. Weiterhin braucht es zuverlässige Kompiler, die aus solchen abstrakten Modellen korrekten maschinenlesbaren und ausführbaren Code erzeugen. Mit SCCharts präsentiert diese Arbeit eine zustandsmaschinenbasierte und synchrone Modellierungssprache für den Entwurf und zur Implementierung sicherheitskritischer Systeme. Es wird betrachtet, warum sich dafür eine kontrollflußorientierte und synchrone Sprache besonders gut eignet und welche Wahl inkrementeller Sprachbestandteile die Lernkurve senken können. Die Arbeit zeigt, wie ein als SLIC bezeichneter, interaktiver, inkrementeller und auf Modelltransformationen basierender Kompilierungsansatz sowohl dem Modellierer dabei helfen kann, zuverlässige Modelle zu erstellen, als auch den Werkzeugentwickler darin unterstützt, einen zuverlässigen Kompiler bereit zu stellen. Es wird ein auf SLIC basierender SCCharts Kompiler inklusive seiner high-level Modelltransformationen vorgestellt. Weiterhin wird der vorgestellte Ansatz mit Hilfe der beispielhaft umgesetzten KIELER SCCharts Sprach- und Werkzeugimplementierung auf seine Praktikabilität hin überprüft

    Inter-destination Multimedia Synchronization: A Contemporary Survey

    Get PDF
    The advent of social networking applications, media streaming technologies, and synchronous communications has created an evolution towards dynamic shared media experiences. In this new model, geographically distributed groups of users can be immersed in a common virtual networked environment in which they can interact and collaborate in real- time within the context of simultaneous media content consumption. In this environment, intra-stream and inter-stream synchronization techniques are used inside the consumers’ playout devices, while synchronization of media streams across multiple separated locations is required. This synchronization is nown as multipoint, group or Inter-Destination Multimedia Synchronization (IDMS) and is needed in many applications such as social TV and synchronous e-learning. This survey paper discusses intraand inter-stream synchronization issues, but it mainly focuses on the most well-known IDMS techniques that can be used in emerging distributed multimedia applications. In addition, it provides some research directions for future work
    • …
    corecore