TY - GEN
T1 - DeepRuby: Extending Ruby with Dual Deep Instantiation
AU - Neumayr, Bernd
AU - Schütz, Christoph Georg
AU - Horner, Christian
AU - Schrefl, Michael
PY - 2017/9
Y1 - 2017/9
N2 - Clabjects, the central construct of multi-level modeling, overcome the strict separation of class and object in conceptual modeling. Ruby, a dynamic object-oriented programming language, similarly treats classes as objects and thus appears as a natural candidate for implementing clabject-based modeling constructs. In this paper we introduce DeepRuby, a Ruby implementation of the core constructs of Dual Deep Instantiation: clabject hierarchies and attributes with separate source potency and target potency. DeepRuby represents clabjects at two layers: the clabject layer and the clabject facet layer. At the clabject facet layer, a clabject with maximum source potency i-1 and maximum target potency j-1 is represented by a matrix of i × j clabject facets organized using Ruby’s superclass and eigenclass constructs. Clabject facets can easily be extended with behaviour implemented in custom methods.
Keywords: Multilevel Modeling, Deep Metamodeling, Programming Languages, Ruby, Object-oriented Programming
AB - Clabjects, the central construct of multi-level modeling, overcome the strict separation of class and object in conceptual modeling. Ruby, a dynamic object-oriented programming language, similarly treats classes as objects and thus appears as a natural candidate for implementing clabject-based modeling constructs. In this paper we introduce DeepRuby, a Ruby implementation of the core constructs of Dual Deep Instantiation: clabject hierarchies and attributes with separate source potency and target potency. DeepRuby represents clabjects at two layers: the clabject layer and the clabject facet layer. At the clabject facet layer, a clabject with maximum source potency i-1 and maximum target potency j-1 is represented by a matrix of i × j clabject facets organized using Ruby’s superclass and eigenclass constructs. Clabject facets can easily be extended with behaviour implemented in custom methods.
Keywords: Multilevel Modeling, Deep Metamodeling, Programming Languages, Ruby, Object-oriented Programming
UR - http://www.dke.jku.at/research/publications/index.xq
M3 - Conference proceedings
VL - 2019
T3 - CEUR Workshop Proceedings
SP - 252
EP - 260
BT - Proc. of the 4th International Workshop on Multi-Level Modelling (MULTI 2017), MODELS Satellite Events, September 17-22, 2017, Austin, Texas, USA
CY - Online: http://ceur-ws.org/Vol-2019/multi_7.pdf
ER -