aseACM01

Grosu/Liu/Smolka/Stoller/Yan: Automated Software Engineering Using Concurrent Class Machines

Automated Software Engineering Using Concurrent Class Machines

Radu Grosu, Yanhong A. Liu, Scott A. Smolka, Scott D. Stoller and Jingyu Yan

Concurrent Class Machines are a novel state-machine model that directly captures a variety of object-oriented concepts, including classes and inheritance, objects and object creation, methods, method invocation and exceptions, multithreading and abstract collection types.  The model can be understood as a precise definition of UML activity diagrams which, at the same time, offers an executable, object-oriented alternative to event-based statecharts.  It can also be understood as a visual, combined control and data flow model for multithreaded object-oriented programs.
We first introduce a visual notation and tool for Concurrent Class Machines and discuss their benefits in enhancing system design. We then equip this notation with a precise semantics that allows us to define refinement and modular refinement rules.  Finally, we summarize our work on generation of optimized code, implementation and experiments, and compare with related work.

Automated Software Enfineering, Proceedings of the 16th IEEE International Conference on Automated Software Engineering (ASE01), San Diego, USA, November 26-29, 2001.