Skip to main content

Model-Driven Program Transformation of a Large Avionics Framework

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3286))

Abstract

Model-driven approaches to software development, when coupled with a domain-specific visual language, assist in capturing the essence of a large system in a notation that is familiar to a domain expert. From a high-level domain-specific model, it is possible to describe concisely the configuration features that a system must possess, in addition to checking that the model preserves semantic properties of the domain. With respect to large legacy applications written in disparate programming languages, the primary problem of transformation is the difficulty of adapting the legacy source to match the evolving features specified in the corresponding model. This paper presents an approach for uniting model-driven development with a mature program transformation engine. The paper describes a technique for performing widespread adaptation of source code from transformation rules that are generated from a domain-specific modeling environment for a large avionics framework.

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   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

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. Aßmann, U.: Invasive Software Composition. Springer, Heidelberg (2003)

    MATH  Google Scholar 

  2. Batory, D., Sarvela, J.N., Rauschmeyer, A.: Scaling Step-Wise Refinement. IEEE Transactions on Software Engineering, 355–371 (June 2004)

    Google Scholar 

  3. Baxter, I., Pidgeon, C., Mehlich, M.: DMS: Program Transformation for Practical Scalable Software Evolution. In: International Conference on Software Engineering (ICSE), Edinburgh, Scotland, pp. 625–634 (May 2004)

    Google Scholar 

  4. Bézivin, J.: From Object Composition to Model Transformation with the MDA. In: Technology of Object-Oriented Languages and Systems (TOOLS), Santa Barbara, California, pp. 350–354 (August 2001)

    Google Scholar 

  5. Bézivin, J.: MDA: From Hype to Hope, and Reality. In: The 6th International Conference on the Unified Modeling Language, San Francisco, California, Keynote talk, October 22 (2003), http://www.sciences.univ-nantes.fr/info/perso/permanents/bezivin/UML.2003/UML.SF.JB.GT.ppt

  6. Chiba, S.: A Metaobject Protocol for C++. In: Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Austin, Texas, pp. 285–299 (October 1995)

    Google Scholar 

  7. Cordy, J., Dean, T., Malton, A., Schneider, K.: Source Transformation in Software Engineering using the TXL Transformation System. Special Issue on Source Code Analysis and Manipulation, Journal of Information and Software Technology (44, 13), 827–837 (October 2002)

    Google Scholar 

  8. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  9. Evans, E.: Domain-Driven Design: Tackling Complexity at the Heart of Software. Addison-Wesley, Reading (2003)

    Google Scholar 

  10. Fowler, M.: Refactoring: Improving the Design of Existing Programs. Addison-Wesley, Reading (1999)

    Google Scholar 

  11. Frankel, D.: Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley and Sons, Chichester (2003)

    Google Scholar 

  12. Gokhale, A., Schmidt, D., Natarajan, B., Gray, J., Wang, N.: Model-Driven Middleware. In: Mahmoud, Q. (ed.) Middleware for Communications, John Wiley and Sons, Chichester (2004)

    Google Scholar 

  13. Gray, J., Bapty, T., Neema, S., Tuck, J.: Handling Crosscutting Constraints in Domain-Specific Modeling. Communications of the ACM, 87–93 (October 2001)

    Google Scholar 

  14. Gray, J., Sztipanovits, J., Schmidt, D.C., Bapty, T., Neema, S., Gokhale, A.: Two-level Aspect Weaving to Support Evolution of Model-Driven Synthesis. In: Filman, R., Elrad, T., Aksit, M., Clarke, S. (eds.) Aspect-Oriented Software Development, Addison-Wesley, Reading (2004)

    Google Scholar 

  15. Gray, J., Roychoudhury, S.: A Technique for Constructing Aspect Weavers Using a Program Transformation System. International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK, March 22-27, pp. 36–45 (2004)

    Google Scholar 

  16. Griswold, W.G., Notkin, D.: Automated Assistance for Program Restructuring. Trans. on Software Engineering and Methodology, 228–269 (July 1993)

    Google Scholar 

  17. Harrison, T., Levine, D., Schmidt, D.C.: The Design and Performance of a Hard Real-Time Object Event Service. In: Conference on Object-Oriented Programming Systems, Languages & Applications (OOPSLA), Atlanta, Georgia, pp. 184–200 (October 1997)

    Google Scholar 

  18. Karsai, G., Maroti, M., Lédeczi, Á., Gray, J., Sztipanovits, J.: Type Hierarchies and Composition in Modeling and Meta-Modeling Languages. IEEE Trans. on Control System Technology (special issue on Computer Automated Multi-Paradigm Modeling), 263–278 (March 2004)

    Google Scholar 

  19. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  20. Lämmel, R., Verhoef, C.: Cracking the 500 Language Problem. IEEE Software, 78–88 (November/December 2001)

    Google Scholar 

  21. Lédeczi, Á., Bakay, A., Maroti, M., Volgyesi, P., Nordstrom, G., Sprinkle, J., Karsai, G.: Composing Domain-Specific Design Environments. IEEE Computer, 44–51 (November 2001)

    Google Scholar 

  22. Lieberherr, K., Orleans, D., Ovlinger, J.: Aspect-Oriented Programming with Adaptive Methods. Communications of the ACM, 39–41 (October 2001)

    Google Scholar 

  23. Neema, S., Bapty, T., Gray, J., Gokhale, A.: Generators for Synthesis of QoS Adaptation in Distributed Real-Time Embedded Systems. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 236–251. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  24. Parnas, D.: On the Criteria To Be Used in Decomposing Systems into Modules. Communications of the ACM, 1053–1058 (December 1972)

    Google Scholar 

  25. Schmidt, D.C., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. John Wiley and Sons, Chichester (2000)

    Google Scholar 

  26. Sharp, D.: Component-Based Product Line Development of Avionics Software. In: First Software Product Lines Conference (SPLC-1), Denver, Colorado, pp. 353–369 (August 2000)

    Google Scholar 

  27. Spinczyk, O., Gal, A., Schröder-Preikschat, W.: AspectC++: An Aspect- Oriented Extension to C++. In: International Conference on Technology of Object-Oriented Languages and Systems (TOOLS Pacific 2002), Sydney, Australia, pp. 53–60 (February 2002)

    Google Scholar 

  28. Sztipanovits, J., Karsai, G.: Model-Integrated Computing. IEEE Computer, 10–12 (April 1997)

    Google Scholar 

  29. Sztipanovits, J.: Generative Programming for Embedded Systems. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 32–49. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  30. Ulrich, W.: Legacy Systems: Transformation Strategies. Prentice-Hall, Englewood Cliffs (2002)

    Google Scholar 

  31. van den Brand, M., Heering, J., Klint, P., Olivier, P.: Compiling Rewrite Systems: The ASF+SDF Compiler. ACM Transactions on Programming Languages and Systems, 334–368 (July 2002)

    Google Scholar 

  32. Visser, E.: Stratego: A Language for Program Transformation Based on Rewriting Strategies. System Description of Stratego 0.5. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol. 2051, pp. 357–361. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  33. Visser, E.: A Survey of Rewriting Strategies in Program Transformation Systems. In: Workshop on Reduction Strategies in Rewriting and Programming (WRS 2001) - Electronic Notes in Theoretical Computer Science, vol. 57, Utrecht, The Netherlands (May 2001), http://www1.elsevier.com/gej-ng/31/29/23/93/27/33/57007.pdf

  34. Wohlstadter, E., Jackson, S., Devanbu, P.T.: DADO: Enhancing Middleware to Support Crosscutting Features in Distributed, Heterogeneous Systems. In: International Conference on Software Engineering, Portland, Oregon, pp. 174–186

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gray, J. et al. (2004). Model-Driven Program Transformation of a Large Avionics Framework. In: Karsai, G., Visser, E. (eds) Generative Programming and Component Engineering. GPCE 2004. Lecture Notes in Computer Science, vol 3286. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30175-2_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30175-2_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23580-4

  • Online ISBN: 978-3-540-30175-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics