skip to main content
10.1145/3242921.3242927acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

Cross-cutting Commentary: Narratives for Multi-party Mechanisms and Concerns

Published: 16 July 2018 Publication History

Abstract

Cross-cutting concerns are an inherent property of the implementation of non-trivial software systems. Their study led to the development of advanced modularity constructs, usually supported by meta-level frameworks and programming language constructs, to improve comprehensibility. Because of their invasive nature, systems need to be refactored or rewritten to take advantage of these constructs. However, practical considerations such as organizational or economical constraints often do not allow for such reengineering efforts, leaving those systems without explicit representations of their cross-cutting concerns.
We propose a lightweight, non-invasive approach to explicate and document cross-cutting, multi-party concerns called Cross-cutting Commentary, or Commentary for short. Our proposal is based on the observation that comments are co-located with the individual semantic units they are about and with that scattered and tangled in the absence of advanced modularity constructs for cross-cutting concerns and the assumption that well-crafted, informal explanations of system properties (their intents and the mechanisms they provide) improve comprehensibility. Commentaries are to help communicate narratives about system properties that involve multiple participants, both co-located in a single module or cross-cutting several of them, and allow for navigating to, from, and between them to explore the implementation artifacts involved.
Commentary was inspired by layers introduced with Context-oriented Programming to associate and manage partial definitions of system elements. While layers contribute to system comprehension during development and software composition at run-time, Commentary focuses on narratives for system exploration.
We present our first attempt to provide Commentaries in Squeak/Smalltalk. We explain implementation details and discuss several application scenarios considering the documentation of basic mechanisms of this programming and runtime environment.

References

[1]
Bart Childs and Johannes Sametinger. 1996. Literate Programming and Documentation Reuse. In IEEE International Conference on Software Reuse (ICSR). 205--214.
[2]
Squeak Community. 2018. Squeak ToolBuilder Framework. http://www.squeaksource.com/ToolBuilder/. Accessed: 2018-03-11.
[3]
Squeak Community. 2018. Squeak/Smalltalk v5.1. http://files.squeak.org/5.1/Squeak5.1-16549-32bit/Squeak5.1-16549-32bit-All-in-One.zip. Accessed: 2018-03-11.
[4]
Adele Goldberg and David Robson. 1983. Smalltalk-80: The Language and Its Implementation. Addison-Wesley Longman, Boston, MA, USA.
[5]
Robert Hirschfeld, Pascal Costanza, and Oscar Nierstrasz. 2008. Context-Oriented Programming. Journal of Object Technology (JOT) 7, 3 (2008), 125--151.
[6]
Robert Hirschfeld, Michael Perscheid, and Michael Haupt. 2011. Explicit Use-case Representation in Object-oriented Programming Languages. In Dynamic Languages Symposium (DLS). ACM, New York, NY, USA, 51--60.
[7]
Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and Alan Kay. 1997. Back to the Future: The Story of Squeak, a Practical Smalltalk Written in Itself. In SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA). ACM, 318--326.
[8]
Mik Kersten and Gail C. Murphy. 2005. Mylar: A Degree-of-interest Model for IDEs. In Proceedings of the 4th International Conference on Aspect-oriented Software Development (AOSD '05). ACM, New York, NY, USA, 159--168.
[9]
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin. 1997. Aspect-Oriented Programming. In European Conference on Object-Oriented Programming (ECOOP), Mehmet Akşit and Satoshi Matsuoka (Eds.). Springer Berlin Heidelberg, 220--242.
[10]
Glenn E. Krasner and Stephen T. Pope. 1988. A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80. Journal on Object-Oriented Programming(JOOP) 1, 3 (1988), 26--49.
[11]
Dmitry Luciv, D.V. Koznov, George A. Chernishev, and Andrey N. Terekhov. 2017. Detecting Near Duplicates in Software Documentation. arXiv preprint arXiv:1711.04705 (2017).
[12]
D. V. Luciv, D. V. Koznov, H. A. Basit, and A. N. Terekhov. 2016. On Fuzzy Repetitions Detection in Documentation Reuse. Programming and Computer Software 42, 4 (01 Jul 2016), 216--224.
[13]
Kim Mens and Andy Kellens. 2005. Towards a framework for testing structural source-code regularities. In 21st IEEE International Conference on Software Maintenance (ICSM'05). 679--682.
[14]
Kim Mens, Tom Mens, and Michel Wermelinger. 2002. Maintaining Software Through Intentional Source-code Views. In Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering (SEKE '02). ACM, New York, NY, USA, 289--296.
[15]
Patrick Mäder and Alexander Egyed. 2012. Assessing the Effect of Requirements Traceability for Software Maintenance. In IEEE International Conference on Software Maintenance (ICSM). 171--180.
[16]
Christian Prehofer. 1997. Feature-Oriented Programming: A Fresh Lookat Objects. In European Conference on Object-Oriented Programming (ECOOP), Mehmet Akşit and Satoshi Matsuoka (Eds.). Springer Berlin Heidelberg, 419--443.
[17]
Patrick Rempel and Patrick Mäder. 2017. Preventing Defects: The Impact of Requirements Traceability Completeness on Software Quality. IEEE Transactions on Software Engineering 43, 8 (Aug 2017), 777--797.
[18]
S M Sohan, Craig Anslow, and Frank Maurer. 2017. Automated Example Oriented REST API Documentation at Cisco. In International Conference on Software Engineering (ICSE): Software Engineering in Practice Track (SEIP) (ICSE-SEIP '17). IEEE Press, Piscataway, NJ, USA, 213--222.
[19]
Jeffrey Stylos, Zizhuang Faulring, Jeffrey Yang, and Myers Brad A. 2009. Improving API documentation using API usage information. In 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). 119--126.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
COP '18: Proceedings of the 10th ACM International Workshop on Context-Oriented Programming: Advanced Modularity for Run-time Composition
July 2018
50 pages
ISBN:9781450357227
DOI:10.1145/3242921
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 the author(s) 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].

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 July 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Squeak/Smalltalk
  2. aspect-oriented programming
  3. context-oriented programming
  4. cross-cutting concerns
  5. documentation
  6. exploratory programming
  7. feature-oriented programming
  8. live programming
  9. modularity

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ECOOP '18

Acceptance Rates

COP '18 Paper Acceptance Rate 6 of 8 submissions, 75%;
Overall Acceptance Rate 17 of 25 submissions, 68%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 39
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media