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.

DSPE model

Depending on the type of installation and configuration of DSPE you have done, you’ll be able to instantiate and work with different DSPE model elements. Instantiation of DSPE elements is done through the New Definition wizard accessible through the toolbar and the menus of the System Designer perspective.


Categories of DSPE Definitions

DSPE provides following main categories of model elements (Definitions):

  • Units are the main family of software components of DSPE. For each unit it is possible to specify the external connectivity (by adding Gates) and the internal behavior (by referencing a UnitBehaviour or a Structure).
  • Gates are used to specify the connectivity provided by units and other model elements. Gates provide a customizable type system you can define to design your application.
  • Behaviours (for Units or Runners) are used to specify the way Units and other components are implemented. They are templates that can be extended by specifying algorithms and internal states associated with each software component. The information specified in the various Behaviours is used when executing the different life-cycle phases of the application.
  • Structures are used to aggregate and connect software components. They also provide several ways to specify the order of processing of components.
  • Runners are top-level containers of components. They represents the executable entities of the DSPE model.

DSPE sub-models

DSPE is composed of the following sub-models:

  • Ground: provides the simplest and fundamental elements of DSPE. Its allow building very essential applications.
  • Extension: contains all the support to compose the software components of DSPE into complex aggregates. It also provides flexible versions of Gates for the type system and all the support for parallel processing on multi processors and chip-level multi processors.
  • GUI: contains all model elements required to build Graphical User Interfaces to drive and control the execution of the applications. The generated GUIs are built with the WxWidgets framework.
  • GP: provides the infrastructure to execute the software components on GPGPUs, generates source code in C for CUDA and OpenCL (experimental support).
  • VS: contains all model elements specialized to the design and implementation of audio plugins (experimental support).

Ground support for stream processing

  • StandardGate
  • StringGate
  • SoftwareUnit
  • Configuration
  • Sequence
  • Requirement
  • CImplementation and CBlockOptimization
  • Application
  • RunnerBehaviour

Support for composition

  • Composite
  • WrapImplementation and WrapBlockOptimization

Support for event-driven execution

  • SignalGate
  • EventGate
  • StringMessageGate
  • StateImplementation
  • StateBlockOptimization
  • Scheduler

Support for flexible type system

  • PointerGate
  • CustomGate
  • MessageGate
  • CustomEventGate

Support for parallel processing

  • CoprocImplementation
  • CoprocBlockOptimization
  • CoprocScheduler

Support for GUIs

  • GUIApplication
  • CustomRepresentation

Support for GPGPUs

  • GPImplementation and GPBlockOptimization

Support for audio plugins

  • VSApplication
  • VSGUIApplication
  • VSUnit
  • PluginManager