Concepts: linguistic support for generic programming in C++
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Templatable metamodels for semantic variation points
ECMDA-FA'07 Proceedings of the 3rd European conference on Model driven architecture-foundations and applications
Enhancing UML extensions with operational semantics behaviored profiles with templates
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Artifact or process guidance, an empirical study
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Genericity for model management operations
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
Generic programming is a field of computer science which consists in defining abstract and reusable representations of efficient data structures and algorithms. In popular imperative languages, it is usually supported by a template-like notation, where generic elements are represented by templates exposing formal parameters. Defining such generic artifacts may require defining constraints on the actual types that can be provided in a particular substitution. UML 2 templates support two mechanisms for expressing such constraints. Unfortunately, the UML specification provides very few details on their usage. The purpose of our article is to provide such details with regard to one of these constraining mechanisms (namely, "substitutable constraining classifiers") as well as modeling patterns inspired by practices from generic programming.