Model-Based Techniques and Tools for Programming Embedded Multicore Platforms

Model-Based Techniques and Tools for Programming Embedded Multicore Platforms

Konstantin Nedovodeev (St. Petersburg State University of Aerospace Instrumentation, Russia), Yuriy Sheynin (St. Petersburg State University of Aerospace Instrumentation, Russia), Alexey Syschikov (St. Petersburg State University of Aerospace Instrumentation, Russia), Boris Sedov (St. Petersburg State University of Aerospace Instrumentation, Russia), Vera Ivanova (St. Petersburg State University of Aerospace Instrumentation, Russia) and Sergey Pakharev (St. Petersburg State University of Aerospace Instrumentation, Russia)
DOI: 10.4018/978-1-7998-1974-5.ch005

Abstract

The chapter considers VIPE development environment with the main emphasis on its formal ground. The detailed description of a formal VIPE model of computation (MoC) and the semantics of language constructs let the reader reason about the behavior of the constructs in question. The authors propose a rigorous description of program transformations applied to the program while it is compiled. The program after all the transformations is a correct one from the view of the host MoC. Its behavior meets the programmer's expectations even when it includes fragments, which belong to a guest MoC. Techniques for translation of the guest MoC (OpenVX) constructs into the host MoC (VIPE) constructs were proposed. The approach described here leads to the end program that is fully conformant to the host MoC. In addition, the whole toolset is at the programmer's disposal, namely visual editor, compiler, runtime, and analysis tools. They stay applicable to the program, some parts of which are now guest MoC constructs.
Chapter Preview
Top

Background

A visual approach has a long history and has wide support by large players in software development tools, such as Mathworks (Simulink), National Instruments (LabVIEW), Esterel technologies (SCADE) etc. These systems are essentially similar in the main reason for using visual programming approach: make it easier for experts to develop high-quality software in limited time with reasonable resources.

However, these systems have key drawbacks for embedded software programming. Parallel programs which are not model-based ones lack quality and correctness. The aforementioned model-based development environments (MDE) are limited (Simulink) or unable (others) to provide software performance analysis, which is a significant part of embedded systems development. They are closed systems and give no convenient ways for creation of domain-specific languages or libraries. SCADE is the MDE most adapted to the embedded software design. The final stage of the development process is the generation of a C-code, which is not hardware-specific.

Complete Chapter List

Search this Book:
Reset