A large number of software architectures for interactive have been described in literature, like the Seeheim, PAC-Amodeus, and Model-View-Controller architectures. Most of these architectures are based on the traditional view of interactive software, namely the view that an interactive software system can be separated in an application part and a user interface part. The application part contains the functionality of the software – what the system does – and the user interface part contains the representation of this functionality to the user(s) of the system. The motivation behind these architectures is to improve, among others, adaptability, portability, complexity handling, and separation of concerns of interactive software. The principle of separating interactive software in application and user interface parts has its merits. It can however lead to serious adaptability problems in software that provides fast, frequent and intensive feedback, in particular semantic feedback. Semantic feedback refers to feedback the system gives to the user concerning the semantics of the application, i.e. the objects that the user perceives and manipulates. In these systems, the boundary between application and user interface becomes less sharp and the semantics of the interface and the application tend to be highly coupled. Examples of such interactive systems are direct manipulation systems, virtual reality systems, and systems with natural language interfaces. The problem of semantic feedback is that it is functionality that has both application and user interface aspects and crosses the application-interface boundary. It requires excessive use of semantic information from the application part and in this way, it compromises the separation of application and user interface concerns. As a result, it becomes more difficult to modify or extend functionality related to semantic feedback. In other words, the adaptability of the interactive software is decreased. In this report, a case study concerning an interactive CD database system is used to illustrate the adaptability problems of separation-based architectures for interactive software.
|Name||CTIT Technical Report Series|