200 likes | 443 Views
UML i : The Unified Modeling Language for Interactive Applications. Paulo Pinheiro da Silva and Norman W. Paton Department of Computer Science, University of Manchester. User interface (UI) modelling with UML Background UML i ARGO i Conclusions Future work. Outline.
E N D
UMLi: The Unified Modeling Language for Interactive Applications Paulo Pinheiro da Silva and Norman W. Paton Department of Computer Science, University of Manchester
User interface (UI) modelling with UML Background UMLi ARGOi Conclusions Future work Outline
UML is a standard intended for modelling any software application. User interfaces are a crucial part of most applications. User Interface Modelling with UML (1/2) HOWEVER: UIs are usually not modelled using UML.
The limited use of UML for modelling UIs is evidence that UML may not be entirely suitable for UI design. Which aspects of UIs cannot be modelled effectively using standard UML? How can UML be improved to support modelling of such UI aspects effectively? User Interface Modelling with UML (2/2) But then...
UI modelling difficulties using UML an approach for extending UML support for UI design Background • UML-based interactive application case studies • Model-Based User Interface Development Environment techniques Identify... Provide...
Main features of the UMLi proposal: User Interface Diagrams Activity Diagram Extensions From use cases to activities From activities to action states Methodology UMLi Proposal
Abstract constructors are required to model UI presentations. Abstract constructors should eventually be mapped into widgets. Modelling UI Presentations • 9 instances of 6 widgets.
A UI Presentation • In object diagrams, it is difficult to graphically realise: • Interaction object containment. integrate ConnectionUI: FreeContainer integrate ButtonBox: Container DataBox: Container compose compose compose compose compose PasswordLabel: Displayer LoginText: Inputter compose OK: ActionInvoker Cancel: ActionInvoker PasswordText: Inputter LoginLabel: Displayer
A UI Presentation • In object diagrams, it is difficult to graphically realise: • Interaction object containment • Which abstract roles interaction objects are playing Different roles integrate ConnectionUI: FreeContainer integrate ButtonBox: Container DataBox: Container compose compose compose compose compose PasswordLabel: Displayer LoginText: Inputter compose OK: ActionInvoker Cancel: ActionInvoker PasswordText: Inputter LoginLabel: Displayer Similar roles
A UMLi UI Presentation • UMLi UI diagrams provide graphical representations for: • containment of interaction objects • abstract roles of interaction objects ConnectionUI “Login” “Password” “Cancel” “OK” LoginText PasswordText
ConnectUI From Use Cases and theirScenarios to Activities <<communicates>> Connect Connect LibraryUser Connect <<presents>> John, a library user, must provide his details to gain access to the library system Select Function
The modelling of some categories of transition may be simple using activity diagrams: Sequential transitions Concurrent transitions Choices However, the modelling of other categories of transition may be complex: Optional transitions Order independent transitions Repeatable transitions Modelling Common Interactive Behaviours Connect GetDetails new SelectHist SelectHist Select [GetName in SelectHist] [GetPassord in SelectHist] [GetName] [GetPassword] GetName GetPassword [GetName & GetPassword in SelectHist] TryConnection SelectFunction
UMLi introduces the SelectionState constructors for modelling: Optional transitions Order independent transitions Repeatable transitions UMLi Selection States Connect GetDetails GetName GetPassword TryConnection SelectFunction
ARGOi is an extended version of UCI’s ARGO The tool incorporates the following UMLi features: UI diagram editor ARGOi: A UMLi-Based Tool (1/2)
UMLi Extended Activity Diagram features Interaction object flow support UMLi XMI parser/generator ARGOi: A UMLi-Based Tool (2/2)
UML needs to be extended to simplify the modelling of the following aspect of UIs: UI presentations Interactive behaviour (inter-object transitions) Collaboration between interaction objects and non-interaction objects Conclusions (1/2)
UML for Interactive Applications (UMLi) is a proposal for extending UML that addresses these relevant problems of modelling UIs using UML. Further, UMLi provides: a notation, meta-model and XMI DTD specification; ARGOi: A UMLi-based open source tool; A complete UMLi case study modelled in ARGOi. Conclusions (2/2)
An industrial case study of using UMLi Design metric comparison between UML and UMLi UMLi methodology evaluation An implementation of UI software generation from UMLi models Future Work
Further information about UMLi can be obtained at http://img.cs.man.ac.uk/umli Further Information