Advanced

The Design and Implementation of Bloqqi - A Feature-Based Diagram Programming Language

Fors, Niklas LU (2016)
Abstract
This dissertation presents the design and implementation of a new block diagram programming language, Bloqqi, for building control systems with focus on variability. The language has been developed in collaboration with industry with the goal of reducing engineering time and improving reuse of functionality.

When building a control system for a plant, there are typically different variants of the same base functionality. A plant may have several variants of a tank, for example, one variant with heating and another one without. This dissertation presents novel language mechanisms for describing this kind of variability, based on diagram inheritance. For instance, Bloqqi supports specifying what features, like heating, the base... (More)
This dissertation presents the design and implementation of a new block diagram programming language, Bloqqi, for building control systems with focus on variability. The language has been developed in collaboration with industry with the goal of reducing engineering time and improving reuse of functionality.

When building a control system for a plant, there are typically different variants of the same base functionality. A plant may have several variants of a tank, for example, one variant with heating and another one without. This dissertation presents novel language mechanisms for describing this kind of variability, based on diagram inheritance. For instance, Bloqqi supports specifying what features, like heating, the base functionality can have. These specifications are then used to automatically derive smart-editing support in the form of a feature-based wizard. In this wizard, the user can select what features the base functionality should have, and code is generated corresponding to these features. The new language mechanisms allow feature-based libraries to be created and extended in a modular way.

This dissertation presents techniques for implementing rich graphical editors with smart editing support based on semantic analysis. A prototype compiler and graphical editor have been implemented for the language, using the semantic formalism reference attribute grammars (RAGs). RAGs allow tools to share the semantic specifications, which makes it possible to modularly extend the compiler with support for advanced semantic feedback to the user of the graphical editor. (Less)
Please use this url to cite or link to this publication:
author
supervisor
opponent
  • Professor Mark van den Brand, Eindhoven University of Technology, the Netherlands
organization
publishing date
type
Thesis
publication status
published
subject
pages
140 pages
defense location
Lecture hall E:1406, E-building, Ole Römers väg 3, Lund University, Faculty of Engineering
defense date
2016-10-21 13:15
ISBN
978-91-7623-998-8
language
English
LU publication?
yes
id
7d8f27de-3dd1-4a14-8fbf-a86523d01ec0
date added to LUP
2016-09-23 14:18:24
date last changed
2016-09-29 10:34:59
@phdthesis{7d8f27de-3dd1-4a14-8fbf-a86523d01ec0,
  abstract     = {This dissertation presents the design and implementation of a new block diagram programming language, Bloqqi, for building control systems with focus on variability. The language has been developed in collaboration with industry with the goal of reducing engineering time and improving reuse of functionality.<br/><br/>When building a control system for a plant, there are typically different variants of the same base functionality. A plant may have several variants of a tank, for example, one variant with heating and another one without. This dissertation presents novel language mechanisms for describing this kind of variability, based on diagram inheritance. For instance, Bloqqi supports specifying what features, like heating, the base functionality can have. These specifications are then used to automatically derive smart-editing support in the form of a feature-based wizard. In this wizard, the user can select what features the base functionality should have, and code is generated corresponding to these features. The new language mechanisms allow feature-based libraries to be created and extended in a modular way.<br/><br/>This dissertation presents techniques for implementing rich graphical editors with smart editing support based on semantic analysis. A prototype compiler and graphical editor have been implemented for the language, using the semantic formalism reference attribute grammars (RAGs). RAGs allow tools to share the semantic specifications, which makes it possible to modularly extend the compiler with support for advanced semantic feedback to the user of the graphical editor. },
  author       = {Fors, Niklas},
  isbn         = {978-91-7623-998-8},
  language     = {eng},
  month        = {09},
  pages        = {140},
  school       = {Lund University},
  title        = {The Design and Implementation of Bloqqi - A Feature-Based Diagram Programming Language},
  year         = {2016},
}