80 research outputs found
Language Design for Reactive Systems: On Modal Models, Time, and Object Orientation in Lingua Franca and SCCharts
Reactive systems play a crucial role in the embedded domain. They continuously interact with their environment, handle concurrent operations, and are commonly expected to provide deterministic behavior to enable application in safety-critical systems. In this context, language design is a key aspect, since carefully tailored language constructs can aid in addressing the challenges faced in this domain, as illustrated by the various concurrency models that prevent the known pitfalls of regular threads. Today, many languages exist in this domain and often provide unique characteristics that make them specifically fit for certain use cases. This thesis evolves around two distinctive languages: the actor-oriented polyglot coordination language Lingua Franca and the synchronous statecharts dialect SCCharts. While they take different approaches in providing reactive modeling capabilities, they share clear similarities in their semantics and complement each other in design principles. This thesis analyzes and compares key design aspects in the context of these two languages. For three particularly relevant concepts, it provides and evaluates lean and seamless language extensions that are carefully aligned with the fundamental principles of the underlying language. Specifically, Lingua Franca is extended toward coordinating modal behavior, while SCCharts receives a timed automaton notation with an efficient execution model using dynamic ticks and an extension toward the object-oriented modeling paradigm
Compositional temporal analysis method for fixed priority pre-emptive scheduled modal stream processing applications
Modal real-time stream processing applications often contain cyclic dependencies and are typically executed on multiprocessor systems with processor sharing. Most real-time operating system kernels for these systems support Static Priority Pre-emptive (SPP) scheduling, however there is currently no suitable temporal analysis technique available for this type of systems.\ud
\ud
In this paper, we present a compositional temporal analysis approach for modal and cyclic stream processing applications executed on SPP scheduled multiprocessor systems. In this approach, locks and barriers are added such that the temporal behavior of modes can be characterized independently. As a result, the composition of modes does not change their characterization. This enables the use of an existing Structured Variable-Rate Phased Dataflow (SVPDF) model based dataflow analysis technique to determine the worst-case temporal behavior. The SVPDF model and the parallel implementation including locks and barriers are generated by a multiprocessor compiler. \ud
\ud
The applicability of the analysis approach is demonstrated using a WLAN 802.11p application. Conditions under which pipelined execution can be achieved are identified. The analysis results are verified with a dataflow simulator that supports sharing of resources
Bridging formal models : an engineering perspective
The thesis presents different techniques that can be used to build formal behavioral models. If modal properties are formulated, the models can be subjected to verification techniques to determine whether a model possesses the desired properties. However many native environments do not facilitate tools or techniques to verify them. Hence, these models need to be transformed into other models that provide suitable techniques for a formal analysis. The transformations are classified into two engineering approaches, namely syntactically engineered models and semantically engineered models. Syntactically engineered models are constructed from input specifications without explicitly considering the semantics. Semantically engineered models are constructed from input specifications by explicitly considering the semantics. The syntactic engineering approach presents four dedicated modeling techniques that construct or disseminate verification results for formal models. The first modeling technique describes a way to create models from system descriptions that specify concurrent behavior. Here, we model three variations of a 2×2 switch, for which the models are subsequently compared to models created in the specification languages: TLA+, Bluespec, Statecharts, and ACP. The comparison validates that mCRL2 is a suitable specification language to model descriptions or specify the behavior for prototype systems. The second syntactic technique constructs an mCRL2 model from a software implementation that operates a printer for printing Printed Circuit Boards. The model is used to advise (other) software engineers on dangerous language constructs in the control software. Hence, the model is model checked for various safety properties. The implementation is modeled through an over-approximation on the behavior by abstracting from program variables, such that only interface calls between processes and non-deterministic choices in procedures remain. The third modeling technique describes a language transformation from the language Chi 2.0 language to the mCRL2 language. The purpose of the transformation is to facilitate model checking techniques to the discrete part of the Chi 2.0 language
Beyond key velocity: Continuous sensing for expressive control on the Hammond Organ and Digital keyboards
In this thesis we seek to explore the potential for continuous key position to be
used as an expressive control in keyboard musical instruments, and how preexisting
skills can be adapted to leverage this additional control. Interaction between
performer and sound generation on a keyboard instrument is often restricted
to a number of discrete events on the keys themselves (notes onsets and
offsets), while complementary continuous control is provided via additional interfaces,
such as pedals, modulation wheels and knobs. The rich vocabulary of
gestures that skilled performers can achieve on the keyboard is therefore often
simplified to a single, discrete velocity measurement. A limited number of acoustical
and electromechanical keyboard instruments do, however, present affordances
of continuous key control, so that the role of the key is not limited to delivering
discrete events, but its instantaneous position is, to a certain extent, an element of
expressive control. Recent evolutions in sensing technologies allow to leverage continuous
key position as an expressive element in the sound generation of digital
keyboard musical instruments.
We start by exploring the expression available on the keys of the Hammond
organ, where nine contacts are closed at different points of the key throw for each
key onset and we find that the velocity and the percussiveness of the touch affect
the way the contacts close and bounce, producing audible differences in the onset
transient of each note.
We develop an embedded hardware and software environment for low-latency
sound generation controlled by continuous key position, which we use to create
two digital keyboard instruments. The first of these emulates the sound of a Hammond
and can be controlled with continuous key position, so that it allows for
arbitrary mapping between the key position and the nine virtual contacts of the
digital sound generator. A study with 10 musicians shows that, when exploring
the instrument on their own, the players can appreciate the differences between
different settings and tend to develop a personal preference for one of them. In the
second instrument, continuous key position is the fundamental means of expression:
percussiveness, key position and multi-key gestures control the parameters
of a physical model of a flute. In a study with 6 professional musicians playing
this instrument we gather insights on the adaptation process, the limitations of the
interface and the transferability of traditional keyboard playing techniques
Dynamic contracts for verification and enforcement of real-time systems properties
Programa de Doutoramento em Informática (MAP-i) das Universidades do Minho, de Aveiro e do PortoRuntime veri cation is an emerging discipline that investigates methods and tools to enable
the veri cation of program properties during the execution of the application. The goal is
to complement static analysis approaches, in particular when static veri cation leads to
the explosion of states. Non-functional properties, such as the ones present in real-time
systems are an ideal target for this kind of veri cation methodology, as are usually out of
the range of the power and expressiveness of classic static analyses.
Current real-time embedded systems development frameworks lack support for the veri -
cation of properties using explicit time where counting time (i.e., durations) may play an
important role in the development process. Temporal logics targeting real-time systems
are traditionally undecidable. Based on a restricted fragment of Metric temporal logic with
durations (MTL-R), we present the proposed synthesis mechanisms 1) for target systems
as runtime monitors and 2) for SMT solvers as a way to get, respectively, a verdict at
runtime and a schedulability problem to be solved before execution. The later is able to
solve partially the schedulability analysis for periodic resource models and xed priority
scheduler algorithms. A domain speci c language is also proposed in order to describe
such schedulability analysis problems in a more high level way.
Finally, we validate both approaches, the rst using empirical scheduling scenarios for unimulti-
processor settings, and the second using the use case of the lightweight autopilot
system Px4/Ardupilot widely used for industrial and entertainment purposes. The former
also shows that certain classes of real-time scheduling problems can be solved, even though
without scaling well. The later shows that for the cases where the former cannot be used,
the proposed synthesis technique for monitors is well applicable in a real world scenario
such as an embedded autopilot
ight stack.A verificação do tempo de execução e uma disciplina emergente que investiga métodos e ferramentas para permitir a verificação de propriedades do programa durante a execução da aplicação. O objetivo é complementar abordagens de analise estática, em particular quando a verificação estática se traduz em explosão de estados. As propriedades não funcionais, como as que estão presentes em sistemas em tempo real, são um alvo ideal para este tipo de metodologia de verificação, como geralmente estão fora do alcance do poder e expressividade das análises estáticas clássicas.
As atuais estruturas de desenvolvimento de sistemas embebidos para tempo real não possuem suporte para a verificação de propriedades usando o tempo explicito onde a contagem de tempo (ou seja, durações) pode desempenhar um papel importante no processo de desenvolvimento. As logicas temporais que visam sistemas de tempo real são tradicionalmente indecidíveis. Com base num fragmento restrito de MTL-R (metric temporal logic with durations), apresentaremos os mecanismos de síntese 1) para sistemas alvo como monitores de tempo de execução e 2) para solvers SMT como forma de obter, respetivamente, um veredicto em tempo de execução e um problema de escalonamento para ser resolvido antes da execução. O ultimo é capaz de resolver parcialmente a analise de escalonamento para modelos de recursos periódicos e ainda para algoritmos de escalonamento de prioridade fixa. Propomos também uma linguagem especifica de domínio para descrever esses mesmos problemas de analise de escalonamento de forma mais geral e sucinta.
Finalmente, validamos ambas as abordagens, a primeira usando cenários de escalonamento empírico para sistemas uni- multi-processador e a segunda usando o caso de uso do sistema de piloto automático leve Px4/Ardupilot amplamente utilizado para fins industriais e de entretenimento. O primeiro mostra que certas classes de problemas de escalonamento em tempo real podem ser solucionadas, embora não seja escalável. O ultimo mostra que, para os casos em que a primeira opção não possa ser usada, a técnica de síntese proposta para monitores aplica-se num cenário real, como uma pilha de voo de um piloto automático embebido.This thesis was partially supported by National Funds through FCT/MEC (Portuguese
Foundation for Science and Technology) and co- nanced by ERDF (European Regional
Development Fund) under the PT2020 Partnership, within the CISTER Research Unit
(CEC/04234); FCOMP-01-0124-FEDER-015006 (VIPCORE) and FCOMP-01-0124-FEDER-
020486 (AVIACC); also by FCT and EU ARTEMIS JU, within project ARTEMIS/0003/2012,
JU grant nr. 333053 (CONCERTO); and by FCT/MEC and the EU ARTEMIS JU within
project ARTEMIS/0001/2013 - JU grant nr. 621429 (EMC2)
The auditory centre : research and design of acoustic environments and spatial sound projects
Design culture is tentatively embracing the acoustic conditions and auditory awareness of spaces and objects, thus creating new opportunities for spatial sound practitioners. This thesis examines the making of seven spatial sound design projects in diverse milieux and an eighth project - the establishment of an electroacoustic studio within a school of architecture and design. The projects and the studio are considered models for the ways in which electroacoustic practices might advance the auditory spatial awareness of students and researchers in the academy, and the general community through an interlocking program of teaching, research and events. The creation of the projects and establishment of the studios also articulate a transformation in my own practice from composer to design researcher. Five of the projects are intended to engender in listeners a greater awareness of the acoustic environment and the auditory spatial qualities of those environments, which listeners daily inhabit. Supporting these project studies is a discussion on issues and conditions of making and materials to elucidate my approach to creating spatial sound designs in diverse milieux. Two of the projects investigated the auditory spatial awareness of different communities in Melbourne, with the view of establishing ideas about the auditory culture and the actual environments of that experience. The final project is a facility to house a community of practitioners who aspire to privilege the auditory design and experience of space, through a series of research, teaching and performance activities. While evaluating just how my practice transformed over the course of the projects, I also propose that the combination of the Studio's main elements is critical to the advancement of sound-based research and design as a design discipline. Note to audio and visual materials - This thesis was accompanied by a custom-built multi-channel sound playback environment using Max/MSP and Flash. For further details on this player and Quicktime files, contact [email protected]
- …