skip to main content
article

Intentional software

Published:16 October 2006Publication History
Skip Abstract Section

Abstract

Wysiwyg editors simplified document creation by separating the document contents from the looks and by automating the re-application of the looks to changing contents. In the same way Intentional Software simplifies software creation by separating the software contents in terms of their various domains from the implementation of the software and by enabling automatic re-generation of the software as the contents change. This way, domain experts can work in parallel with programmers in their respective areas of expertise; and the repeated intermingling can be automated. Intentional Software is supported by a Domain Workbench tool where multiple domains can be defined, created, edited, transformed and integrated during software creation. Key features include a uniform representation of multiple interrelated domains, the ability to project the domains in multiple editable notations, and simple access for a program generator.

References

  1. Brooks, Fredrick, No Silver Bullet - Essence and Accidents of Software Engineering, Computer Magazine, 1987.Google ScholarGoogle Scholar
  2. Code Generation Network www.codegeneration.netGoogle ScholarGoogle Scholar
  3. Czarnecki, K. and U. Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading, MA, USA, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. van Deursen, Arie, Paul Klint and Joost Visser Domain-Specific Languages: An Annotated Bibliography, 2000 http://homepages.cwi.nl/~arie/papers/dslbib/ An updated list published here http://catamaran.labs.cs.uu.nl/twiki/pt/bin/view/Transform/DSLBibliographyAdditions Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Dmitriev, Sergey. Language Oriented Programming: The Next Programming Paradigm, 2004. http://www.onboard.jetbrains.com/articles/04/10/lop/Google ScholarGoogle Scholar
  6. Evans, Eric. Domain-Driven Design. Addison Wesley, 2004.Google ScholarGoogle Scholar
  7. Foote, B. and Yoder, J., Big Ball of Mud, Fourth Conference on Pattern Language Programs, 1997.Google ScholarGoogle Scholar
  8. Fowler, Martin, Language Workbenches: The Killer-App for Domain Specific Languages?, 2005. www.martinfowler.comGoogle ScholarGoogle Scholar
  9. Greenfield, Jack, Keith Short, Steve Cook, Stuart Kent, Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Iverson, K. A Programming Language, 1962. See also Programming Notation in Systems Design. IBM Systems Journal 2(2): 117--128 (1963).Google ScholarGoogle Scholar
  11. James, William, The Principles of Psychology, Henry Holt 1890.Google ScholarGoogle Scholar
  12. Khwaja, Amir, Joseph Urban, Syntax-directed editing environments: issues and features, Proceedings of the 1993 ACM/SIGAPP symposium on Applied Computing: states of the art and practice. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kiczales G, et al, Aspect-Oriented Programming, Proceedings of European Conference on Object-Oriented Programming, 1997.Google ScholarGoogle Scholar
  14. Lampson, B.W. Personal Distributed Computing: The ALTO and Ethernet Software, ACM conference on the History of Personal Workstations, Palo Alto, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Mernik, M, Heering, J, Sloane, A, When and How to Develop Domain Specific Languages, ACM Computing Surveys, vol 37, no 4, December 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Musser, David R., Gillmer J. Derge, and Atul Saini STL Tutorial and Reference Guide, Second Edition: C++ Programming with the Standard Template Library, Addison-Wesley, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Naur, Peter, A Synapse-State Theory of Mental Life, 2004, www.naur.com/synapse-state.pdfGoogle ScholarGoogle Scholar
  18. Simonyi, Charles. Intentional Programming -- An Ecology for Abstraction. 1997, Invited Talk USENIX Conference on Domain-Specific Languages.Google ScholarGoogle Scholar
  19. Simonyi, Charles. Intentional Program Tree Represented By High-Level Computational Constructs, US Patent Nos. 5790863, 5911072, 6070007, 6078746, 6097888 and 6189143.Google ScholarGoogle Scholar
  20. Wilson, Gregory V., Extensible Programming for the 21st Century, ACM Queue, Vol 2, No 9, Dec/Jan 2004/2005. YACC. http://dinosaur.compilertools.net Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Intentional software

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 41, Issue 10
          Proceedings of the 2006 OOPSLA Conference
          October 2006
          480 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1167515
          Issue’s Table of Contents
          • cover image ACM Conferences
            OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
            October 2006
            514 pages
            ISBN:1595933484
            DOI:10.1145/1167473

          Copyright © 2006 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 16 October 2006

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader