Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2724525.2724569acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Modular reasoning in the presence of event subtyping

Published: 16 March 2015 Publication History

Abstract

Separating crosscutting concerns while preserving modular reasoning is challenging. Type-based interfaces (event types) separate modularized crosscutting concerns (observers) and traditional object-oriented concerns (subjects). Event types paired with event specifications were shown to be effective in enabling modular reasoning about subjects and observers. Similar to class subtyping, organizing event types into subtyping hierarchies is beneficial. However, unrelated behaviors of observers and their arbitrary execution orders could cause unique, somewhat counterintuitive, reasoning challenges in the presence of event subtyping. These challenges threaten both tractability of reasoning and reuse of event types. This work makes three contributions. First, we pose and explain these challenges. Second, we propose an event-based calculus to show how these challenges can be overcome. Finally, we present modular reasoning rules of our technique and show its applicability to other event-based techniques.

References

[1]
Kiczales, G., Hilsdale, E., Hugunin, M., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: ECOOP’01
[2]
Aldrich, J.: Open Modules: Modular reasoning about advice. In: ECOOP’05
[3]
Sullivan, K., Griswold, W.G., Song, Y., Cai, Y., Shonle, M., Tewari, N., Rajan, H.: Information hiding interfaces for aspect-oriented design. In: ESEC/FSE’05
[4]
Griswold, W.G., Sullivan, K., Song, Y., Shonle, M., Tewari, N., Cai, Y., Rajan, H.: Modular software design with crosscutting interfaces. IEEE Softw.’06 23(1)
[5]
Sullivan, K.J., Griswold, W.G., Rajan, H., Song, Y., Cai, Y., Shonle, M., Tewari, N.: Modular aspect-oriented design with XPIs. TOSEM’11 20(2)
[6]
Gasiunas, V., Satabin, L., Mezini, M., nez, A.N., Noyé, J.: EScala: modular event-driven object interactions in Scala. In: AOSD’11
[7]
Bagherzadeh, M., Rajan, H., Leavens, G.T., Mooney, S.: Translucid contracts: Expressive specification and modular verification for aspect-oriented interfaces. In: AOSD’11
[8]
Bagherzadeh, M., Rajan, H., Darvish, A.: On exceptions, events and observer chains. In: AOSD’13
[9]
Sánchez, J., Leavens, G.: Separating obligations of subjects and handlers for more flexible event type verification. In: SC’13
[10]
Hoffman, K., Eugster, P.: Bridging Java and AspectJ through explicit join points. In: PPPJ’07
[11]
Eugster, P., Jayaram, K.R.: EventJava: An extension of Java for event correlation. In: ECOOP’09
[12]
Clifton, C., Leavens, G.T.: Obliviousness, modular reasoning, and the behavioral subtyping analogy. In: SPLAT’03
[13]
Kiczales, G., Mezini, M.: Aspect-oriented programming and modular reasoning. ICSE’05
[14]
Clifton, C., Leavens, G.T.: A design discipline and language features for modular reasoning in aspect-oriented programs. Technical Report 05-23, Iowa State University (2005)
[15]
Rajan, H., Leavens, G.T.: Ptolemy: A language with quantified, typed events. In: ECOOP’08
[16]
Rajan, H., Sullivan, K.J.: Unifying aspect- and object-oriented design. TOSEM’09 19(1)
[17]
Rajan, H., Leavens, G.T.: Quantified, typed events for improved separation of concerns. Technical Report 07-14, Iowa State University (2007)
[18]
Bodden, E., Tanter, E., Inostroza, M.: Joint point interfaces for safe and flexible decoupling of aspects. TOSEM’14 23(1)
[19]
Steimann, F., Pawlitzki, T., Apel, S., Kästner, C.: Types and modularity for implicit invocation with implicit announcement. TOSEM’10 20(1)
[20]
Rajan, H., Dyer, R., Hanna, Y.W., Narayanappa, H.: Preserving separation of concerns through compilation. In: SPLAT’06
[21]
Dyer, R., Rajan, H., Cai, Y.: An exploratory study of the design impact of language features for aspect-oriented interfaces. In: AOSD’12
[22]
Dyer, R., Rajan, H., Cai, Y.: Language features for software evolution and aspect-oriented interfaces: An exploratory study. TAOSD’10 10
[23]
Dyer, R., Bagherzadeh, M., Rajan, H., Cai, Y.: A preliminary study of quantified, typed events. In: ESCOT’10
[24]
Fernando, R., Dyer, R., Rajan, H.: Event type polymorhphism. In: FOAL’12
[25]
Xu, J., Rajan, H., Sullivan, K.: Understanding aspects via implicit invocation. In: ASE’04
[26]
Dingel, J., Garlan, D., Jha, S., Notkin, D.: Towards a formal treatment of implicit invocation using rely/guarantee reasoning. Formal Asp. Comput.’98 10(3)
[27]
Khatchadourian, R., Dovland, J., Soundarajan, N.: Enforcing behavioral constraints in evolving aspect-oriented programs. In: FOAL’08
[28]
Rebelo, H., Leavens, G.T., Lima, R.M.F., Borba, P., Ribeiro, M.: Modular aspect-oriented design rule enforcement with XPIDRs. In: FOAL’13
[29]
Clifton, C., Leavens, G., Noble, J.: MAO: Ownership and effects for more effective reasoning about aspects. In: ECOOP’07
[30]
Büchi, M., Weck, W.: The greybox approach: When blackbox specifications hide too much. Technical Report 297, Turku Center for Computer Science (1999)
[31]
Leavens, G.T., Naumann, D.A.: Behavioral subtyping, specification inheritance, and modular reasoning. Technical Report CS-TR-13-03, University of Central Florida (2013)
[32]
Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM’83 26(1)
[33]
Bagherzadeh, M., Dyer, R., Fernando, R.D., Sánchez, J., Rajan, H.: Modular reasoning in the presence of event subtyping. Technical Report 14-02b, Iowa State University (2015)
[34]
Rajan, H.: Unifying Aspect- and Object-Oriented Program Design. PhD thesis, The University of Virginia (2005)
[35]
Rajan, H.: Design pattern implementations in Eos. In: PLoP’07
[36]
Rajan, H., Sullivan, K.J.: Classpects: Unifying aspect- and objectoriented language design. In: ICSE’05
[37]
Rajan, H., Sullivan, K.: Eos: instance-level aspects for integrated system design. In: ESEC/FSE’03
[38]
Morgan, C.: Procedures, parameters, and abstraction: separate concerns. SCP’88 11(1)
[39]
Dhara, K.K., Leavens, G.T.: Forcing behavioral subtyping through specification inheritance. In: ICSE’97
[40]
Shaner, S.M., Leavens, G.T., Naumann, D.A.: Modular verification of higher-order methods with mandatory calls specified by model programs. In: OOPSLA’07
[41]
Abadi, M., Leino, K.: A logic of object-oriented programs. In: TAPSOFT’97
[42]
Boer, F.: A WP-calculus for OO. In: Foundations of Software Science and Computation Structures’99
[43]
Rinard, M., Salcianu, A., Bugrara, S.: A classification system and analysis for aspect-oriented programs. In: FSE’04
[44]
Oliveira, B.C.d.S., Schrijvers, T., Cook, W.R.: EffectiveAdvice: Disciplined advice with explicit effects. In: AOSD’10
[45]
Oliveira, B.c.d.s., Schrijvers, T., Cook, W.r.: MRI: Modular reasoning about interference in incremental programming. JFP’12 22(6)
[46]
Bagherzadeh, M., Rajan, H., Leavens, G.T., Mooney, S.: Translucid contracts for aspect-oriented interfaces. In: FOAL’10
[47]
Leavens, G.T., Weihl, W.E.: Specification and verification of objectoriented programs using supertype abstraction. Acta Informatica’95
[48]
Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. TOPLAS’94 16(6)
[49]
Long, Y., Mooney, S.L., Sondag, T., Rajan, H.: Implicit invocation meets safe, implicit concurrency. In: GPCE’10

Cited By

View all
  • (2016)A type-and-effect system for asynchronous, typed eventsProceedings of the 15th International Conference on Modularity10.1145/2889443.2889446(42-53)Online publication date: 14-Mar-2016
  • (2016)Specifying and Verifying Advanced Control FeaturesLeveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications10.1007/978-3-319-47169-3_7(80-96)Online publication date: 5-Oct-2016
  • (2016)Modular Reasoning in the Presence of Event SubtypingTransactions on Modularity and Composition I10.1007/978-3-319-46969-0_5(167-223)Online publication date: 30-Sep-2016

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
MODULARITY 2015: Proceedings of the 14th International Conference on Modularity
March 2015
145 pages
ISBN:9781450332491
DOI:10.1145/2724525
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]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 March 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Event subtyping
  2. event specification refinement
  3. event type inheritance
  4. modular rea- soning
  5. translucid contracts

Qualifiers

  • Research-article

Funding Sources

Conference

Modularity '15
Modularity '15: 14th International Conference on Modularity
March 16 - 19, 2015
CO, Fort Collins, USA

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2016)A type-and-effect system for asynchronous, typed eventsProceedings of the 15th International Conference on Modularity10.1145/2889443.2889446(42-53)Online publication date: 14-Mar-2016
  • (2016)Specifying and Verifying Advanced Control FeaturesLeveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications10.1007/978-3-319-47169-3_7(80-96)Online publication date: 5-Oct-2016
  • (2016)Modular Reasoning in the Presence of Event SubtypingTransactions on Modularity and Composition I10.1007/978-3-319-46969-0_5(167-223)Online publication date: 30-Sep-2016

View Options

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