Automated Software Engineering

, Volume 13, Issue 1, pp 5–40 | Cite as

Automated Prototyping of User Interfaces Based on UML Scenarios

  • Mohammed ElkoutbiEmail author
  • Ismaïl Khriss
  • Rudolf K. Keller


User interface (UI) prototyping and scenario engineering have become popular techniques. Yet, the transition from scenario to formal specifications and the generation of UI code is still ill-defined and essentially a manual task, and the two techniques lack integration in the overall requirements engineering process. In this paper, we suggest an approach for requirements engineering that generates a user interface prototype from scenarios and yields a formal specification of the application. Scenarios are acquired in the form of collaboration diagrams as defined by the Unified Modeling Language (UML), and are enriched with user interface (UI) information. These diagrams are automatically transformed into UML Statechart specifications of the UI objects involved. From the set of obtained specifications, a UI prototype is generated that is embedded in a UI builder environment for further refinement. Based on end user feedback, the collaboration diagrams and the UI prototype may be iteratively refined, and the result of the overall process is a specification consisting of the Statechart diagrams of all the objects involved, together with the generated and refined prototype of the UI. The algorithms underlying this process have been implemented and exercised on a number of examples.


user interface prototyping scenario engineering Unified Modeling Language 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Anderson, J.S. and Durney B. 1993. Using scenarios in deficiency-driven requirements engineering. Requirements Engineering'93, IEEE Computer Society Press, pp. 134–141.Google Scholar
  2. Bruins, A. 1998. The value of task analysis in interaction design. Position paper at the CHI'98 workshop on From Task to Dialogue: Task-Based User Interface Design, Los Angeles.Google Scholar
  3. Balzert, H. 1994. From OOA to GUIs: The janus system. IEEE Software 8(9):43–47.Google Scholar
  4. Booch, G. 1994. Object Oriented Analysis and Design with Applications. Redwood City, CA.: Benjamin/ Cummings Publishing Company Inc.Google Scholar
  5. Chin, G. and Rosson, M.B. 1998. Progressive design: Staged evolution of scenarios in the design of a collaborative science learning environment. In Proceeding of the Conference on Human Factors in Computing Systems (CHI'98), Los Angeles, pp. 611–618.Google Scholar
  6. Coad, P. and Yourdon, E. 1991. Object-Oriented Analysis. Prentice Hall. Englewod Cliffs, NJ.Google Scholar
  7. Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., and Jeremaes P. 1994. Object-Oriented Development: The Fusion Method. Prentice-Hall, Inc.Google Scholar
  8. Derr, K.W. 1996. Applying OMT: A Practical Step-by-Step Guide to using the Object Modeling Technique. SIGS BOOKS/Prentice Hall.Google Scholar
  9. Elkoutbi, M., Khriss, I., and Keller, R.K. 1999. Generating User Interface Prototypes from Scenarios, In Proceedings of the Fourth IEEE International Symposium on Requirements Engineering (RE'99), Limerick, Ireland, pp. 150–158.Google Scholar
  10. Elkoutbi, M. and Keller, R.K. 2000. User interface prototyping based on UML scenarios and high-level petri nets, application and theory of petri nets 2000. In Proceeding of the 21st International Conference on ATPN, Springer-Verlag LNCS 1825, Aarhus, Denmark, pp. 166–186.Google Scholar
  11. Glinz, M. 2002. Statecharts For Requirements Specification—As Simple As Possible, As Rich As Needed, Position paper in the ICSE 2002 Workshop: Scenarios and state machines: models, algorithms, and tools, Orlando, Florida.Google Scholar
  12. Harel, D. 1987. Statecharts: A visual formalism for complex systems. Science of Computer Programming 8:231–274.CrossRefMathSciNetzbMATHGoogle Scholar
  13. Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-Trauring, A., and Trakhtenbrot, M. 1990. STATEMATE: A working environment for the development of complex reactive systems. IEEE Transactions on Software Engineering, 4(16):403–414.Google Scholar
  14. Heimdahl, M.P.E. and Leveson, N.G. 1996. Completeness and consistency in hierarchical state-based requirements. IEEE Transactions on Software Engineering 22(6):363–377.CrossRefGoogle Scholar
  15. Heitmeyer, C., Kirby, J., Labaw, B., and Bharadwaj, R. 1998. SCR: A toolset for specifying and analyzing software requirements. In Proceeding of the 10th Annual Conference on Computer-Aided Verification, (CAV'98), Vancouver, Canada, pp. 526–531.Google Scholar
  16. Hsia, P., Samuel, J., Gao, J., Kung, D., Toyoshima, Y., and Chen, C. 1994. Formal approach to scenario analysis, IEEE Software 2(11):33–41.Google Scholar
  17. IBM. 1991. Systems Application Architecture: Common User Access—Guide to User Interface Design—Advanced Interface Design Reference. IBM.Google Scholar
  18. Jacobson, I., Booch, G., and Rumbaugh, J. 1999. The Unified Software Development Process. Addison-Wesley.Google Scholar
  19. Jacobson, I., Christerson, M., Jonsson, P., and Overgaard, G. 1992. Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley.Google Scholar
  20. Janssen, C., Weisbecker, A., and Ziegler, U. 1993. Generating user interfaces from data models and dialogue net specifications. In Proceeding of the Conference on Human Factors in Computing Systems (CHI'93), Amsterdam, The Netherlands, pp. 418–423.Google Scholar
  21. Khriss, I., Elkoutbi, M., and Keller, R.K. 1998. Automating the synthesis of UML statechart diagrams from multiple collaboration diagrams. In Proceeding of the International Workshop on the Unified Modelling Language UML'98, Beyond the Notation, Mulhouse, France, pp. 115–126.Google Scholar
  22. Khriss, I., Elkoutbi, M., and Keller, R.K. 2001. Automatic synthesis of behavioral specifications from scenarios. Journal of Integrated Design and Process Science 5(3):53–77. IOS press.Google Scholar
  23. Kodosky, J., MacCrisken, J., and Rymar, G. 1991. Visual programming using structured data flow. In Proc. of the IEEE Workshop on Visual Languages, Kobe, Japan, pp. 34–39.Google Scholar
  24. Koskimies, K., Systa, T., Tuomi, J., and Mannisto T. 1998. Automatic support for modeling OO software. IEEE Software 15(1):42–50.CrossRefGoogle Scholar
  25. Landay, J.A. and Myers, B.A. 1996. Sketching storyboards to illustrate interface behaviors. In Proceeding of the Conference on Human Factors in Computing Systems (CHI'96), pp. 193–194.Google Scholar
  26. Madsen, K. and Aiken, P. 1993. Experiences using co-operative interactive storyboard prototyping. Communications of the ACM 36(4):57–64.Google Scholar
  27. Vanderdonckt, J. and Farenc, C. (ed.), 2001. Tools for Working with Guidelines. Springer.Google Scholar
  28. Myers, B.A. 1995. User interface software tools. ACM Transactions on Computer-Human Interaction 2(1):64–103.CrossRefGoogle Scholar
  29. Nardi, B.A. 1992. The use of scenarios in design. SIGCHI Bulletin, 24(4).Google Scholar
  30. Open Software Foundation. 1990. OSF/Motif Style Guide. Englewood Cliffs, NJ, USA: Prentice Hall.Google Scholar
  31. Potts, C., Takahashi, K., and Anton, A. 1994. Inquiry-Based Scenario Analysis of System Requirements. Technical Report GIT-CC-94/14, Georgia Institute of Technology.Google Scholar
  32. Rationale Rose RealTime: Rationale Inc.
  33. Rational Software Corporation, Rational Rose, Santa Clara, CA.
  34. Rosson, M.B. 1999. Integrating development of task and object models. Communications of the ACM. 42(1):49–56.CrossRefMathSciNetGoogle Scholar
  35. Rosson, M.B. and Carroll, J.M. 1995. Integrating task and software development in object-oriented applications. In: Proceeding of Human Factors in Computing Systems, CHI'95, ACM Press, pp. 377–384.Google Scholar
  36. Rubin, K.S. and Goldberg, A. 1992. Object behavior analysis. Communications of the ACM. 35(9):48–62.CrossRefGoogle Scholar
  37. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. 1991. Object-oriented modeling and design. Prentice-Hall, Inc..Google Scholar
  38. Rumbaugh, J., Jacobson, I., and Booch, G. 1999. The Unified Modeling Language Reference Manual. Addison Wesley, Inc.Google Scholar
  39. Shijian, Lu. 1998. Cécile Paris and Keith Vander Linden: Integrating task modeling into the object oriented design process: A pragmatic approach. Position paper at the CHI'98 workshop on Incorporating Work, Processes and Task Analysis into Industrial Object-Oriented Systems Design, Los Angeles.Google Scholar
  40. Schönberger, S., Keller, R.K., and Khriss, I. 2001. Algorithmic support for model transformation in object-oriented software development. Concurrency and Computation: Practice and Experience. 13(5):351–383, Object Systems Section. John Wiley and Sons.Google Scholar
  41. SUIP. Scenario-based User Interface Prototyping.
  42. Sun Microsystems, Inc. and AT&T. 1990. OPEN LOOK GUI Application Style Guidelines. USA: Addison-Wesley.Google Scholar
  43. Symantec, Inc. 1997. Visual Café for Java: User Guide. Symantec, Inc.Google Scholar
  44. Szekely, P. Luo, and R. Neches. 1992. Facilitating the eploration of interface design alternatives: The humanoid model of interface design. In Proceeding of the Conference on Human Factors in Computing Systems (CHI'92), pp. 507–515.Google Scholar
  45. Borchers, J. 2001. A Pattern Approach to Interaction Design. John Wiley.Google Scholar

Copyright information

© Springer Science + Business Media, Inc. 2006

Authors and Affiliations

  • Mohammed Elkoutbi
    • 1
    Email author
  • Ismaïl Khriss
    • 2
  • Rudolf K. Keller
    • 3
  1. 1.École Nationale Supérieure d'Informatique et d'Analyse des SystèmesAgdalMorocco
  2. 2.University of Quebec at Rimouski, D.M.I.G.RimouskiCanada
  3. 3.Zühlke Engineering AGZürich-SchlierenSwitzerland

Personalised recommendations