Programming Language Technology for Niche Platforms

Tero Hasu

Abstract

Developers writing software for a niche platform are denied the luxury of a first-class vendor-supported integrated development environment and a large community crafting platform-tailored libraries, tools, and documentation. I outline a strategy for setting up a cross-platform software product line with cost-effective targeting of niche platforms in mind.

The product line setup strategy assumes little tool support from the platform vendor or third parties, instead relying on a suitably-designed, malleable general-purpose programming language for the necessary support. The required language support includes: program translation into the relevant vendor-favored languages; human-comprehensible translator output to allow for basic debugging irrespective of available tools; a component system for managing software assets and assembling products; static reasoning of facts about whole programs for the benefit of configuration management and building; and modifiability of the language from within (and perhaps also from without), to allow for purpose-oriented variability, and low-threshold implementation of abstractions over platform and product-line specific idioms.

I present a collection of technologies aimed at implementing such programming languages, and show a number of ways to apply such languages in ways that suit the niche platform application product line scenario. I use smartphone operating systems as an example platform ecosystem, and focus on error handling and prevention as an example concern that poses reuse, integration, and configuration management challenges in multi-platform codebases.

BibTeX

@phdthesis{hasu-2017-programming,
  author =       {Tero Hasu},
  title =        {Programming Language Technology for Niche Platforms},
  school =       {University of Bergen},
  year =         2017,
  address =      {Norway},
  month =        mar,
  isbn =         {978-82-308-3113-7}
}

Scribble

(define hasu-2017-programming
  (make-bib
   #:title "Programming Language Technology for Niche Platforms"
   #:author (authors "Tero Hasu")
   #:date "2017"
   #:location (dissertation-location
     #:institution "University of Bergen")))

Publication Details

ISBN
978-82-308-3113-7
Digital publication
http://hdl.handle.net/1956/15648
  • black and white
Author's edition
thesis
  • with light colors, hyperlinks, other minor editing
Presentation
slides
Software
https://bldl.ii.uib.no/software/pltnp
Press release
Verktøy for å programmere uten plattformdiskriminering (in Norwegian)