![]() |
![]() |
![]() |
![]() |
| Home | Projects | Our Team |
|
Projects These projects are focused on Aspect-Oriented Programming techniques for engineering a Runtime Assertion Checking for JML. Adapting JML for Java ME applications Members: Henrique Mostaert Rebęlo, Ricardo M. Ferreira Lima, Márcio Cornélio, Sérgio Soares, Gary T. Leavens Description: For Java Modeling Language is a behavioral interface specification language (BISL) designed for Java. However, despite de fact that JML was conceived to deal with Java programs, the existing JML compiler (jmlc) generates instrumented bytecode that refers to features that are not supported by Java ME applications. In this way, we are investigating how to implement or modify the current JML compiler using Aspect-Oriented Programming techniques for assertion checking purposes. As an expected result, Java SE as well as Java ME programs annotated with JML can be compiled using JML compiler and producing an instrumented bytecode complaint with both platforms.
A Mapping a subset of JML features into Aspects Members: Henrique Mostaert Rebęlo, Ricardo M. Ferreira Lima, Márcio Cornélio, Sérgio Soares, Gary T. Leavens Description: We are investigating how to map (represent) the JML features into AspectJ aspects. This mapping represents a semantic equivalence between JML and AspectJ. Its important to notice that we are carefully analyzing how to map the JML features into aspects. Because there are several ways, for example, to express a JML precondition using AspectJ. But, we are seeking the use of AspectJ constructs that generate a smaller instrumented bytecode as much as possible due to Java ME applications (constrained environment). Another thing to consider is that we also have to take careful when using AspectJ constructs. For example, if we use special AspectJ pointcuts, such as cflow or cflowbelow, we generate bytecode that are not complaint with Java ME programs. In this way, when choosing AspectJ constructs, some preliminary validation is fundamental for Java ME assertion checking purpose.
|
|
Centro de Informática UFPE |