Aggregate Callback - A Design Pattern for Flexible and Robust Runtime Model Building

Gábor Kövesdán, Márk Asztalos, László Lengyel

Abstract

In modern software engineering environments, tools that use Domain-Specific Languages (DSLs) are often applied. The usual workflow of such tools is that the textual input written in the DSL is parsed and a semantic model is instantiated. This model is later passed to another software component that processes it, e.g. a model transformation, a code generator or a simulator. Building the semantic model inside the parser is often a complex task. The model must be built in such a way that the constraints of the problem domain are enforced so that the consistency of the output is guaranteed. This paper presents a design pattern, referred as Aggregate Callback that supports enforcing constraints in the model and thus helps creating correct models. We have found that the Aggregate Callback pattern is useful for tool developers that build models in their applications.

References

  1. Brambilla, M., Cabot, J., Wimmer, M., 2012. Model-Driven Software Engineering in Practice. Morgan and Claypool.
  2. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M., 1996. Pattern-Oriented Software Architecture Volume 1: A System of Patterns. Wiley.
  3. Buschmann, F., Henney, K., Schmidt, D.C., 2007a. Pattern-Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing. Wiley.
  4. Buschmann, F., Henney, K., Schmidt, D.C., 2007b. Pattern Oriented Software Architecture Volume 5: On Patterns and Pattern Languages. Wiley.
  5. Fowler, M., 2010. Domain-Specific Languages. AddisonWesley.
  6. Gamma, E., Helm, R., Johnson, R., Vlissides, J., 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
  7. Kelly, S., Tolvanen, J., 2008. Domain-Specific Modeling: Enabling Full Code Generation. Wiley - IEEE Computer Society Publications.
  8. Kircher, M., Jain, P., 2004. Pattern-Oriented Software Architecture Volume 3: Patterns for Resource Management. Wiley.
  9. Kövesdán, G., Asztalos, M., Lengyel, L., 2014a. Architectural Design Patterns for Language Parsers, Acta Polytechnica Hungarica, vol. 11, no. 5, pp. 39-57.
  10. Kövesdán, G., Asztalos, M., Lengyel, L., 2014b. Polymorphic Templates. In: XM 2014 Extreme Modeling Workshop, In conjunction with MODELS 2014. In press.
  11. Kövesdán, G., Asztalos, M., Lengyel, L., 2014c. Fast Android Application Development with Component Modeling. In: 5th Conference on Cognitive Infocommunications. Submitted for publication.
  12. Kühne, T., 2006. Matters of (Meta-) Modeling. Journal on Software and Systems Modeling, vol. 5, no. 4, pp. 369- 385.
  13. Nguyen, D., Ricken, M., Wong, S., 2005. Design Patterns for Parsing, In: 36th SIGCSE Technical Symposium on Computer Science Education, pp. 477-48. ACM.
  14. Schmidt, D.C., Stal, M., Rohnert, H., Buschmann, F., 2000. Pattern-oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects. John Wiley and Sons.
  15. Schreiner, A.T., Heliotis, J.E., 2001. Design Patterns in Parsing, In: 10th IEEE International Symposium on High Performance Distributed Computing, pp. 181- 184, IEEE Press.
  16. Steinberg D., Budinsky, F., Paternostro, M., Merks, E., 2008. EMF: Eclipse Modeling Framework. 2nd Edition, Addison-Wesley Professional.
  17. Syriani, E., Vangheluwe, H., 2009, Matters of model transformation. School of Computer Science, McGill University, SOCS-TR-2009.2.
Download


Paper Citation


in Harvard Style

Kövesdán G., Asztalos M. and Lengyel L. (2015). Aggregate Callback - A Design Pattern for Flexible and Robust Runtime Model Building . In Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-083-3, pages 149-156. DOI: 10.5220/0005197901490156


in Bibtex Style

@conference{modelsward15,
author={Gábor Kövesdán and Márk Asztalos and László Lengyel},
title={Aggregate Callback - A Design Pattern for Flexible and Robust Runtime Model Building},
booktitle={Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2015},
pages={149-156},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005197901490156},
isbn={978-989-758-083-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Aggregate Callback - A Design Pattern for Flexible and Robust Runtime Model Building
SN - 978-989-758-083-3
AU - Kövesdán G.
AU - Asztalos M.
AU - Lengyel L.
PY - 2015
SP - 149
EP - 156
DO - 10.5220/0005197901490156