{"title":"Modular verification of strongly invasive aspects: summary","authors":"E. Katz, Shmuel Katz","doi":"10.1145/1509837.1509840","DOIUrl":"https://doi.org/10.1145/1509837.1509840","url":null,"abstract":"An extended specification for aspects, and a new verification method based on model checking are used to establish the correctness of strongly-invasive aspects, independently of any particular base program to which they may be woven. Such aspects can change the underlying base program variables to new states, and after the aspect advice has completed, the base program code continues from states that were previously unreachable.","PeriodicalId":245301,"journal":{"name":"Workshop on Foundations of Aspect-Oriented Languages","volume":"136 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-03-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133615800","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"De-constructing and re-constructing aspect-orientation","authors":"W. Harrison","doi":"10.1145/1394496.1394503","DOIUrl":"https://doi.org/10.1145/1394496.1394503","url":null,"abstract":"Through its decade-and-a-half long evolution, the aspect-oriented software community has occasionally struggled with its identity -- revisiting the question \"What kinds of technologies make up aspect-oriented software and who should be interested in it?\" We attempt to de-construct \"aspect-oriented\" into several issues making up its foundation, believing that the community is inclusive and that work exploring or exploiting any of these concepts fits within the community. Although their historical setting contributes somewhat to the understanding of why different authors have emphasized one or more of these issues, we analyze them from an intrinsic point-of-view, to highlight broader or deeper issues that may lie behind the constructs currently made available, in the hope that \"aspect-oriented\" software technologies can be extended to provide an even stronger basis for software than they do today.","PeriodicalId":245301,"journal":{"name":"Workshop on Foundations of Aspect-Oriented Languages","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132746122","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A synchronized block join point for AspectJ","authors":"Chenchen Xi, B. Harbulot, J. Gurd","doi":"10.1145/1394496.1394501","DOIUrl":"https://doi.org/10.1145/1394496.1394501","url":null,"abstract":"Designing and implement model for a synchronized block join point to encapsulate crosscutting synchronization concerns into single unit in AspectJ.","PeriodicalId":245301,"journal":{"name":"Workshop on Foundations of Aspect-Oriented Languages","volume":"161 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133096689","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Onspect: ontology based aspects","authors":"Parisa Rashidi, Roger T. Alexander","doi":"10.1145/1394496.1394502","DOIUrl":"https://doi.org/10.1145/1394496.1394502","url":null,"abstract":"In software engineering community, semantic interoperability usually has been ignored despite its significant importance. To achieve semantic level interoperability, ontology as a powerful means of expressing and sharing knowledge can be used to add meaningful standard semantics to syntactic annotations. In this paper we describe semantic pointcuts based on ontology modeling. Current AOP models, like many other programming models, primarily rely on a syntactic representation and mostly ignore pointcut expression at semantic level. We present a pointcut modeling approach based on semantics instead of underlying program's syntax, by using ontology modeling to conceptually modularize crosscutting concerns.","PeriodicalId":245301,"journal":{"name":"Workshop on Foundations of Aspect-Oriented Languages","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133012943","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Certificate translation for specification-preserving advices","authors":"G. Barthe, César Kunz","doi":"10.1145/1394496.1394498","DOIUrl":"https://doi.org/10.1145/1394496.1394498","url":null,"abstract":"Aspect Oriented Programming (AOP) has significant potential to separate functionality and cross-cutting concerns. In particular, AOP supports an incremental development process, in which the expected functionality is provided by a baseline program, that is successively refined, possibly by third parties, with aspects that improve non-functional concerns, such as efficiency and security. Therefore, AOP is a natural enabler for Proof Carrying Code (PCC) scenarios.\u0000 The purpose of this article is to explore a PCC architecture that accommodates an incremental development process. We extend our earlier work on certificate translation, and show in the context of a very simple AOP language that it is possible to generate certificates of executable code from proofs of aspect-oriented programs. To achieve this goal, we introduce a notion of specification-preserving advice, and provide a verification method for programs with specification-preserving advices.","PeriodicalId":245301,"journal":{"name":"Workshop on Foundations of Aspect-Oriented Languages","volume":"109 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131047979","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Raffi Khatchadourian, Johan Dovland, N. Soundarajan
{"title":"Enforcing behavioral constraints in evolving aspect-oriented programs","authors":"Raffi Khatchadourian, Johan Dovland, N. Soundarajan","doi":"10.1145/1394496.1394499","DOIUrl":"https://doi.org/10.1145/1394496.1394499","url":null,"abstract":"Reasoning, specification, and verification of Aspect-Oriented (AO) programs presents unique challenges especially as such programs evolve over time. Components, base-code and aspects alike, may be easily added, removed, interchanged, or presently unavailable at unpredictable frequencies. Consequently, modular reasoning of such programs is highly attractive as it enables tractable evolution, otherwise necessitating that the entire program be reexamined each time a component is changed. It is well known, however, that modular reasoning about AO programs is difficult. In this paper, we present our ongoing work in constructing a relyguarantee style reasoning system for the Aspect-Oriented Programming (AOP) paradigm, adopting a trace-based approach to deal with the plug-n-play nature inherent to these programs, thus easing AOP evolution.","PeriodicalId":245301,"journal":{"name":"Workshop on Foundations of Aspect-Oriented Languages","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124583811","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Incremental analysis of interference among aspects","authors":"E. Katz, Shmuel Katz","doi":"10.1145/1394496.1394500","DOIUrl":"https://doi.org/10.1145/1394496.1394500","url":null,"abstract":"Often, insertion of several aspects into one system is desired and in that case the problem of interference among the different aspects might arise, even if each aspect individually woven is correct relative to its specification. In this type of interference, one aspect can prevent another from having the required effect on a woven system. Such interference is defined and specifications of aspects are described. An incremental proof strategy based on model checking pairs of aspects for a generic model expressing the specifications is defined. When an aspect is added to a library of noninterfering aspects, only its interaction with each of the aspects from the library needs to be checked. Such checks for each pair of aspects are proven sufficient to detect interference or establish interference freedom for any order of application of any collection of aspects in a library. Implemented examples of interfering aspects are analyzed and the results are described, showing the advantage of the incremental strategy over a direct proof in space needed for the model check. Early analysis and detection of such interference in libraries of aspects will enable informed choice of the aspects to be applied, and of the weaving order.","PeriodicalId":245301,"journal":{"name":"Workshop on Foundations of Aspect-Oriented Languages","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131781128","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Redundancy-free residual dispatch: using ordered binary decision diagrams for efficient dispatch","authors":"Andreas Sewe, Christoph Bockisch, M. Mezini","doi":"10.1145/1394496.1394497","DOIUrl":"https://doi.org/10.1145/1394496.1394497","url":null,"abstract":"State-of-the-art implementations of common aspect-oriented languages weave residual dispatching logic for advice whose applicability cannot be determined at compile-time. But being derived from the residue's formula representation the woven code often implements an evaluation strategy which mandates redundant evaluations of atomic pointcuts. In order to improve upon the average-case run-time cost, this paper presents an alternative representation which enables efficient residual dispatch, namely ordered binary decision diagrams. In particular, this representation facilitates the complete elimination of redundant evaluations across all pointcuts sharing a join point shadow.","PeriodicalId":245301,"journal":{"name":"Workshop on Foundations of Aspect-Oriented Languages","volume":"264 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133437722","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Requirement enforcement by transformation automata","authors":"Douglas R. Smith","doi":"10.1145/1233833.1233835","DOIUrl":"https://doi.org/10.1145/1233833.1233835","url":null,"abstract":"The goal of this work is to treat safety and security policies as requirements to be composed in an aspectual style with a developing application. Policies can be expressed either logically or by means of automata. We introduce the concept of transformation automaton, which is an automaton whose transitions are labeled with program transformations. A transformation automaton is applied to a target program by a sound static analysis procedure. The effect is to perform a global transformation that enforces the specified policy. The semantic effect of this global transformation is explored.\u0000 In previous work we discussed how the intent of an AspectJ-style aspect can be expressed precisely and abstractly as a state invariant. Here, this result is generalized to handle invariants that are conditional and stated over both events and state properties. A policy stated in such a logical format can be translated to a transformation automaton that enforces it in a target program. The translation process is defined by a collection of inference schemes that can be mechanically instantiated and then solved, at least partially automatically, by deductive calculations.","PeriodicalId":245301,"journal":{"name":"Workshop on Foundations of Aspect-Oriented Languages","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-03-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126586619","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Towards a type system for detecting never-matching pointcut compositions","authors":"Tomoyuki Aotani, H. Masuhara","doi":"10.1145/1233833.1233837","DOIUrl":"https://doi.org/10.1145/1233833.1233837","url":null,"abstract":"Pointcuts in the current AspectJ family of languages are loosely checked because the languages allow compositions of pointcuts that never match any join points, which developers are unlikely to intend, for example, set (* *)&&get (* *). We formalize the problem by defining well-formedness of pointcuts and design a novel type system for assuring well-formedness. The type of pointcuts is encoded by using record, union and the bottom types.","PeriodicalId":245301,"journal":{"name":"Workshop on Foundations of Aspect-Oriented Languages","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-03-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124604256","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}