Skip to main content
Log in

Automated Prototyping of User Interfaces Based on UML Scenarios

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  • Anderson, J.S. and Durney B. 1993. Using scenarios in deficiency-driven requirements engineering. Requirements Engineering'93, IEEE Computer Society Press, pp. 134–141.

  • 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.

  • Balzert, H. 1994. From OOA to GUIs: The janus system. IEEE Software 8(9):43–47.

    Google Scholar 

  • Booch, G. 1994. Object Oriented Analysis and Design with Applications. Redwood City, CA.: Benjamin/ Cummings Publishing Company Inc.

    Google Scholar 

  • 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.

  • Coad, P. and Yourdon, E. 1991. Object-Oriented Analysis. Prentice Hall. Englewod Cliffs, NJ.

    Google Scholar 

  • 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.

  • Derr, K.W. 1996. Applying OMT: A Practical Step-by-Step Guide to using the Object Modeling Technique. SIGS BOOKS/Prentice Hall.

  • 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.

  • 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.

  • 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.

  • Harel, D. 1987. Statecharts: A visual formalism for complex systems. Science of Computer Programming 8:231–274.

    Article  MathSciNet  MATH  Google Scholar 

  • 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 

  • 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.

    Article  Google Scholar 

  • 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.

  • 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 

  • IBM. 1991. Systems Application Architecture: Common User Access—Guide to User Interface Design—Advanced Interface Design Reference. IBM.

  • Jacobson, I., Booch, G., and Rumbaugh, J. 1999. The Unified Software Development Process. Addison-Wesley.

  • Jacobson, I., Christerson, M., Jonsson, P., and Overgaard, G. 1992. Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley.

  • 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.

  • 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.

  • 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 

  • 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.

  • Koskimies, K., Systa, T., Tuomi, J., and Mannisto T. 1998. Automatic support for modeling OO software. IEEE Software 15(1):42–50.

    Article  Google Scholar 

  • 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.

  • Madsen, K. and Aiken, P. 1993. Experiences using co-operative interactive storyboard prototyping. Communications of the ACM 36(4):57–64.

    Google Scholar 

  • Vanderdonckt, J. and Farenc, C. (ed.), 2001. Tools for Working with Guidelines. Springer.

  • Myers, B.A. 1995. User interface software tools. ACM Transactions on Computer-Human Interaction 2(1):64–103.

    Article  Google Scholar 

  • Nardi, B.A. 1992. The use of scenarios in design. SIGCHI Bulletin, 24(4).

  • ObjectGeode: Telelogic Inc. http://www.telelogic.com/products/additional/objectgeode/.

  • Open Software Foundation. 1990. OSF/Motif Style Guide. Englewood Cliffs, NJ, USA: Prentice Hall.

    Google Scholar 

  • 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.

  • Rationale Rose RealTime: Rationale Inc. http://www.rational.com/products/rosert.

  • Rational Software Corporation, Rational Rose, Santa Clara, CA. http://www.rational.com.

  • Rosson, M.B. 1999. Integrating development of task and object models. Communications of the ACM. 42(1):49–56.

    Article  MathSciNet  Google Scholar 

  • 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.

  • Rubin, K.S. and Goldberg, A. 1992. Object behavior analysis. Communications of the ACM. 35(9):48–62.

    Article  Google Scholar 

  • Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W. 1991. Object-oriented modeling and design. Prentice-Hall, Inc..

  • Rumbaugh, J., Jacobson, I., and Booch, G. 1999. The Unified Modeling Language Reference Manual. Addison Wesley, Inc.

  • 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.

  • 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.

  • SUIP. Scenario-based User Interface Prototyping. http://www.iro.umontreal.ca/labs/gelo/suip.

  • Sun Microsystems, Inc. and AT&T. 1990. OPEN LOOK GUI Application Style Guidelines. USA: Addison-Wesley.

    Google Scholar 

  • Symantec, Inc. 1997. Visual Café for Java: User Guide. Symantec, Inc.

  • 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.

  • Borchers, J. 2001. A Pattern Approach to Interaction Design. John Wiley.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammed Elkoutbi.

Additional information

This research was mainly conducted at University of Montreal, where the first two authors were PhD students and the third author a full-time faculty member. Funding was provided in part by FCAR (Fonds pour la formation des chercheurs et l'aide à la recherche au Québec) and by the SPOOL project organized by CSER (Consortium Software Engineering Research) which is funded by Bell Canada, NSERC (Natural Sciences and Research Council of Canada), and NRC (National Research Council Canada).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Elkoutbi, M., Khriss, I. & Keller, R.K. Automated Prototyping of User Interfaces Based on UML Scenarios. Autom Software Eng 13, 5–40 (2006). https://doi.org/10.1007/s10515-006-5465-5

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-006-5465-5

Keywords

Navigation