Flexibility in modeling languages and tools: a call to arms (original) (raw)

References

  1. Adams, S.R.: Modular grammars for programming language prototyping. Ph.D. Thesis, University of Southampton, Department of Electronics and Computer Science, UK (1993)
  2. Archer, M., Heitmeyer, C., Sims, S.: TAME: A PVS interface to simplify proofs for automata models. In: User Interfaces for Theorem Provers (1998)
  3. Baker, J., Hsieh, W.: Maya: multiple-dispatch syntax extension in java. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). ACM, June (2002)
  4. Batory, D., Lofaso, D., Smaragdakis, Y.: JTS: tools for implementing domain-specific languages. In: Proceedings Fifth International Conference on Software Reuse, pp. 143–53. IEEE, 2–5 (1998)
  5. Bensalem, S., Caspi, P., Parent-Vigouroux, C., Dumas, C.: A methodology for proving control systems with Lustre and PVS. In: Proc. of Seventh Working Conference on Dependable Computing for Critical Applications (DCCA 7) (1999)
  6. Bensalem, S., Ganesh, V., Lakhnech, Y., Munoz, C., Owre, S., Ruess, H., Rushby, J., Rusu, V., Saidi, H., Shankar, N., Singerman, E., Tiwari, A.: An overview of SAL. In: Holloway C. M. (ed) Proc. of LFM 2000: Fifth NASA Langley Formal Methods Workshop, pp. 187–196. NASA Langley Research Center, June (2000)
  7. Boyland J.T.: Remote attribute grammars. J. ACM 52(4), 627–687 (2005)
    Article MathSciNet Google Scholar
  8. Bozga, M., Fernandez, J.-C., Ghirvu, L., Graf, S., Krimm, J., Mounier, L., Sifakis, J.: IF: an intermediate representation for sdl and its applications. In: Proceedigns of the SDL-Forum’99, pp. 423–440. Elsevier, Amsterdam (1999)
  9. Cheatham, T.J.: The introduction of definitional facilities into higher level programming languages. In: AFIPS (Fall Joint Computer Conference, 29), pp. 623–637 (1966)
  10. Chiba, S.: A metaobject protocol for C++. In: Proc. of Object-Oriented Programming Systems, Languages, and Applications, pp. 285–299. ACM Press, New York (1995)
  11. Choi, Y., Heimdahl, M.: Model checking RSMLe requirements. In: Proceedings of the 7th IEEE/IEICE International Symposium on High Assurance Systems Engineering, October (2002)
  12. Cimatti, A., Clarke, E., Giunchiglia, F., Roveri, M.: NuSMV: a new symbolic model verifier. In: Proc. of International Conference on Computer-Aided Verification (CAV’99). Lecture Notes in Computer Science, vol. 1633, pp. 495–499. Springer, Heidelberg (1999)
  13. Clarke E.M., Grumberg O., Peled D.: Model Checking. MIT Press, Cambridge (1999)
    Google Scholar
  14. Cleaveland R., Parrow J., Steffen B.: The concurrency workbench: a semantics based tool for the verification of concurrent systems. ACM Trans. Programm. Lang. Syst. 15(1), 36–72 (1993)
    Article Google Scholar
  15. Clinger, W.: Macros that work. In: Proceedings of the 18th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 155–162. ACM Press, New York (1991)
  16. Czarnecki K., Eisenecker U.W.: Generative Programming: Methods, Tools and Applications. Addison-Wesley, Reading (2000)
    Google Scholar
  17. Dillon L., Stirewalt R.: Inference graphs: a computational structure supporting generation of customizable and correct analysis components. IEEE Trans. Softw. Eng. 29(2), 133–150 (2003)
    Article Google Scholar
  18. Ekman, T., Hedin, G.: Rewritable reference attributed grammars. In: 18th European Conference on Object-Oriented Programming, ECOOP 2004. Lecture Notes in Computer Science, vol. 3086, pp. 144–169. Springer, Heidelberg (2004)
  19. Ekman, T., Hedin, G.: The JastAdd extensible java compiler. In: OOPSLA ’07: Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object Oriented Programming Systems and Applications, pp. 1–18. ACM, New York (2007)
  20. Ekman T., Hedin G.: The JastAdd system—modular extensible compiler construction. Sci. Comput. Programm. 69(1–3), 14–26 (2007)
    Article MATH MathSciNet Google Scholar
  21. Ekman T., Hedin G.: Pluggable checking and inferencing of non-null types for Java. J. Object Technol. 6(9), 455–475 (2007)
    Google Scholar
  22. Esterel, T.: Corporate Web Page (2004). http://www.esterel-technologies.com
  23. Farrow, R., Marlowe, T.J., Yellin, D.M.: Composable attribute grammars. In: 19th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 223–234 (1992)
  24. Ganzinger H.: Increasing modularity and language-independency in automatically generated compilers. Sci. Comput. Program. 3(3), 223–278 (1983)
    Article MATH MathSciNet Google Scholar
  25. Ganzinger H., Giegerich R.: Attribute coupled grammars. SIGPLAN Notices 19, 157–170 (1984)
    Article Google Scholar
  26. Gao, J., Heimdahl, M., Van Wyk, E.: Flexible and extensible notations for modeling languages. In: Fundamental Approaches to Software Engineering, FASE 2007. Lecture Notes in Computer Science, vol. 4422, pp. 102–116. Springer, Heidelberg (2007)
  27. Gargantini A., Heitmeyer C.: Using model checking to generate tests from requirements specifications. Softw. Eng. Notes 24(6), 146–162 (1999)
    Article Google Scholar
  28. Giegerich R.: Composition and evaluation of attribute coupled grammars. Acta Inf. 25(4), 355–423 (1988)
    Article MathSciNet Google Scholar
  29. Grumberg O., Long D.E.: Model checking and modular verification. ACM Trans. Programm. Lang. Syst. 16(3), 843–871 (1994)
    Article Google Scholar
  30. Halbwachs N., Caspi P., Raymond P., Pilaud D.: The synchronous dataflow programming language lustre. Proc. IEEE 79(9), 1305–1320 (1991)
    Article Google Scholar
  31. Halbwachs, N., Lagnier, F., Ratel, C.: Programming and verifying real-time systems by means of the synchronous data-flow language lustre. IEEE Trans. Softw. Eng. 785–793 (1992)
  32. Harel D., Lachover H., Naamad A., Pnueli A., Politi M., Sherman R., Shtull-Trauring A., Trakhtenbrot M.: Statemate: a working environment for the development of complex reactive systems. IEEE Trans. Softw. Eng. 16(4), 403–414 (1990)
    Article Google Scholar
  33. Hedin, G.: An object-oriented notation for attribute grammars. In: Proceedings of the European Conference on Object-Oriented Programming, ECOOP’89 (1989)
  34. Hedin, G.: Reference attribute grammars. In: 2nd International Workshop on Attribute Grammars and their Applications (1999)
  35. Heimdahl, M.P., Choi, Y., Whalen, M.: Deviation analysis via model checking. In: International Conference on Automatied Software Engineering, pp. 37–46, September (2002)
  36. Heimdahl M.P.E., Leveson N.G.: Completeness and consistency in hierarchical state-base requirements. IEEE Trans. Softw. Eng. 22(6), 363–377 (1996)
    Article Google Scholar
  37. Heitmeyer, C., Bull, A., Gasarch, C., Labaw, B.: SCR*: A toolset for specifying and analyzing requirements. In: Proceedings of the Tenth Annual Conference on Computer Assurance, COMPASS 95 (1995)
  38. Heitmeyer C., Jeffords R., Labaw B.: Automated consistency checking of requirements specifications. ACM Trans. Softw. Eng. Methodol. 5(3), 231–261 (1996)
    Article Google Scholar
  39. Heninger K.: Specifying software requirements for complex systems: new techniques and their application. IEEE Trans. Softw. Eng. 6(1), 2–13 (1980)
    Article Google Scholar
  40. Hudak, P.: Building domain-specific embedded languages. ACM Comput. Surv. 28(4es) (1996)
  41. Joshi, A., Miller, S.P., Heimdahl, M.P.: Mode confusion analysis of a flight guidance system using formal methods. In: 22nd Digital Avionics Systems Conference, October (2003, to appear)
  42. Kastens U., Waite W.M.: Modularity and reusability in attribute grammars. Acta Inf. 31, 601–627 (1994)
    Article MATH Google Scholar
  43. Kiczales G., des Rivieres J., Bobrow D.G.: The Art of the MetaObject Protocol. MIT Press, Cambridge (1991)
    Google Scholar
  44. Knuth, D.E.: Semantics of context-free languages. Math. Syst. Theory 2(2):127–145 (1968) [Corrections in 5(2):95–96 (1971)]
    Google Scholar
  45. Kohlbecker, E., Friedman, D.P., Felleisen, M., Duba, B.: Hygienic macro expansion. In: Proceedings of the 1986 ACM conference on LISP and functional programming, pp. 151–161. ACM Press, New York (1986)
  46. Le Bellec C., Jourdan M., Parigot D., Roussel G.: Specification and implementation of grammar coupling using attribute grammars. In: Bruynooghe, M., Penjam, J. (eds) Programming Language Implementation and Logic Programming (PLILP ’93). Lecture Notes in Computer Science, vol 714., pp. 123–136. Springer, Heidelberg (1993)
    Google Scholar
  47. Leavenworth B.: Syntax macros and extended translations. Commun. ACM 9(11), 790–793 (1966)
    Article MATH Google Scholar
  48. Lee, E.A.: Overview of the ptolemy project. Technical Report Technical Memorandum UCB/ERL M03/25. University of California, Berkeley, CA, 94720, USA, July (2003)
  49. Leijen, D., Meijer, E.: Domain specific embedded compilers. ACM Sigplan Notices, Papers of the 2nd USENIX Conference on Domain Specific Languages (1999) 35(1), January (2000)
  50. Leveson N., Heimdahl M., Hildreth H., Reese J.: Requirements specification for process-control systems. IEEE Trans. Soft. Eng. 20(9), 684–706 (1994)
    Article Google Scholar
  51. Leveson, N.G., Heimdahl, M.P., Reese, J.D.: Designing specification languages for process control systems: lessons learned and steps to the future. In: Seventh ACM SIGSOFT Symposium on the Foundations on Software Engineering. LNCS, vol. 1687, pp. 127–145, September (1999)
  52. MathWorks. The MathWorks Inc. Web Page (2004). http://www.mathworks.com
  53. Miller, S.P., Tribble, A.C., Heimdahl, M.P.E.: Proving the shalls. In: Araki, K., Gnesi, S., Mandrioli, D. (eds) Proceedigns of the International Symposium of Formal Methods Europe (FME 2003). Lecture Notes in Computer Science, vol. 2805, pp. 75–93, Pisa, Italy, September. Springer, Heidelberg (2003)
  54. Niu J., Atlee J., Day N.: Template semantics for model-based notations. IEEE Trans. Softw. Eng. 29(10), 866–882 (2003)
    Article Google Scholar
  55. Offutt, A.J., Xiong, Y., Liu, S.: Criteria for generating specification-based tests. In: Proceedings of the Fifth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS ’99), October (1999)
  56. Owre, S., Rushby, J.M., Shankar, N.: PVS: A prototype verification system. In: Proc. of Conference on Automated Deduction (CADE-11). Lecture Notes in Computer Science, vol. 607, pp. 748–752. Springer, Heidelberg (1992)
  57. Paakki J.: Attribute grammar paradigms—a high-level methodology in language implementation. ACM Comput. Surv. 27(2), 196–255 (1995)
    Article Google Scholar
  58. Poigne, A., Holenderski, L.: On the combination of synchronous languages. In: de Roever, W., Langmaack, H., Pnueli, A. (eds) Proceedings of International Symposium on Compositionality, vol. 1536, Bad Malente, Germany, September 1997. Springer, Heidelberg
  59. Rayadurgam, S., Heimdahl, M.P.: Coverage based test-case generation using model checkers. In: Proceedings of the 8th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS 2001), pp. 83–91. IEEE Computer Society, Los Alamitos April (2001)
  60. Rayadurgam, S., Joshi, A., Heimdahl, M.P.E.: Using PVS to prove properties of systems modelled in a synchronous dataflow language. In: Proceedigns of the 5th International Conference on Formal Engineering Methods, ICFEM 2003, pp. 167–186, Singapore, November (2003)
  61. Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Object Technology Series. Addison-Wesley, Reading (1998)
  62. Simonyi, C.: The Future is Intentional. IEEE Computer, May (1999)
  63. Sirko, E.W.: Rif: a language and toolkit supporting research and education in optimizing compilers. Master’s Thesis, University of California Riverside, Riverside, California (1999)
  64. Standford SUIF Compiler Group. The SUIF parallelizing compiler guide, Version 1.3. Stanford University(1994)
  65. Teitelbaum, T., Chapman, R.: Higher-order attribute grammars and editing environments. In: ACM Sigplan ’90 Conference on Programming Languages Design and Implementation, pp. 197–208 (1990)
  66. Thompson, J.M., Heimdahl, M.P., Erickson, D.M.: Structuring formal control systems specifications for reuse: surviving hardware changes. In: Proceedings of the Fifth NASA Langley Formal Methods Conference (Lfm2000) (2000)
  67. Thompson, J.M., Heimdahl, M.P., Miller, S.P.: Specification based prototyping for embedded systems. In: Seventh ACM SIGSOFT Symposium on the Foundations on Software Engineering. LNCS, vol. 1687, pp. 163–179, September (1999)
  68. Thompson J.M., Whalen M.W., Heimdahl M.P.: Requirements capture and evaluation in Nimbus: the light-control case study. J. Univ. Comput. Sci. 6(7), 731–757 (2000)
    Google Scholar
  69. Van Wyk, E., Bodin, D., Krishnan, L., Gao, J.: Silver: an extensible attribute grammar system. In: Proc. of LDTA 2007, 7th Workshop on Language Descriptions, Tools, and Analysis (2007)
  70. Van Wyk, E., de Moor, O., Backhouse, K., Kwiatkowski, P.: Forwarding in attribute grammars for modular language design. In: Proc. Conf. on Compiler Construction. LNCS, vol. 2304 pp. 128–142. Springer, Heidelberg (2002)
  71. Van Wyk, E., de Moor, O., Sittampalam, G., Sanabria-Piretti, I., Backhouse, K., Kwiatkowski, P.: Intentional Programming: a host of language features. Technical Report PRG-RR-01-21, Computing Laboratory, University of Oxford, (2001)
  72. Van Wyk, E., Krishnan, L., Schwerdfeger, A., Bodin, D.: Attribute grammar-based language extensions for java. In: European Conference on Object Oriented Programming (ECOOP). Lecture Notes in Computer Science, vol. 4609, pp. 575–599. Springer, Heidelberg, July (2007)
  73. Vogt, H., Swierstra, S.D., Kuiper, M.F.: Higher-order attribute grammars. In: Conference on Programming Languages Design and Implementation, pp. 131–145 (1990) [published as ACM SIGPLAN Notices 24(7)]
  74. Weise, D., Crew, R.: Programmable syntax macros. ACM SIGPLAN Notices 28(6) (1993)
  75. Zimmerman, M.K., Lundqvist, K., Leveson, N.: Investigating the readability of state-based formal requirements specification languages. In: Proc. 24th Conf. on Software engineering, pp. 33–43, Orlando, Florida. ACM Press, New York, May (2002)

Download references