PRINGL is a domain-specific, visuo-textual language used for programming incentives for socio-technical systems (e.g., social-computing, crowdsourcing, SCUs, HDA-CAS). It fosters a modular approach in composing incentive elements that promotes code reusability and uniformity of incentives, helping cut down development and adjustment time, and creating a basis for development of standardized but tweakable incentives. This in turn leads to more transparency for workers and creates a basis for an incentive uniformity across companies; a necessary precondition for worker reputation transfer.

Pringl architecture and usage

As PRINGL's design is currently under submission, this page currently serves as a placeholder hosting the supplement materials and links to the source code.

Supplement materials

Please note that PRINGL is being actively developed. Some of the implemented components have been developed as demonstration prototypes at this point and therefore offer only a subset of the presented functionality. Specifically, at the moment of writing not all metamodel constraints have been fully implemented. Also, the implemented code generator functionality currently lacks implementation of all operators and certain advanced functionalities.

Implementation

PRINGL is implemented in Microsoft Modeling SDK for Visual Studio 2013 (link).

  • Metamodel: 
    • Source code for the language metamodel is available here.
    • Screenshot (PDF, XPS)
  • PRINGL Visual Studio IDE
    • Source code of the Visual Studio project launching a new Experimental instance of Visual Studio for PRINGL projects is is available here.
  • "Rotating Presidency" example

Rotating presidency example

Background Work

  • PRINGL original paper (WISE'14) (PDF)
  • PRINC paper (CAiSE'13) (PDF)
  • Survey of Incentive Mechanisms (Comm. ACM) (PDF)