Abstract
Prototyping is an efficient and effective way to understand and validate system requirements at the early stage of software development. In this paper, we present an approach for transforming UML system requirement models with OCL specifications into executable prototypes with the function of checking multiplicity and invariant constraints. Generally, a use case in UML can be described as a sequence of system operations. A system operation can be formally defined by a pair of preconditions and postconditions specified using OCL in the context of the conceptual class model. By analyzing the semantics of the preconditions and postconditions, the execution of the operation can be prototyped as a sequence of primitive actions which first check the precondition, and then enforce the postcondition by transferring the system from a pre-state to a post-state step by step. The primitive actions are basic manipulations of the system state (an object diagram), including find objects and links, create and remove objects and links, and check and set attribute values. Based on this approach, we have developed a tool of automatic prototype generation and analysis: AutoPA3.0.
Similar content being viewed by others
References
Gogolla M, Büttner F, Richters M (2007) Use: a uml-based specification environment for validating uml and ocl. Sci. Comput. Program 69(1-3): 27–34
Object Management Group Object constraint language specification, http://www.omg.org/docs/ptc/03-10-14.pdf
Harel D, Marelly R (2003) Come, let’s play, scenario-based programming using LSCs and the play-engine. Springer, Heidelberg
He J, Li X, Liu Z (2006) rcos: a refinement calculus of object systems. Theor. Comput. Sci 365(1–2): 109–142
Larman C (2001) Applying UML and patterns. Prentice-Hall International, Englewood Cliffs
Li X, Liu Z, He J (2001) Formal and use-case driven requirement analysis in UML. In: COMPSAC01. IEEE Computer Society, Illinois, pp 215–224
Li X, Liu Z (2008) Prototyping system requirements model. Electr. Notes Theor. Comput. Sci 207: 17–32
Li X, Liu Z, He J, Long Q (2004) Generating a prototype from a UML model of system requirements. In: Ghosh RK, Mohanty H (eds) ICDCIT, LNCS 3347. Springer, Heidelberg, pp 255–265
Lichter H, Schneider-Hufschmidt M, Zullighoven H (1994) Prototyping in industrial software projects—bridging the gap between theory and practice. IEEE Trans Softw Eng 20: 825–832
Liu Z, He J, Li X, Chen Y (2003) A relational model for formal object-oriented requirement analysis in uml. In: Dong JS, Woodcock J (eds) ICFEM, LNCS 2885. Springer, Heidelberg, pp 641–664
Liu Z, Li X, He J (2002) Using transition systems to unify uml models. In: George C, Miao H (eds) ICFEM, LNCS 2495. Springer, Heidelberg, pp 535–547
Markovic S, Baar T (2006) An ocl semantics specified with qvt. In: Nierstrasz O (eds) Models, LNCS 4199. Springer, Heidelberg, pp 661–675
Meyer B (1997) Object-oriented software construction, 2nd edn. Prentice Hall PTR, Englewood Cliffs
Mitchell R, McKim J (2002) Design by conctract by example. Addison-Wesley, Reading
Objecten K Octopus: Ocl tool for precise uml specifications. http://octopus.sourceforge.net/
Plosch R (2004) Contracts, scenarios and prototypes: an integrated approach to high quality software. Springer, Heidelberg
Smith MF (1991) Software prototyping: adoption, pratice and management. McGraw-Hill, New York
Sommerville I (2004) Software engineering, 7th edn. Addison-Wesley, Reading
USE A uml-based specification environment. http://www.db.informatik.uni-bremen.de/projects/use/
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Li, D., Li, X., Liu, J. et al. Validation of requirement models by automatic prototyping. Innovations Syst Softw Eng 4, 241–248 (2008). https://doi.org/10.1007/s11334-008-0062-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-008-0062-3