Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2384716.2384721acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
keynote

Reflections on reflection

Published: 19 October 2012 Publication History
  • Get Citation Alerts
  • Abstract

    Though it usually makes its appearance only as a footnote in the broader discourse of object design, reflection is a recurring and sometimes noisily divisive topic in object-orientation. Glimmers of reflection pervade even the darkest corners of the tapestry of object orientation's history. In fact, the broader notion of code's self-knowledge, such as run-time method dispatch, goes to the heart of what differentiates objects from other paradigms. Object orientation, at its roots, was about people and human mental models. It is impossible to make serious headway in these models without reasoning about the system outside of its simple imperative expression. By analogy, the silent movie era of film held that by removing speech, the media of film could both appeal to broader audiences and to tap into the broader human universals that speech obfuscates.
    Programs are the silent films that connect much of humanity today. The silent experience plays out at the screen; the Internet is the deep hardware on which it runs, and our software illuminates and articulates the connections between them. To make software fulfil any social agenda of human problem-solving requires a link between the reflections of the individual and those of the soft-ware; to rise to social phenomena requires a computational model that accommodates reflection at the social and societal layers.
    The DCI (Data, Context, and Interaction) paradigm provides a world model whose reflection allows program structure to shift with the dynamics in the context of application while featuring new ways to clearly present program structure to faithfully cap-ture end-user mental models of uses cases and data. DCI and other recent post-modern approaches offer breakthroughs that raise reflection to its proper place as a first-class programming concern.

    References

    [1]
    Hofstadter, Douglas. Gödel-Escher-Bach: An eternal golden braid. Basic Books (1979).
    [2]
    Kiczales, Gregor. Et al. "An overview of AspectJ." Proceedings of ECOOP (2001).
    [3]
    Kay, Alan. "The Early History of Smalltalk." http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html (2007).
    [4]
    Reenskaug, Trygve. http://heim.ifi.uio.no/~trygver/1979/mvc-1/1979-05-MVC.pdf (1978)
    [5]
    Reenskaug, Trygve. Working with objects: The OORAM Software Engineering Method. Prentice-Hall (1996).
    [6]
    Coplien, James, and Bjørnvig, Gertrud. Lean Architecture for Agile Software Development. Wiley, 2010.
    [7]
    Bjørnvig, Thore. The Holy Grail of Outer Space: Pluralism, Druidry, and the Religion of Cinema in The Sky Ship. In Astrobiology, Octo-ber 2012, http://www.liebertpub.com/ast.

    Cited By

    View all
    • (2019)Composite pattern to handle variation points in software architectural design of evolving application systemsIET Software10.1049/iet-sen.2019.0006Online publication date: 23-Apr-2019

    Index Terms

    1. Reflections on reflection

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SPLASH '12: Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
      October 2012
      252 pages
      ISBN:9781450315630
      DOI:10.1145/2384716

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 19 October 2012

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. aspect-oriented programming
      2. dci
      3. object-oriented programming
      4. silent movies
      5. social discourse
      6. use case

      Qualifiers

      • Keynote

      Conference

      SPLASH '12
      Sponsor:

      Upcoming Conference

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)1
      • Downloads (Last 6 weeks)0

      Other Metrics

      Citations

      Cited By

      View all
      • (2019)Composite pattern to handle variation points in software architectural design of evolving application systemsIET Software10.1049/iet-sen.2019.0006Online publication date: 23-Apr-2019

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media