Unified Modeling of Service Logic with User Interfaces

We describe a method based on UML activities for the unified specification of collaborative service behavior and local user interfaces. The method enables a model-driven development process, which effectively combines the need to express service collaborations involving several components with the need to provide detailed operations for user interfaces. Our service models use activities as the primary building blocks that encapsulate self-contained functionalities. We show, how a complete distributed system can be decomposed into such building blocks, how this decomposition leads to a separation of user interface concerns from service collaboration concerns, and how they may be combined with an event-driven composition mechanism based on activity parameter nodes. We also demonstrate how different UI frameworks can be supported, and illustrate the method with a case study of a situated collaborative learning service.