Abstract | ||
---|---|---|
jContractor is a purely library based approach to support Design By Contract specifications such as preconditions, postconditions, class
invariants, and recovery and exception handling in Java. jContractor uses an intuitive naming convention, and standard Java syntax to instrument Java classes and enforce Design By Contract constructs.
The designer of a class specifies a contract by providing contract methods following jContractor naming conventions. jContractor uses Java Reflection to synthesize an instrumented version of a Java class by incorporating code that enforces the present
jContractor contract specifications. Programmers enable the run-time enforcement of contracts by either engaging the jContractor class loader or by explicitly instantiating objects using the jContractor object factory. Programmers can use exactly the same syntax for invoking methods and passing object references regardless
of whether contracts are present or not. Since jContractor is purely library-based, it requires no special tools such as modified compilers, modified JVMs, or pre-processors.
|
Year | DOI | Venue |
---|---|---|
1999 | 10.1007/3-540-48443-4_18 | Meta-Level Architectures and Reflection |
Keywords | Field | DocType |
jcontractor naming convention,instrumented version,instrument java class,java class,reflective java library,support design,jcontractor object factory,present jcontractor contract specification,jcontractor class loader,class invariants,jcontractor contract specification,jcontractor design pattern,java reflection,contract method,contract specification,java implementation,standard java syntax,design by contract | Programming language,Computer science,Java annotation,Design by contract,Java concurrency,Real time Java,Java syntax,Generics in Java,Java Modeling Language,Java,Distributed computing | Conference |
ISBN | Citations | PageRank |
3-540-66280-4 | 54 | 4.17 |
References | Authors | |
7 | 3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Murat Karaorman | 1 | 112 | 10.96 |
Urs Hölzle | 2 | 3492 | 346.29 |
John L. Bruno | 3 | 439 | 246.04 |