This presentation will describe the author's experiences in building an RCP application for Industrial Automation and Control (IAC). While the application was originally intended for a specialized purpose, it was designed and built in a manner that allows it to be used for many other IAC applications as well. In other words, it has migrated toward use as a platform.
This topic describes the architecture of the application, including core models, real time execution subsystem, user interaction and configuration, and integration with the host environment.
This topic describes the use of various frameworks that are provided as part of the Eclipse and RCP ecosystems. Examples include EMF for the core models, UI Forms, SWT, and JFace databinding for user interaction, and BIRT for reporting. Additionally, interactions with the Java environment, particularly threads and concurrency APIs, are briefly discussed.
This topic describes the performance characteristics of the application while it is running in test and production environments. Particular attention is given to sequencing, threads, and garbage collection. A summary of design points intended to optimize real-time performance is included.
This topic describes the development process used from initial inception through production use of the application. This includes a profile of the development team, the incremental milestones, framework evolution, and ongoing support.
This topic describes the inevitable problems that were encountered during the development cycle, the resolution of those problems, and the workarounds that were necessary when a solution was unavailable or otherwise infeasible.
This topic describes the plans for the ongoing evolution of the application and the supporting frameworks.
Steve is currently a "Software Design Expert" (whatever that means) at Amdocs BCM division, working primarily on the integration of a mature suite of business operations software with JEE-based component software. In support of this work, he has also developed 2 generations of modeling/code generation tools based on Eclipse. He has recently been spending a lot of time with RCP development, both at Amdocs, and for outside contracts, and still manages to find some time to work on Eclipse as a committer (though not as much as he'd like). For the past 25 years, Steve has bounced around various jobs and contracts, working on everything from single-chip embedded systems to multi-platform enterprise systems in a variety of languages and with a variety of tools. Steve received a Bachelors degree in Materials Science and Engineering from the University of California, Davis.