|
Homepage zu diesem Buch beim Tenea Verlag
Abstract
Scientific software, i.e. software developed in a scientific environment,
is often subject to adhoc programming. Assume, someone wants to verify a new
theory or hypothesis and makes an implementation. Reuse is often not
possible. Therefore, these developments tend to "reinvent the wheel". How
to avoid this? Using a common library and extending it may
be a first step towards reuse—given that certain rules are followed to ensure
consistency. This, however, does not work for graphical user
interfaces (GUIs). However, the plug-in concept—well-known from Internet
browsers—can be employed to make a lot of aspects of GUIs independently
extensible. A design pattern for the easy application
of the plug-in concept is presented. Furthermore, the plug-in concept
is also applied to the architecture of applications and, in particular,
GUIs. A number of design patterns are given to model many GUI elements
using plug-ins. Frameworks for the application of the plug-in concept are
given for the general case and also for GUIs. This approach and the
frameworks have successfully been applied to the GUI
developed in the GeoStoch project. The big advantage of this approach
is that plug-ins can be added without modifying already existing
code. Therefore, this methodology also allows less experienced users—the
usual case in scientific software development—to extend GUIs, which is
commonly restricted to those who developed it or is otherwise a very time
consuming task. The only requirement is that the plug-ins are well
structured in packages. In addition, existing plug-ins can be used as
examples for self developed extensions. The core of the GeoStoch GUI
is very small. Thus, nearly everything is a plug-in. Deployment is also
possible by the end-user in a plug-in-based application in contrast to
component-based applications. This gives more flexibility to deploy
applications incrementally.
About the author
Johannes Mayer works as a lecturer at Ulm University, Germany. Furthermore,
he teaches at the University of Applied Sciences Furtwangen and the
Technical Academy Esslingen (TAE) both for academia and industry. He
earned a doctoral degree for his work on software quality improvement
in the field of scientific software. He received one of the
dissertation awards by Ulm University's society in 2005.