Aspect-Oriented Software Development最新文献

筛选
英文 中文
Model-driven adaptive delegation 模型驱动的自适应委托
Aspect-Oriented Software Development Pub Date : 2013-03-24 DOI: 10.1145/2451436.2451445
P. Nguyen, Grégory Nain, Jacques Klein, T. Mouelhi, Yves Le Traon
{"title":"Model-driven adaptive delegation","authors":"P. Nguyen, Grégory Nain, Jacques Klein, T. Mouelhi, Yves Le Traon","doi":"10.1145/2451436.2451445","DOIUrl":"https://doi.org/10.1145/2451436.2451445","url":null,"abstract":"Model-Driven Security is a specialization of Model-Driven Engineering (MDE) that focuses on making security models productive, i.e., enforceable in the final deployment. Among the variety of models that have been studied in a MDE perspective, one can mention access control models that specify the access rights. So far, these models mainly focus on static definitions of access control policies, without taking into account the more complex, but essential, delegation of rights mechanism. User delegation is a meta-level mechanism for administrating access rights, which allows a user without any specific administrative privileges to delegate his/her access rights to another user. This paper analyses the main hard-points for introducing various delegation semantics in model-driven security and proposes a model-driven framework for 1) specifying access control, delegation and the business logic as separate concerns; 2) dynamically enforcing/weaving access control policies with various delegation features into security-critical systems; and 3) providing a flexibly dynamic adaptation strategy. We demonstrate the feasibility and effectiveness of our proposed solution through the proof-of-concept implementations of different systems.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115558498","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}
引用次数: 12
A pointcut language for setting advanced breakpoints 一种用于设置高级断点的切入点语言
Aspect-Oriented Software Development Pub Date : 2013-03-24 DOI: 10.1145/2451436.2451454
Haihan Yin, Christoph Bockisch, M. Aksit
{"title":"A pointcut language for setting advanced breakpoints","authors":"Haihan Yin, Christoph Bockisch, M. Aksit","doi":"10.1145/2451436.2451454","DOIUrl":"https://doi.org/10.1145/2451436.2451454","url":null,"abstract":"In interactive debugging, it is an essential task to set breakpoints specifying where a program should be suspended at runtime to allow interaction. A debugging session may use multiple logically related breakpoints so that the sequence of their (de)activations leads to the expected suspension with the least irrelevant suspensions. A (de)activation is sometimes decided by some runtime context values related to that breakpoint. However, existing breakpoints, which are mainly based on line locations, are not expressive enough to describe the logic and the collaboration. Programmers have to manually perform some repeated tasks, thus debugging efficiency is decreased. In this paper, we identify five frequently encountered debugging scenarios that require to use multiple breakpoints. For such scenarios, it is often easier than using the traditional debugger to write pointcuts in an aspect-oriented language, and to suspend the execution at the selected join points. However, existing languages cannot handle the scenarios neatly and uniformly. Therefore, we design and implement a breakpoint language that uses pointcuts to select suspension times in the program. Our language allows programmers to use comprehensible source-level abstractions to define breakpoints. Also, multiple breakpoints can be freely composed to express their collaboration. In this way, an expected suspension can be expressively programmed and reached with less or even no irrelevant suspensions.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123959183","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}
引用次数: 4
Efficient language implementation with ALIA4J and EMFText: forum demonstration 使用ALIA4J和EMFText的高效语言实现:论坛演示
Aspect-Oriented Software Development Pub Date : 2013-03-24 DOI: 10.1145/2457392.2457398
Christoph Bockisch, Andreas Sewe
{"title":"Efficient language implementation with ALIA4J and EMFText: forum demonstration","authors":"Christoph Bockisch, Andreas Sewe","doi":"10.1145/2457392.2457398","DOIUrl":"https://doi.org/10.1145/2457392.2457398","url":null,"abstract":"Developing extensions to general-purpose langauges or domain-specific languages with support for new kinds of abstractions is an ongoing trend. Modern language workbenches, such as EMFText of Xtext, support this trend and facilitate implementing langauges in terms of transformations from the new language into an established (intermediate) language. Often, however, the implementation of one element in the source language becomes scattered and tangled in the target language, which makes transformations complex. Furthermore, even though many languages share core concepts, current approaches do not support sharing transformations that implement their semantics; the only possibility of re-using transformations from a language is to extend it syntactically. We have identified dispatching as fundamental to most abstraction mechanisms. With the ALIA4J approach, we provide a meta-model of dispatching to act as rich and extensible intermediate language that allows more direct transformation. The semantics of core language concepts can be modularly implemented as extension of the meta-model. For the execution of the intermediate language, we provide both platform-independent and platform-dependent Java Virtual Machine extensions, the latter of which even allows the modular implementation of machine code optimizations.\u0000 In this demo, participants get an overview of advanced dispatching and the ALIA4J approach. By the example of a language for text-based adventure games, they will see the usage of ALIA4J as back-end for a language developed in EMFText. Finally, the implementation of new atomic language concepts and their optimization is demonstrated.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"01 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129136187","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}
引用次数: 0
Motherhood and apple pie: modularity in modern applications and tools to support it 母性和苹果派:现代应用程序中的模块化和支持它的工具
Aspect-Oriented Software Development Pub Date : 2013-03-24 DOI: 10.1145/2457392.2457396
S. Reiss
{"title":"Motherhood and apple pie: modularity in modern applications and tools to support it","authors":"S. Reiss","doi":"10.1145/2457392.2457396","DOIUrl":"https://doi.org/10.1145/2457392.2457396","url":null,"abstract":"Modularity has been around for a long time. Good designers attempt to make use of it as much as possible. Languages have been developed to support it. Language extensions have attempted to deal with the situations where languages themselves fail. Tools have been designed to accommodate and encourage it. Most of these efforts, however, are geared toward \"simple\" homogeneous applications. Unfortunately, modern applications can be a lot more complex and bring up new and exciting challenges in terms of modularity. Today's applications, even relatively simple ones, involve multiple processes running on multiple machines, processes that are often external to the application itself and out of the control of the developers. The individual processes involve multiple threads, complex thread interactions, and opaque libraries. All these affect the way we look at systems and how we approach modularity.\u0000 In this talk we will look at the organization of several applications we have been building including the programming environment Code Bubbles, the semantic search tool S6, and our intelligent office sign, and consider how modular they are, how flexible their design is, and how we succeeded or failed in accommodating modularity in the face of other challenges such as portability, maintainability, efficiency, and extensibility. We will also look at how programming environments and tools, which are integral to the programming process, can either help or hinder modularity.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"258 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123065862","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}
引用次数: 0
Reactive behavior in object-oriented applications: an analysis and a research roadmap 面向对象应用程序中的反应性行为:分析和研究路线图
Aspect-Oriented Software Development Pub Date : 2013-03-24 DOI: 10.1145/2451436.2451442
G. Salvaneschi, M. Mezini
{"title":"Reactive behavior in object-oriented applications: an analysis and a research roadmap","authors":"G. Salvaneschi, M. Mezini","doi":"10.1145/2451436.2451442","DOIUrl":"https://doi.org/10.1145/2451436.2451442","url":null,"abstract":"Reactive applications are difficult to implement. Traditional solutions based on event systems and the Observer pattern have a number of inconveniences, but programmers bear them in return for the benefits of OO design. On the other hand, reactive approaches based on automatic updates of dependencies - like functional reactive programming and dataflow languages - provide undoubted advantages but do not fit well with mutable objects. In this paper, we provide a research roadmap to overcome the limitations of the current approaches and to support reactive applications in the OO setting. To establish a solid background for our investigation, we propose a conceptual framework to model the design space of reactive applications and we study the flaws of the existing solutions. Then we highlight how reactive languages have the potential to address those issues and we formulate our research plan.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116708346","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}
引用次数: 33
Rewriting javascript module system 重写javascript模块系统
Aspect-Oriented Software Development Pub Date : 2013-03-24 DOI: 10.1145/2457392.2457412
Junhee Cho
{"title":"Rewriting javascript module system","authors":"Junhee Cho","doi":"10.1145/2457392.2457412","DOIUrl":"https://doi.org/10.1145/2457392.2457412","url":null,"abstract":"Although JavaScript is one of the major languages used for web and other general applications, it does not have a language-level module system. Lack of module system causes name conflicts when programmer uses libraries. We introduce a JavaScript module system with formal semantics. As an implementation, we also introduce a source-to-source transformation from JavaScript with module to JavaScript itself for current JavaScript engines to use them.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122769022","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}
引用次数: 1
A framework for analyzing and transforming source code supporting multiple programming languages 用于分析和转换支持多种编程语言的源代码的框架
Aspect-Oriented Software Development Pub Date : 2013-03-24 DOI: 10.1145/2457392.2457408
Kazunori Sakamoto
{"title":"A framework for analyzing and transforming source code supporting multiple programming languages","authors":"Kazunori Sakamoto","doi":"10.1145/2457392.2457408","DOIUrl":"https://doi.org/10.1145/2457392.2457408","url":null,"abstract":"We propose a framework for processing source code supporting multiple programming languages, named UNICOEN. UNICOEN reduces development costs and differences between tool implementations. We evaluated UNICOEN by developing a tool which supports 7 programming languages.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128075659","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}
引用次数: 0
Past expression: encapsulating pre-states at post-conditions by means of AOP 过去表达式:通过AOP封装后置条件的预状态
Aspect-Oriented Software Development Pub Date : 2013-03-24 DOI: 10.1145/2451436.2451453
Jooyong Yi, Robby, Xianghua Deng, Abhik Roychoudhury
{"title":"Past expression: encapsulating pre-states at post-conditions by means of AOP","authors":"Jooyong Yi, Robby, Xianghua Deng, Abhik Roychoudhury","doi":"10.1145/2451436.2451453","DOIUrl":"https://doi.org/10.1145/2451436.2451453","url":null,"abstract":"Providing a pair of pre and post-condition for a method or a procedure is a typical way of program specification. When specifying a post-condition, it is often necessary to compare the post-state value of a variable with its pre-state value. To access a pre-sate value at a post-condition, most contract languages such as Eiffel and JML provide an old expression; old(x) returns a pre-state value of variable x. However, old expressions pose several problems, most notably the lack of encapsulation; old(x) does not encapsulate an object graph rooted from the pre-state value of x. Thus, method-call expressions like x.equals(old(x)) should generally not be used, and instead each field of x should be compared individually as in x.f1==old(x.f1) & x.f2==old(x.f2). In this paper, we first describe this lack of encapsulation and other problems of old expressions in more detail. Then, to address those problems, we propose our novel past expression along with its formal semantics. We also describe how our past expression can be supported during runtime assertion checking. We explain the involved problems, and show how we solve them. We implement our solution by means of AOP where we exploit various primitive pointcuts including our custom branch pointcut.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128089327","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}
引用次数: 3
Using roles to model crosscutting concerns 使用角色对横切关注点建模
Aspect-Oriented Software Development Pub Date : 2013-03-24 DOI: 10.1145/2451436.2451449
Fernando Sérgio Barbosa, Ademar Aguiar
{"title":"Using roles to model crosscutting concerns","authors":"Fernando Sérgio Barbosa, Ademar Aguiar","doi":"10.1145/2451436.2451449","DOIUrl":"https://doi.org/10.1145/2451436.2451449","url":null,"abstract":"In object oriented languages the problem of crosscutting concerns, due to limitations in the composition mechanisms, is recurrent. In order to reduce this problem we propose to use roles as a way of composing classes that extends the Object Oriented approach and can be used to model crosscutting concerns. To support our approach we developed a role language that extends Java, while being compatible with existing virtual machines. As validation we conducted a case study using three open source systems. We identified crosscutting concerns in the systems and then modeled them using our role approach. Results show that roles are a viable option for modeling crosscutting concerns.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121841497","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}
引用次数: 4
Context traits: dynamic behaviour adaptation through run-time trait recomposition 上下文特征:通过运行时特征重组的动态行为适应
Aspect-Oriented Software Development Pub Date : 2013-03-24 DOI: 10.1145/2451436.2451461
Sebastián González, K. Mens, Marius Colacioiu, W. Cazzola
{"title":"Context traits: dynamic behaviour adaptation through run-time trait recomposition","authors":"Sebastián González, K. Mens, Marius Colacioiu, W. Cazzola","doi":"10.1145/2451436.2451461","DOIUrl":"https://doi.org/10.1145/2451436.2451461","url":null,"abstract":"Context-oriented programming emerged as a new paradigm to support fine-grained dynamic adaptation of software behaviour according to the context of execution. Though existing context-oriented approaches permit the adaptation of individual methods, in practice behavioural adaptations to specific contexts often require the modification of groups of interrelated methods. Furthermore, existing approaches impose a composition semantics that cannot be adjusted on a domain-specific basis. The mechanism of traits seems to provide a more appropriate level of granularity for defining adaptations, and brings along a flexible composition mechanism that can be exploited in a dynamic setting. This paper explores how to achieve context-oriented programming by using traits as units of adaptation, and trait composition as a mechanism to introduce behavioural adaptations at run time. First-class contexts reify relevant aspects of the environment in which the application executes, and they directly influence the trait composition of the objects that make up the application. To resolve conflicts arising from dynamic composition of behavioural adaptations, programmers can explicitly encode composition policies. With all this, the notion of context traits offers a promising approach to implementing dynamically adaptable systems. To validate the context traits model we implemented a JavaScript library and conducted case studies on context-driven adaptability.","PeriodicalId":353153,"journal":{"name":"Aspect-Oriented Software Development","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123592185","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}
引用次数: 34
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信