Abstract
Model-based software engineering places models in the center of the development process. To support this notion, multiple modeling languages are available, and the visual ones are widely used. Nevertheless, visual modeling languages are limited in their expressiveness and sometime might introduce ambiguity into the models. To overcome these limitations, model-based constraint languages have emerged, yet, their usage is limited, probably due to a misconception that they are difficult to work with. In this paper, we challenge this misconception by comparing the use of three constraint languages: OCL, Java, and natural language in understanding and developing model-based constraints. The comparison was made through a controlled experiment with 68 information systems engineering undergraduate students. We found out that using natural language results in shorter times to perform the tasks. Yet, using OCL results in increased accuracy for specifying new constraints, in particular, in complex settings.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Bao-Lin, L., Zhi-shu, L., Qing, L., Hong, C.Y.: Test case automate generation from uml sequence diagram and ocl expression. In: International Conference on Computational Intelligence and Security, pp. 1048–1052 (2007)
Briand, L.C., Labiche, Y., Yan, H.D., Penta, M.Di: A controlled experiment on the impact of the object constraint language in UML-based maintenance. In: The 20th IEEE International Conference on Software Maintenance, pp. 380–389 (2004)
Chiorean, D., Bortes,M., Corutiu, D., Botiza, C., Cârcu, A.: Object Constraint Language Environment (OCLE). http://lci.cs.ubbcluj.ro/ocle/. Accessed Apr 2019
Correa, A., Werner, C., Barros, M.: An empirical study of the impact of OCL smells and refactorings on the understandability of OCL specifications. In: Model Driven Engineering Languages and Systems, pp. 76–90 (2007)
Eclipse, Eclipse OCL. https://projects.eclipse.org/projects/modeling.mdt.ocl, last accessed April 2019
Green, T.R.G.: Cognitive dimensions of notations. In: Sutcliffe, A., Macaulay, L. (eds.) People and Computers V, pp. 443–460. Cambridge University Press, Cambridge (1989)
Kitchenham, B.A., Pfleeger, S.L., Pickard, L.M., Jones, P.W., Hoaglin, D.C., El Emam, K., Rosenberg, J.: Preliminary guidelines for empirical research in software engineering. IEEE Trans. Software Eng. 28(8), 721–734 (2002)
Mussbacher, G., et al.: The relevance of model-driven engineering thirty years from now. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) MODELS 2014. LNCS, vol. 8767, pp. 183–200. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11653-2_12
OCL Portal, OCL Tools. http://st.inf.tu-dresden.de/oclportal/index.php?option=com_content&view=category&id=8&Itemid=26. Accessed Apr 2019
OMG, Object-Constraint Language, version 2.4. https://www.omg.org/spec/OCL/2.4. Accessed Apr 2019
Pichler, P., Weber, B., Zugal, S., Pinggera, J., Mendling, J., Reijers, H.A.: Imperative versus declarative process modeling languages: an empirical investigation. In: Daniel, F., Barkaoui, K., Dustdar, S. (eds.) BPM 2011. LNBIP, vol. 99, pp. 383–394. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28108-2_37
Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)
Störrle, H.: Improving the usability of OCL as an ad-hoc model querying language. In: The 13th International Workshop on OCL, Model Constraint and Query Languages, pp. 83–92 (2013)
UMLdiagrams.org, Hospital Management – UML Class diagram example. https://www.uml-diagrams.org/examples/hospital-domain-diagram.html. Accessed Apr 2019
Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley, Reading (2003)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer (2012)
Yue, T., Ali, S.: Empirically evaluating OCL and Java for specifying constraints on UML models. Software Syst. Model. 15(3), 757–781 (2016)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix A – The Hospital Management System – Class Diagram
Appendix B – Constraints’ Complexity
The constraint | Task | Complexity |
---|---|---|
Context Patient self.prescription->forAll(p1, p2| not(p1=p2) and p1.date=p2.date implies p1.medicine->intersection(p2.medicine)->isEmpty ()) | Comp | Complex |
Context Team self.doctor->select(oclIsTypeOf(JuniorDoctor))->collect(oclAsType(JuniorDoctor))->exists(rank=1) | Dev | Complex |
Context Examination self.diagnosis.treatment->size()=1 implies self.doctor.oclIsTypeOf(ConsultantDoctor) | Comp | Complex |
Context Ward self.patient->size()>=3 implies self.patient.team.doctor->asSet()->size()>3 | Dev | Complex |
Context Patient self.team.doctor->includesAll(self.doctor) | Comp | Simple |
Context Ward self.patient->forAll(gender=self.treatedGender) | Dev | Simple |
Context Examination self.diagnosis.prescription->size()>0 implies self.diagnosis.prescription.patient=self.patient | Comp | Simple |
Context Examination self.diagnosis.prescription->size()>0 implies self.diagnosis.prescription.doctor=doctor | Dev | Simple |
Context Ward self.capacity>=self.patient->size() | Comp | Simple |
Context Prescription self.numberOfMedicine=self.medicine->size() | Dev | Simple |
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Maraee, A., Sturm, A. (2019). The Usage of Constraint Specification Languages: A Controlled Experiment. In: Reinhartz-Berger, I., Zdravkovic, J., Gulden, J., Schmidt, R. (eds) Enterprise, Business-Process and Information Systems Modeling. BPMDS EMMSAD 2019 2019. Lecture Notes in Business Information Processing, vol 352. Springer, Cham. https://doi.org/10.1007/978-3-030-20618-5_22
Download citation
DOI: https://doi.org/10.1007/978-3-030-20618-5_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-20617-8
Online ISBN: 978-3-030-20618-5
eBook Packages: Computer ScienceComputer Science (R0)