This is the web site of System Designer and DSPE

System Designer is a software framework for developing domain-specific languages based on model-driven code-generation techniques.

The Digital Stream-Processing Environment (DSPE) is a development environment featuring a visual domain-specific language for designing and implementing stream-processing and signal-processing applications. DSPE has been developed with System Designer and supports multi-core processors and hardware accelerators.

System Designer

The Institute for Information Systems and Networking (ISIN) at the University of Applied Sciences of Southern Switzerland (SUPSI) performs applied research in the field of development tools for domain-specific applications by using component-based and model-driven code-generation techniques.

System Designer is a framework developed at ISIN, that provides functionality and abstractions for creating domain-specific models and source-code generators. The main goal of System Designer is to provide innovative solutions for software prototyping and software customization.

System Designer is composed of plug-ins for the development platform Eclipse and is based on EMF, GMF, and GEF, which are the core Eclipse’s infrastructure for building domain-specific languages. System Designer also integrates with CDT and JDT, with the purpose of allowing the generation and development of source code in C, C++ and Java in an integrated development environment.

System Designer supports DSLs in various application domains, including audio signal processing, video processing and scientific simulation.

System Designer

System Designer exploits the following development techniques:

  • Model-driven development: is a technique that focuses on using high-level abstract models for designing and implementing applications. In model-driven development, models are used to store abstract information, which is managed and used by automatic procedures for creating and evolving applications.
  • Source-code generation: is a software development approach focusing on automatic processes for source-code production. Its origins come from compiler technology, but today is extensively used in domain-specific development tools.
  • Component-based development: structural and behavioural parts of code are managed as black boxes and combined for composing software applications. Software parts are components if they fully encapsulate functionality, if they agree to standard communication interfaces, and if they are independently deployable.

System Designer is released under the EPL.