Abstract. In this paper we present an approach towards safe software composition based on aspect-orientation. Aspects enable the systematic addition of code into existing programs but often they also introduce errors. In order to provide safe aspects for software composition we address the verification of the aspect-oriented language paradigm. We construct a basic calculus for aspects with types and prove formally type safety. More precisely, this paper presents the following contributions (a) a fully formalized type system for the Theory of Objects including the proof of type safety, (b) a theory of aspects based on the Theory of Objects including a type system for aspects, and (c) the definition of a notion of type safety for aspects including its proof. The entire theory and proofs are carried out in the theorem prover Isabelle/HOL. In this paper we present an approach towards safe software composition based on aspect-orientation. Aspects enable the systematic addition of code into existing programs but often they also introduce errors. In order to provide safe aspects for software composition we address the verification of the aspect-oriented language paradigm. We construct a basic calculus for aspects with types and prove formally type safety. More precisely, this paper presents the following contributions (a) a fully formalized type system for the Theory of Objects including the proof of type safety, (b) a theory of aspects based on the Theory of Objects including a type system for aspects, and (c) the definition of a notion of type safety for aspects including its proof. The entire theory and proofs are carried out in the theorem prover Isabelle/HOL.
[1]
Radha Jagadeesan,et al.
Typed parametric polymorphism for aspects
,
2006,
Sci. Comput. Program..
[2]
David Walker,et al.
A type-theoretic interpretation of pointcuts and advice
,
2006,
Sci. Comput. Program..
[3]
M. F.,et al.
Bibliography
,
1985,
Experimental Gerontology.
[4]
Henk Barendregt,et al.
The Lambda Calculus: Its Syntax and Semantics
,
1985
.
[5]
Lawrence Charles Paulson,et al.
Isabelle: A Generic Theorem Prover
,
1994
.
[6]
Gary T. Leavens,et al.
MiniMAO1: Investigating the Semantics of Proceed
,
2005
.
[7]
Tobias Nipkow.
More Church–Rosser Proofs
,
2004,
Journal of Automated Reasoning.
[8]
Ludovic Henrio,et al.
A Mechanized Model of the Theory of Objects
,
2007,
FMOODS.
[9]
Christian Urban,et al.
Nominal Techniques in Isabelle/HOL
,
2005,
Journal of Automated Reasoning.
[10]
Daniel P. Friedman,et al.
Aspect-Oriented Programming is Quantification and Obliviousness
,
2000
.
[11]
Martín Abadi,et al.
A Theory of Objects
,
1996,
Monographs in Computer Science.
[12]
Florian Kammüller,et al.
Towards Type Safety of Aspect-Oriented Languages
,
2006
.
[13]
Matthias Felleisen,et al.
A Syntactic Approach to Type Soundness
,
1994,
Inf. Comput..
[14]
Florian Kammller.
Interactive Theorem Proving in Software Engineering
,
2008
.
[15]
Lawrence Charles Paulson,et al.
Isabelle/HOL: A Proof Assistant for Higher-Order Logic
,
2002
.