Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/355045.355054acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article
Free access

Implicit context: easing software evolution and reuse

Published: 01 November 2000 Publication History
  • Get Citation Alerts
  • Abstract

    Software systems should consist of simple, conceptually clean software components interacting along narrow, well-defined paths. All too often, this is not reality: complex components end up interacting for reasons unrelated to the functionality they provide. We refer to knowledge within a component that is not conceptually required for the individual behaviour of that component as extraneous embedded knowledge (EEK). EEK creeps into a system in many forms, including dependences upon particular names and the passing of extraneous parameters. This paper proposes the use of implicit context as a means for reducing EEK in systems by combining a mechanism to reflect upon what has happened in a system, through queries on the call history, with a mechanism for altering calls to and from a component. We demonstrate the benefits of implicit context by describing its use to reduce EEK in the Java™ Swing library.

    References

    [1]
    M. AkNit, L. Bergmans, and S. Vural. An object-oriented langnage--database integration model: The compositionfilters approach. In European Conference on Object-Oriented Programming, pp. 372-395, 1992. LNCS 615.
    [2]
    R. DeLine. Avoiding packaging mismatch with flexible packaging. In International Conference on Software Engineering, pp. 97-106, 1999.
    [3]
    A. Fowler. A Swing architecture overview: The inside story on JFC component design, htep://java.sun. com/products/jfc/tsc/archive/what./s_arch /swing-arch/swing-arch.htral,1999.
    [4]
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
    [5]
    D. Garlan and D. Notldn. Formalizing design spaces: Implicit invocation mechanisms. In International Symposium of VDM Europe, pp. 31-44, 1991. LNCS 551.
    [6]
    W. Harrison and H. Ossber. Subject-oriented programming: A critique of pure objects. In Conference on Object- Oriented Programming Systems, Languages, and Applications, pp. 411-428, 1993. ACM SIGPLAN.
    [7]
    G. Kiczales, Traces (a cut at the "make isn't generic" problem). In International Symposium on Object Technologies for Advanced Software, pp. 27-43, 1993. LNCS 742.
    [8]
    G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In European Conference on Object-Oriented Programming, pp. 220-242, 1997. LNCS 1241.
    [9]
    J. Lewis, M. Shields, E. Meljer, and J. Launchbury. Implicit parameters: Dynamic scoping with static types. In Symposium on Principles of Programming Languages, pp. 108--118, 2000.
    [10]
    H. Ossher, M. Kaplan, A. Katz, W. Harrison, and V. Kruskal. Specifying subject-oriented composition. Theory and Practice of Object Systems, 2(3):179-202, 1996.
    [11]
    J. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley, 1994.
    [12]
    J. Purtilo. The POLYLITH software bus. ACM Transactions on Programming Languages and Systems, 16(1):151-174, 1994.
    [13]
    U Seiter, J. Palsberg, and K. Lieberherr. Evolution of object behavior using context relations. IEEE Transactions on Software Engineering, 24(1):79-92, 1998.
    [14]
    P. Tarr, H. Ossber, W. Harrison, and S. Sutton. N degrees of separation: Multi-dimensional separation of concerns. In International Conference on Software Engineering, pp. 107- 119, 1999.
    [15]
    R. WaLker, E. Baniassad, and G. Murphy. An initial assessment of aspect-oriented progranmling. In International Conference on Software Engineering, pp. 120-130, 1999.
    [16]
    R. Walker, G. Murphy, B. Freeman-Benson, D. Wright, D. Swanson, and J. Isaak. Visualizing dynamic software system information through high-level models. In Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 271-283, 1998. ACM SIGPLAN.
    [17]
    R. Walker, G. Murphy, J. Steinbok, and M. Robillard. Efficient mapping of software system traces to architectural views. Technical report TR-00-09, Department of Computer Science, University of British Columbia, 2000.
    [18]
    L. Wall, T. Christiansen, and R. Schwartz. Programming Perl. O'Reilly & Associates, 2nd edition, 1996.
    [19]
    D. Yellin and R. Strom. Interfaces, protocols, and the semiautomatic construction of software adaptors. In Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 176-190, 1994. ACM SIGPLAN.

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGSOFT '00/FSE-8: Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
    November 2000
    170 pages
    ISBN:1581132050
    DOI:10.1145/355045
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 November 2000

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. EEK
    2. call history
    3. contextual dispatch
    4. extraneous embedded knowledge
    5. flexibility
    6. implicit context
    7. structure

    Qualifiers

    • Article

    Conference

    SOFT'00/FSE'00

    Acceptance Rates

    Overall Acceptance Rate 17 of 128 submissions, 13%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)42
    • Downloads (Last 6 weeks)7
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media