OSTRICH - A Safe Template Language for Low-code DevelopmentP&I
Low-code platforms aim at allowing non-experts to develop complex systems and knowledgeable developers to improve their productivity in orders of magnitude. The greater gain comes from (re)using components developed by experts capturing common patterns across all layers of the application, from the user interface to the data layer and integration with external systems. Often, cloning sample code fragments is the only alternative in such scenarios, requiring extensive adaptation to reach the intended use. Such customization activities require deep knowledge outside of the comfort zone of low-code. To effectively speed up the reuse, composition, and adaptation of pre-defined components, low-code platforms need to provide safe and easy-to-use language mechanisms.
This paper introduces OSTRICH, a strongly-typed rich templating language for a low-code platform (OutSystems) that builds on metamodel annotations and allows the correct instantiation of templates. We conservatively extend the existing metamodel and ensure that the resulting code is always well-formed. The results we present include a novel type safety verification of template definitions, and template arguments, providing model consistency across application layers. We implemented this template language in a prototype of the OutSystems platform and ported nine of the top ten most used sample code fragments, thus improving the reuse of professionally designed components.
Wed 13 OctDisplayed time zone: Osaka, Sapporo, Tokyo change
18:00 - 19:00 | Modeling Languages ITechnical Papers at Room 1 Chair(s): Benoit Combemale University of Rennes; Inria; IRISA | ||
18:00 20mTalk | Pragmatic Reuse in DSML DevelopmentJ1ST Technical Papers | ||
18:20 20mTalk | Spectra: A Specification Language for Reactive SystemsJ1ST Technical Papers Link to publication DOI | ||
18:40 20mFull-paper | OSTRICH - A Safe Template Language for Low-code DevelopmentP&I Technical Papers Hugo Lourenço OutSystems SA, Carla Ferreira NOVA School of Science and Technology, João Costa Seco NOVA LINCS -- Universidade Nova de Lisboa |