Domain-specific languages for embedded systems portable software development

Author(s):  
Vera Ivanova ◽  
Boris Sedov ◽  
Yuriy Sheynin ◽  
Alexey Syschikov
Author(s):  
Kostas Kolomvatsos ◽  
George Valkanas ◽  
Petros Patelis ◽  
Stathes Hadjiefthymiades

An important challenge in software development is to have efficient tools for creating, debugging, and testing software components developed for specific business domains. This is more imperative if it is considered that a large number of users are not familiar with popular programming languages. Hence, Application Creation Environments (ACEs) based on specific Domain-Specific Languages (DSLs) can provide an efficient way for creating applications for a specific domain of interest. The provided ACEs should incorporate all the functionality needed by developers to build, debug, and test applications. In this chapter, the authors present their contribution in this domain based on the experience of the IPAC system. The IPAC system provides a middleware and an ACE for developing and using intelligent, context-aware services in mobile nodes. The chapter fully describes the ACE, which is a key part of the overall architecture. The ACE provides two editors (textual, visual), a wide functionality spectrum, as well as a debugger and an application emulator. The ACE is based on an Application Description Language (ADL) developed for IPAC. The ADL provides elements for the description of an application workflow for embedded systems. Through such functionality, developers are capable of efficiently creating and testing applications that will be deployed on mobile nodes.


Author(s):  
Kostas Kolomvatsos ◽  
George Valkanas ◽  
Petros Patelis ◽  
Stathes Hadjiefthymiades

An important challenge in software development is to have efficient tools for creating, debugging, and testing software components developed for specific business domains. This is more imperative if it is considered that a large number of users are not familiar with popular programming languages. Hence, Application Creation Environments (ACEs) based on specific Domain-Specific Languages (DSLs) can provide an efficient way for creating applications for a specific domain of interest. The provided ACEs should incorporate all the functionality needed by developers to build, debug, and test applications. In this chapter, the authors present their contribution in this domain based on the experience of the IPAC system. The IPAC system provides a middleware and an ACE for developing and using intelligent, context-aware services in mobile nodes. The chapter fully describes the ACE, which is a key part of the overall architecture. The ACE provides two editors (textual, visual), a wide functionality spectrum, as well as a debugger and an application emulator. The ACE is based on an Application Description Language (ADL) developed for IPAC. The ADL provides elements for the description of an application workflow for embedded systems. Through such functionality, developers are capable of efficiently creating and testing applications that will be deployed on mobile nodes.


2012 ◽  
Vol 22 ◽  
pp. 126-133
Author(s):  
J. Guadalupe Ramos-Díaz ◽  
Isela Navarro ◽  
Josep Silva ◽  
Gustavo Arroyo

Requirements elicitation is concerned with learning and understanding the needs of users w.r.t. a new software development. Frequently the methods employed for requirements elicitation are adapted from areas like social sciences that do not include executable (prototype based on) feedback. As a consequence, it is relatively common to discover that the first release does not fit the requirements defined at the beginning of the project. Using domain-specific languages (DSLs) as an auxiliary tool for requirements elicitation is a commonly well accepted idea. Unfortunately, there are few works in the literature devoted to the definition of design principles for DSLs to be experienced in the frameworks for DSL developing such as ANTLR, Ruby, and Curry. We propose design principles for the DSL development (regardless of paradigm) which are sufficient to model the domain in a requirements phase. Further more we enunciate a new profile for the requirements analyst and a set of elicitation steps. The use of DSLs not only giveus an immediate feedback with the stake holders; it also allows us to produce part of the real code.


2018 ◽  
Vol 18 (4) ◽  
pp. 2507-2530 ◽  
Author(s):  
Markus Voelter ◽  
Bernd Kolb ◽  
Klaus Birken ◽  
Federico Tomassetti ◽  
Patrick Alff ◽  
...  

Author(s):  
Alexey Syschikov ◽  
Yuriy Sheynin ◽  
Boris Sedov ◽  
Vera Ivanova

Nowadays embedded systems are used in a broad range of domains such as avionics, space, automotive, mobile, domestic appliances etc. Sophisticated software determines the quality of embedded systems and requires high-qualified experts for software development. Software becomes the main assert of embedded systems that is valuable to retain in changing computing platforms in embedded systems evolution. Computing platforms for embedded systems became multicore processors and SoC, they can change in the embedded system lifetime that could be long (dozen of years for an automobile and airplane). It requires software porting to new platforms as a regular process. Many tools and approaches allow developing of software for domain area experts, but mainly for general-purpose computing systems. In this paper the authors present the complex technology and tools that allows involving domain experts in software development for embedded systems. The proposed technology has various aspects and abilities that can be used to build verifiable and portable software for a wide range of embedded platforms.


2018 ◽  
pp. 133-144
Author(s):  
A. Yu. Syschikov ◽  
B. N. Sedov ◽  
Yu. E. Sheynin

Different classes of problems on the embedded systems market and its needs make manufacturers of embedded systems to design heterogeneous many/multi core hardware platforms. Such platforms includes dozens of different cores: CPU, GPU, DSP, FPGA etc. That makes them incredibly hard to program, especially in case when domain experts are involved in the development process. Usually, domain expert has knowledge in his domain area, but does not fully understand the specificity of programming for heterogeneous manycore platforms. In this article, we propose the complex technology and tools that allows involving domain experts in software development for embedded systems. The proposed technology has various aspects and abilities that can be used to build verifiable and portable software for a wide range of heterogeneous embedded platforms.


2015 ◽  
Vol 50 (2) ◽  
pp. 23-34
Author(s):  
T. Stephen Strickland ◽  
Brianna M. Ren ◽  
Jeffrey S. Foster

2020 ◽  
Vol 4 (OOPSLA) ◽  
pp. 1-29
Author(s):  
Michael Ballantyne ◽  
Alexis King ◽  
Matthias Felleisen

Sign in / Sign up

Export Citation Format

Share Document