scholarly journals Aspect-oriented programming and modular reasoning

Author(s):  
G. Kiczales ◽  
M. Mezini
2012 ◽  
Vol 22 (6) ◽  
pp. 797-852 ◽  
Author(s):  
BRUNO C. D. S. OLIVEIRA ◽  
TOM SCHRIJVERS ◽  
WILLIAM R. COOK

AbstractIncremental Programming (IP) is a programming style in which new program components are defined as increments of other components. Examples of IP mechanisms include Object-oriented programming inheritance, aspect-oriented programming advice, and feature-oriented programming. A characteristic of IP mechanisms is that, while individual components can be independently defined, the composition of components makes those components become tightly coupled, sharing both control and data flows. This makes reasoning about IP mechanisms a notoriously hard problem: modular reasoning about a component becomes very difficult; and it is very hard to tell if two tightly coupled components interfere with each other's control and data flows. This paper presents modular reasoning about interference (MRI), a purely functional model of IP embedded in Haskell. MRI models inheritance with mixins and side effects with monads. It comes with a range of powerful reasoning techniques: equational reasoning, parametricity, and reasoning with algebraic laws about effectful operations. These techniques enable MRI in the presence of side effects. MRI formally captures harmlessness, a hard-to-formalize notion in the interference literature, in two theorems. We prove these theorems with a non-trivial combination of all three reasoning techniques.


Author(s):  
Arsène Sabas ◽  
Subash Shankar ◽  
Virginie Wiels ◽  
John-Jules Ch. Meyer ◽  
Michel Boyer

Aspect-Oriented (AO) Technology is a post-object-oriented technology used to overcome limitations of Object-Oriented (OO) Technology, such as the cross-cutting concern problem. Aspect-Oriented Programming (AOP) also offers modularity and traceability benefits. Yet, reasoning, specification, and verification of AO systems present unique challenges, especially as such systems evolve over time. Consequently, formal modular reasoning of such systems is highly attractive as it enables tractable evolution, otherwise necessitating that the entire system be re-examined each time a component is changed or is added. The aspect interactions problem is also an open issue in the AOP area. To deal with this problem, the authors choose to use Category Theory (CT) and Algebraic Specification (AS) techniques. In this chapter, the authors present an aspect-oriented specification and verification approach. The approach is expressive and allows for formal modular reasoning.


Author(s):  
Augusto Flávio A. A. Freire ◽  
Américo Falcone Sampaio ◽  
Luis Heustakio L. Carvalho ◽  
Otávio Medeiros ◽  
Nabor C. Mendonça

2011 ◽  
Vol 46 (2) ◽  
pp. 123-126
Author(s):  
Thomas Würthinger ◽  
Walter Binder ◽  
Danilo Ansaloni ◽  
Philippe Moret ◽  
Hanspeter Mössenböck

Sign in / Sign up

Export Citation Format

Share Document