Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Implicit context: easing software evolution and reuse

Published: 01 November 2000 Publication History

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 SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 25, Issue 6
Nov. 2000
169 pages
ISSN:0163-5948
DOI:10.1145/357474
Issue’s Table of Contents
  • 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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 November 2000
Published in SIGSOFT Volume 25, Issue 6

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

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)49
  • Downloads (Last 6 weeks)14
Reflects downloads up to 12 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2006)A fine-grained join point model for more reusable aspectsProceedings of the 4th Asian conference on Programming Languages and Systems10.1007/11924661_8(131-147)Online publication date: 8-Nov-2006
  • (2018)Partial control-flow linearizationACM SIGPLAN Notices10.1145/3296979.319241353:4(543-556)Online publication date: 11-Jun-2018
  • (2018)Locality analysis through static parallel samplingACM SIGPLAN Notices10.1145/3296979.319240253:4(557-570)Online publication date: 11-Jun-2018
  • (2017)Modular Coordination Specification of Client and Server Interaction for Web-based ApplicationsProceedings of the 1st International Conference on E-commerce, E-Business and E-Government10.1145/3108421.3108440(41-44)Online publication date: 14-Jun-2017
  • (2017)Modular and flexible coordination for web-based applications2017 2nd International Conference on Computer and Communication Systems (ICCCS)10.1109/CCOMS.2017.8075176(6-10)Online publication date: Jul-2017
  • (2012)Network forensicsACM SIGMETRICS Performance Evaluation Review10.1145/2318857.225478440:1(223-234)Online publication date: 11-Jun-2012
  • (2012)Learning the graph of epidemic cascadesACM SIGMETRICS Performance Evaluation Review10.1145/2318857.225478340:1(211-222)Online publication date: 11-Jun-2012
  • (2012)Rumor centralityACM SIGMETRICS Performance Evaluation Review10.1145/2318857.225478240:1(199-210)Online publication date: 11-Jun-2012
  • (2012)Energy storage in datacentersACM SIGMETRICS Performance Evaluation Review10.1145/2318857.225478040:1(187-198)Online publication date: 11-Jun-2012
  • (2008)Contextual valuesProceedings of the 2008 symposium on Dynamic languages10.1145/1408681.1408684(1-10)Online publication date: 8-Jul-2008
  • Show More Cited By

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