Back IEEE tutorial on advanced computing Our Bureau
Thiruvananthapuram , July 23 The IEEE Computer Society and IEEE Kerala Section have announced a one-day tutorial in the series, "Frontiers in computing practice: AOP and JML - Novel programming paradigms for the Java programmer." The tutorial will be held from 9:30 a.m. on Saturday, July 29, at the Amphitheatre of the Centre for Development of Advanced Computing (C-DAC) here. Dr Venkatesh Choppella and Mr Satish Babu will anchor the session, an IEEE spokesman said. The last decade has seen Java transition into a mature, powerful, well-supported language capable of building scalable applications for the enterprise. Much intellectual effort has gone into exploring extensions to the core Java language. Two of these extensions are gradually gaining ground: Aspect/J, the Java extensions for Aspect-Oriented Programming (AOP), and Java Modeling Language (JML). Although completely different in nature, both these extensions demonstrate the power of the core Java language. Also, both are completely compatible with traditional Java.
RELEVANCE OF AOP
Both procedural programming and object-oriented programming focuses on separation and encapsulation of concerns. Some software concerns, however, defy easy encapsulation. These are called 'cross-cutting' concerns because they exist in many parts of the program. For example, a logging strategy affects every single part of the system. Logging thereby crosscuts all classes, methods, and procedures. Other crosscutting concerns include security and debugging. AOP allows "weaving in" of code to implement crosscutting concerns across existing classes and methods through a construct called an "aspect." Aspects permit associating an "advice" (code snippets) to "join points" (weave-in points in existing methods where the advice should be invoked).
VERSATILE JML
Design-by-contract (DBC) provides a formal mechanism to ensure the correct working of a software procedure or method. At the minimum, DBC requires that preconditions, post-conditions, invariants and side effects can be tested (through mechanisms such as assertions).
JML provides a way to describe contracts in a Java-compatible manner, by embedding JML statements as special comments within Java source files. This way, JML is totally non-intrusive, and at the same time, provides much more rigour to the module by enforcing DBC.
© Copyright 2000 - 2009 The Hindu Business Line |