ET++—an object oriented application framework in C++
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Tcl and the Tk toolkit
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
TASH: a free platform-independent graphical user interface development toolkit for Ada
Proceedings of the conference on TRI-Ada '96: disciplined software development with Ada
CLAW, a high level, portable, Ada 95 binding for Microsoft Windows
Proceedings of the conference on TRI-Ada '97
Targeting GNAT to the Java virtual machine
Proceedings of the conference on TRI-Ada '97
RAPID: a free, portable GUI design tool
Proceedings of the 1998 annual ACM SIGAda international conference on Ada
The Java Language Specification
The Java Language Specification
The case for Ada at the USAF academy
Proceedings of the 2003 annual ACM SIGAda international conference on Ada: the engineering of correct and reliable software for real-time & distributed systems using ada and related technologies
Hi-index | 0.00 |
Over the last few years, graphical user interface programming has become increasingly prevalent. Many libraries and languages have been developed to simplify this task. Additionally, design tools have been created that allow the programmer to "draw" their desired interface and then have code automatically generated. Unfortunately, use of these tools locks the programmer into a particular implementation. Even if the tool targets a multi-platform library (e.g. Tcl/Tk or JVM), the flexibility of the result is constrained. We present a truly implementation and platform independent solution. RAPID generates Ada code targeted to an object-oriented set of graphical user interface specifications with absolutely no implementation dependent information. The pattern used to derive these specifications is an improvement over the "Abstract Factory" Pattern, as it allows both the specification and implementation to take advantage of inheritance. The user can then select an implementation (for example, Tcl/Tk or JVM) at compile time. RAPID itself is also written using the same specifications; therefore it requires no modification to target a new implementation or to use a new implementation itself. RAPID is currently being used to design the user interface for a satellite ground station.