Skip to main content

The Objects and Arrows of Computational Design

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5301))

Abstract

Computational Design (CD) is a paradigm where both program design and program synthesis are computations. CD merges Model Driven Engineering (MDE) which synthesizes programs by transforming models, with Software Product Lines (SPL) where programs are synthesized by composing transforma tions called features. In this paper, basic relationships between MDE and SPL are explored using the language of modern mathematics.

Note: Although jointly authored, this paper is written as presented by Batory in his MODELS 2008 keynote.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   149.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agrawal, A., Karsai, G., Ledeczi, A.: An End-to-End Domain-Driven Software Development Framework. In: OOPSLA 2003 (2003)

    Google Scholar 

  2. Ancona, D., Damiani, F., Drossopoulou, S.: Polymorphic Bytecode: Compositional Compilation for Java-like Languages. In: POPL 2005 (2005)

    Google Scholar 

  3. Anfurrutia, F.I., Diaz, O., Trujillo, S.: On the Refinement of XML. In: ICWE 2007 (2007)

    Google Scholar 

  4. Antkiewicz, M., Czarnecki, K.: Design Space of Heterogeneous Synchronization. In: Proc. Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE) (2007)

    Google Scholar 

  5. Apel, S., Leich, T., Saake, G.: Aspectual Feature Modules. IEEE TSE (April 2008)

    Google Scholar 

  6. Batory, D., Chen, G., Robertson, E., Wang, T.: Design Wizards and Visual Programming Environments for GenVoca Generators. IEEE TSE (May 2000)

    Google Scholar 

  7. Batory, D., Johnson, C., MacDonald, B., von Heeder, D.: Achieving Extensibility Through Product-Lines and Domain-Specific Languages: A Case Study. ACM TOSEM 11(2) (April 2002)

    Google Scholar 

  8. Batory, D., Liu, J., Sarvela, J.N.: Refinements and Multi-Dimensional Separation of Concerns. In: ACM SIGSOFT 2003 (2003)

    Google Scholar 

  9. Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE TSE (June 2004)

    Google Scholar 

  10. Batory, D.: Multi-Level Models in Model Driven Development, Product-Lines, and Metaprogramming. IBM Systems Journal 45(3) (2006)

    Google Scholar 

  11. Batory, D.: Program Refactorings, Program Synthesis, and Model-Driven Design. In: ETAPS 2007, keynote (2007)

    Google Scholar 

  12. Batory, D.: Using Modern Mathematics as an FOSD Modeling Language. In: GPCE 2008 (2008)

    Google Scholar 

  13. Benavides, D., Trinidad, P., Ruiz-Cortes, A.: Automated Reasoning on Feature Models. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)

    Google Scholar 

  14. Bézivin, J., Jouault, F., Valduriez, P.: On the Need for Megamodels. In: Best Practices for Model-Driven-Software Development (2004)

    Google Scholar 

  15. Bézivin, J., Bouzitouna, S., Del Fabro, M., Gervais, M.-P., Jouault, F., Kolovos, D., Kurtev, I., Paige, R.: A Canonical Scheme for Model Composition. In: ECMDA-FA 2006 (2006)

    Google Scholar 

  16. Cuadrado, J.S., Molina, J.G., Tortosa, M.: RubyTL: A Practical, Extensible Transformation Language. In: ECMDA-FA 2006 (2006)

    Google Scholar 

  17. Freeman, G., Batory, D., Lavender, G.: Lifting Transformational Models of Product Lines: A Case Study. In: ICMT 2008 (2008)

    Google Scholar 

  18. Gray, J.: Private correspondence (July 2008)

    Google Scholar 

  19. Ehrig, H., Ehrig, K., Ermel, C., Hermann, F., Taentzer, G.: Information Preserving Bidirectional Model Transformations. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 72–86. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  20. Jackson, D.: Alloy: A Lightweight Object Modeling Notation. In: ACM TOSEM (April 2002)

    Google Scholar 

  21. Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Model Transformations in Practice Workshop at MODELS 2005 (2005)

    Google Scholar 

  22. Kiczales, G., et al.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  23. Kim, C.H.P., Kaestner, C., Batory, D.: On the Modularity of Feature Interactions. In: GPCE 2008 (2008)

    Google Scholar 

  24. Kurtev, I., Bézivin, J., Jouault, F., Valduriez, P.: Model-Based DSL Frameworks. In: OOPSLA 2006 (2006)

    Google Scholar 

  25. Lawvere, F.W., Schanuel, S.H.: Conceptual Mathematics: A First Introduction To Categories. Cambridge University Press, Cambridge (1997)

    MATH  Google Scholar 

  26. Marinov, D., Khurshid, S.: TestEra: A novel framework for automated testing of Java programs. In: ASE 2001 (2001)

    Google Scholar 

  27. Neema, S.K.: System-Level Synthesis of Adaptive Computing Systems. Ph.D. Vanderbilt University (2001)

    Google Scholar 

  28. Odersky, M., et al.: An Overview of the Scala Programming Language (September 2004), scala.epfl.ch

  29. Oldevik, J.: UMT: UML Model Transformation Tool Overview and User Guide Documentation (2004), http://umt-qvt.sourceforge.net/docs/

  30. Pierce, B.: Basic Category Theory for Computer Scientists. MIT Press, Cambridge (1991)

    Google Scholar 

  31. Püschel, M., et al.: SPIRAL: Code Generation for DSP Transforms. Proc. IEEE 93#2 (2005); Special Issue on Program Generation, Optimization, and Adaptation

    Google Scholar 

  32. Selinger, P., Astrahan, M.M., Chamberlin, D.D., Lorie, R.A., Price, T.G.: Access Path Selection in a Relational Database System. In: ACM SIGMOD 1979 (1979)

    Google Scholar 

  33. Sprinkle, J., Karsai, G.: A Domain-Specific Visual Language for Domain Model Evolution. J. Vis. Lang. Comput. 15(3-4) (2004)

    Google Scholar 

  34. Trujillo, S., Azanza, M., Diaz, O.: Generative Metaprogramming. In: GPCE 2007 (2007)

    Google Scholar 

  35. Trujillo, S., Batory, D., Diaz, O.: Feature Oriented Model Driven Development: A Case Study for Portlets. In: ICSE 2007 (2007)

    Google Scholar 

  36. Uzuncaova, E., Garcia, D., Khurshid, S., Batory, D.: Testing Software Product Lines Using Incremental Test Generation. In: ISSRE 2008 (2008)

    Google Scholar 

  37. Vanhooff, B., Ayed, D., Van Baelen, S., Joosen, W., Berbers, Y.: UniTI: A Unified Transformation Infrastructure. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 31–45. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  38. Wachsmuth, G.: Metamodel Adaptation and Model Co-Adaptation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 600–624. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  39. Wing, J.: Computational Thinking. In: CACM 2006 (March 2006)

    Google Scholar 

  40. Zhang, C., Gao, G., Jacobsen, H.-A.: Towards Just-in-time Middleware Architectures. In: AOSD 2005 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Krzysztof Czarnecki Ileana Ober Jean-Michel Bruel Axel Uhl Markus Völter

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Batory, D., Azanza, M., Saraiva, J. (2008). The Objects and Arrows of Computational Design. In: Czarnecki, K., Ober, I., Bruel, JM., Uhl, A., Völter, M. (eds) Model Driven Engineering Languages and Systems. MODELS 2008. Lecture Notes in Computer Science, vol 5301. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87875-9_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-87875-9_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-87874-2

  • Online ISBN: 978-3-540-87875-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics