Radu Grosu, State University of New York at Stony Brook
Jingyu Yan, State University of New York at Stony Brook
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 state-charts. 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.
Citation:
Radu Grosu, Yanhong A. Liu, Scott Smolka, Scott D. Stoller, Jingyu Yan, "Automated Software Engineering Using Concurrent Class Machines," ase, pp.297, 16th IEEE International Conference on Automated Software Engineering (ASE'01), 2001