OSTRICH - A Safe Template Language for Low-code Development
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.
In this talk we introduce 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.
Hugo Lourenço is an Computer Engineering @ IST alumnus, where he graduated in 1997.
He has been at software engineering positions for most of his career. He joined OutSystems in 2005, where he currently is a Principal Research Engineer. His main responsibilities center around the definition and evolution of the OutSystems language’s metamodel.
OutSystems has for long kept a strong research partnership with NOVA LINCS, and Hugo has been a member of the research teams for most of that time.