Delegation is a powerful concept in access control systems, which allows users to assign all or part of their permissions to other users. Several types of delegation models for role-based access control have been prop...
详细信息
ISBN:
(纸本)9781424433094
Delegation is a powerful concept in access control systems, which allows users to assign all or part of their permissions to other users. Several types of delegation models for role-based access control have been proposed so far However, most existing works focus on the specification of delegation policies and there is very, little work on the monitoring and enforcement of such policies at runtime. In this paper, we use a security approach combining formal methods and aspect-oriented programming for specifying and enforcing delegation policies. In our approach, delegation models and their characteristics are specified formally, using TemporalZ, which is a combination of Z notation and temporal logic. Then, we verify, the formal specification to ensure consistency using theorem proving. Finally, we generate automatically a set of aspects in the aspect-oriented language ALPHA from the TemporalZ specifications. These aspects enforce the specified delegation policies at runtime.
Recently, language extensions have been proposed for Java and C# to support pattern-based reflective declaration. These extensions introduce a disciplined form of meta-programming and aspect-oriented programming to ma...
详细信息
ISBN:
(纸本)9781595938602
Recently, language extensions have been proposed for Java and C# to support pattern-based reflective declaration. These extensions introduce a disciplined form of meta-programming and aspect-oriented programming to mainstream languages: They allow members of a class (i.e., fields and methods) to be declared by statically iterating over and pattern-matching on members of other classes. Such techniques, however, have been unable to safely express simple, but common, idioms such as declaring getter and setter methods for fields. In this paper, we present a mechanism that addresses the lack of expressiveness in past work without sacrificing safety. Our technique is based on the idea of nested patterns that elaborate the outer-most pattern with blocking or enabling conditions. We implemented this mechanism in a language, MorphJ. We demonstrate the expressiveness of MorphJ with real-world applications. In particular, the MorphJ reimplementation of DSTM2, a software transactional memory library, reduces 1,107 lines of Java reflection and bytecode engineering library calls to just 374 lines of MorphJ code. At the same time, the MorphJ solution is both high level and safer, as MorphJ can separately type check generic classes and catch errors early. We present and formalize the MorphJ type system, and offer a type-checking algorithm.
aspect-oriented programming technology implements the software systems using crosscutting. aspect-orientation can be modeled by extending UML, and AOSD model profile can be designed in the meta model. The profile buil...
详细信息
ISBN:
(纸本)9780769534329
aspect-oriented programming technology implements the software systems using crosscutting. aspect-orientation can be modeled by extending UML, and AOSD model profile can be designed in the meta model. The profile builds the aspect models from structural model, behavioral model, aspect and aspect weaving. Timing requirements could be separated from the system according the separation of concerns techniques, expressed as a time-aspect independence of the system, the real-time systems could be modeled from the static structure, dynamic behaviors and weaving of the time-aspect
aspect-oriented programming (AOP) appears to be a promising paradigm for software security hardening. Using AOP, security experts can be responsible for coding security properties, and developers can concentrate on th...
详细信息
aspect-oriented programming (AOP) appears to be a promising paradigm for software security hardening. Using AOP, security experts can be responsible for coding security properties, and developers can concentrate on the basic functionality of the program. aspectJ extends the Java programming language to implement crosscutting concerns modularly in general. In this paper, we have extended aspectJ with new pointcuts in order to detect integer overflows and underflows in Java. Integer overflows and underflows in Java occur silently without throwing an exception. A malicious user can exploit them to produce a security breach. Hence, we implement new pointcuts: addition, multiplication, and subtraction that allow to write advices around integer arithmetic operations to detect integer overflow and underflow and consequently prevent considerable number of security breaches.
In contemporary aspect-oriented languages, pointcuts are usually specified directly in terms of the structure of the source code. The definition of such low-level pointcuts requires aspect developers to have a profoun...
详细信息
ISBN:
(纸本)9783540718352
In contemporary aspect-oriented languages, pointcuts are usually specified directly in terms of the structure of the source code. The definition of such low-level pointcuts requires aspect developers to have a profound understanding of the entire application's implementation and often leads to complex, fragile and hard-to-maintain pointcut definitions. To resolve these issues, we present an aspect-oriented programming system that features a logic-based pointcut language that is open such that it can be extended with application-specific pointcut predicates. These predicates define an application-specific model that serves as a contract that base program developers provide and aspect developers can depend upon. As a result, pointcuts can be specified in terms of this more high-level model of the application which confines all intricate implementation details that are otherwise exposed in the pointcut definitions themselves. (c) 2007 Elsevier Ltd. All rights reserved.
An aspect-oriented. declarative, security policy specification language is presented, for enforcement by In-lined Reference Monitors. The semantics of the language establishes a formal connection between aspect-Orient...
详细信息
ISBN:
(纸本)9781595939364
An aspect-oriented. declarative, security policy specification language is presented, for enforcement by In-lined Reference Monitors. The semantics of the language establishes a formal connection between aspect-oriented programming and In-lined Reference Monitoring wherein policy specifications denote aspect-oriented security automata-security automata whose edge labels are encoded as pointcut expressions. The prototype language implementation enforces these security policies by automatically rewriting Java bytecode programs so as to detect and prevent policy violations at runtime.
This paper aims to present an awareness service, named Aw2SOA, which was developed in order to support distributed groupware design in WGWSOA environment. It is a middleware specific service which was implemented acco...
详细信息
ISBN:
(纸本)9781424416509
This paper aims to present an awareness service, named Aw2SOA, which was developed in order to support distributed groupware design in WGWSOA environment. It is a middleware specific service which was implemented according to SOA principles and aspect-oriented concepts. In groupware literature, service-oriented approach is suggested. aiming to solve reuse and evolution requirements. However, awareness support is fulfilled by similar functionalities implemented in different modules. As a result, activities related to the maintenance and evolution of this matter cannot be considered as easy tasks. WGWSOA (Web-based Groupware Service-oriented Architecture) is based on middleware services for collaborative applications.
To reduce the manual effort of assessing potential affected program parts during software evolution, we develop a tool, called Celadon, which automates the change impact analysis for aspectJ programs. Celadon is imple...
详细信息
ISBN:
(纸本)9781605580791
To reduce the manual effort of assessing potential affected program parts during software evolution, we develop a tool, called Celadon, which automates the change impact analysis for aspectJ programs. Celadon is implemented in the context of the Eclipse environment and designed as a plugin. It analyzes the source code of two aspectJ software versions, and decomposes their differences into a set of atomic changes together with their dependence relationships. The analysis result is reported in terms of impacted program parts and affected tests. For each affected test, Celadon also identifies a subset of affecting changes that are responsible for the test's behavior change. In particular, as one of its applications, Celadon helps facilitate fault localization by isolating failure-inducing changes for one specific affected test from other irrelevant changes.
The potential of aspect-oriented programming to represent cross-cutting concerns as reusable components has yet to be fully realized. Indeed, authors have detailed significant challenges in creating reusable aspect co...
详细信息
ISBN:
(纸本)9781605580791
The potential of aspect-oriented programming to represent cross-cutting concerns as reusable components has yet to be fully realized. Indeed, authors have detailed significant challenges in creating reusable aspect component libraries. Proposed solutions include restricting the power of aspects upfront, inferring concern interaction, and shaping base code to conform to abstract design rules. Another proposed strategy is to reduce obliviousness in return for increased modularity by extending aspectJ with explicit join points (EJPs). This paper presents the results of an empirical case study that aides in the understanding of the tradeoffs between obliviousness and modularity. We present a refactoring of the exception handling concern for three real-life Java applications to use EJPs instead of oblivious aspects. The empirical differences between this version and an equivalent oblivious version are analyzed. Finally, we present guiding principles on how to strike a favorable balance between obliviousness and modularity.
Design patterns provide solutions to recurring design problems in object-orientedprogramming. Design patterns typically crosscut class boundaries so previous work aimed at improving modularity of their implementation...
详细信息
ISBN:
(纸本)9783540698234
Design patterns provide solutions to recurring design problems in object-orientedprogramming. Design patterns typically crosscut class boundaries so previous work aimed at improving modularity of their implementations. A series of recent studies has focused on aspect-oriented programming while other crosscutting techniques such as collaboration-based designs have remained unexplored. In this paper, we address this limitation by presenting a qualitative case study based on the Gang-of-Four design patterns comparing and contrasting mechanisms of representative languages of collaboration-based designs (Jak) and aspect-oriented programming (aspectJ). Our work yields guidelines for using both paradigms when implementing design patterns exploiting their relative strengths.
暂无评论