2021 · 12 citations · 9 references
ComputingComputer ScienceSystems EngineeringProgramming LanguagesSoftware EngineeringSystems ArchitectureComponent-based Software EngineeringSoftware ArchitectureSoftware DesignSoftware ModelingType CheckingType SystemsConsistencyCustomizationLow-code DevelopmentMetamodel ReuseModel Consistency CheckingModule InstantiationSafety VerificationType Safety
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.
9
Template meta-programming for Haskell
Tim Sheard, Simon Peyton Jones · 2002 · 548 citations
A modal analysis of staged computation
Rowan Davies, Frank Pfenning · Journal of the ACM · 2001 · 300 citations
James Cheney, Ralf Hinze · eCommons (Cornell University) · 2003 · 180 citations · Full text
Enforcing strict model-view separation in template engines
Terence Parr · 2004 · 137 citations