Abstract
Uncertainty is an inherent property of any measure or estimation performed in any physical setting, and therefore it needs to be considered when modeling systems that manage real data. Although several modeling languages permit the representation of measurement uncertainty for describing certain system attributes, these aspects are not normally incorporated into their type systems. Thus, operating with uncertain values and propagating uncertainty are normally cumbersome processes, difficult to achieve at the model level. This paper proposes an extension of OCL and UML datatypes to incorporate data uncertainty coming from physical measurements or user estimations into the models, along with the set of operations defined for the values of these types.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
Operations on basic datatypes normally use infix notation (e.g., \(x+y\), \(a<b\), \(P \ {\texttt {and}}\ Q\)). This is the notation that we already support in our USE implementation for the newly defined types (UReal, UBoolean, etc.), see Sect. 3.7. However, other languages that we have used to implement these new types (e.g., Java) do not support infix notation. Therefore, in the following we will use either an infix or prefix notation (x.add(y), a.lt(b), P.and(Q)) for the operations of these types, depending on the context and on the particular language used.
- 2.
References
America, P.: Inheritance and subtyping in a parallel object-oriented language. In: Bézivin, J., Hullot, J.-M., Cointe, P., Lieberman, H. (eds.) ECOOP 1987. LNCS, vol. 276, pp. 234–242. Springer, Heidelberg (1987). https://doi.org/10.1007/3-540-47891-4_22
Bertoa, M.F., Moreno, N., Barquero, G., Burgueño, L., Troya, J., Vallecillo, A.: Uncertain OCL Datatypes, April 2018. http://atenea.lcc.uma.es/projects/UncertainOCLTypes.html
Broy, M.: Challenges in modeling cyber-physical systems. In: Proceedings of the ISPN 2013, pp. 5–6. IEEE (2013)
Büttner, F., Gogolla, M.: On OCL-based imperative languages. Sci. Comput. Program. 92, 162–178 (2014)
Eramo, R., Pierantonio, A., Rosa, G.: Managing uncertainty in bidirectional model transformations. In: Proceedings of SLE 2015, pp. 49–58. ACM (2015)
Esfahani, N., Malek, S.: Uncertainty in self-adaptive software systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 214–238. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_9
Famelis, M., Salay, R., Chechik, M.: Partial models: towards modeling and reasoning with uncertainty. In: Proceedings of ICSE 2012, pp. 573–583. IEEE Press (2012)
Garlan, D.: Software engineering in an uncertain world. In: Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research (FoSER 2010), pp. 125–128. ACM (2010)
Gogolla, M., Büttner, F., Richters, M.: USE: a UML-based specification environment for validating UML and OCL. Sci. Comp. Prog. 69, 27–34 (2007)
Gogolla, M., Hilken, F.: Model validation and verification options in a contemporary UML and OCL analysis tool. In: Oberweis, A., Reussner, R. (eds.) Proceedings of the Modellierung (MODELLIERUNG 2016). LNI, vol. 254, pp. 203–218. GI (Gesellschaft für Informatik), Karlsruhe (2016)
Hall, B.D.: Component interfaces that support measurement uncertainty. Comput. Stand. Interfaces 28(3), 306–310 (2006)
JCGM 100:2008: Evaluation of measurement data - Guide to the expression of uncertainty in measurement (GUM). Joint Committee for Guides in Metrology (2008). http://www.bipm.org/utils/common/documents/jcgm/JCGM_100_2008_E.pdf
JCGM 101:2008: Evaluation of measurement data - Supplement 1 to the “Guide to the expression of uncertainty in measurement” - Propagation of distributions using a Monte Carlo method. Joint Committee for Guides in Metrology (2008). http://www.bipm.org/utils/common/documents/jcgm/JCGM_101_2008_E.pdf
JCGM 200:2012: International Vocabulary of Metrology - Basic and general concepts and associated terms (VIM), 3rd edn. Joint Committee for Guides in Metrology (2012). http://www.bipm.org/utils/common/documents/jcgm/JCGM_200_2012.pdf
Jiménez-Ramírez, A., Weber, B., Barba, I., del Valle, C.: Generating optimized configurable business process models in scenarios subject to uncertainty. Inf. Softw. Technol. 57, 571–594 (2015)
Kosko, B.: Fuzziness vs. probability. Int. J. Gen. Syst. 17(2–3), 211–240 (1990)
Lee, E.A.: Cyber physical systems: design challenges. In: Proceedings of ISORC 2008, pp. 363–369. IEEE (2008)
Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. 16(6), 1811–1841 (1994)
Littlewood, B., Neil, M., Ostrolenk, G.: The role of models in managing the uncertainty of software-intensive systems. Reliab. Eng. Syst. Saf. 50(1), 87–95 (1995)
Mayerhofer, T., Wimmer, M., Burgueño, L., Vallecillo, A.: Specifying quantities in software models (2018, submitted). Technical report: http://atenea.lcc.uma.es/index.php/Main_Page/Resources/DataUncertainty
Object Management Group: Object Constraint Language (OCL) Specification. Version 2.2, February 2010. OMG Document formal/2010-02-01
Object Management Group: UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems. Version 1.1, June 2011. OMG Document formal/2011-06-02
Object Management Group: Unified Modeling Language (UML) Specification. Version 2.5, March 2015. OMG Document formal/2015-03-01
Object Management Group: OMG Systems Modeling Language (SysML), Version 1.4, January 2016. OMG Document formal/2016-01-05
Object Management Group: Structured Metrics Metamodel (SMM) Specification. Version 1.1.1, April 2016. OMG Document formal/16-04-04
Salay, R., Chechik, M., Horkoff, J., Sandro, A.: Managing requirements uncertainty with partial models. Requir. Eng. 18(2), 107–128 (2013)
Selic, B.: Beyond mere logic - a vision of modeling languages for the 21st century. In: Proceeding of MODELSWARD 2015 and PECCS 2015, p. IS–5. SciTePress (2015)
Vallecillo, A., Morcillo, C., Orue, P.: Expressing measurement uncertainty in software models. In: Proceedings of the 10th International Conference on the Quality of Information and Communications Technology (QUATIC), pp. 1–10 (2016)
Wikipedia: List of uncertainty propagation software. https://en.wikipedia.org/wiki/List_of_uncertainty_propagation_software. Accessed 13 Apr 2018
Wolf, M.: A modeling language for measurement uncertainty evaluation. Ph.D. thesis, ETH Zurich (2009)
Zhang, M., Ali, S., Yue, T., Norgren, R., Okariz, O.: Uncertainty-wise cyber-physical system test modeling. Softw. Syst. Model. (2017). https://doi.org/10.1007/s10270-017-0609-6
Zhang, M., Selic, B., Ali, S., Yue, T., Okariz, O., Norgren, R.: Understanding uncertainty in cyber-physical systems: a conceptual model. In: Wąsowski, A., Lönn, H. (eds.) ECMFA 2016. LNCS, vol. 9764, pp. 247–264. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-42061-5_16
Acknowledgements
This work has been partially supported by the Spanish Government under Grant TIN2014-52034-R. We would like to thank Martin Gogolla for his help and support during the development of the USE tool extension, and to the reviewers for their constructive comments and very valuable suggestions.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Bertoa, M.F., Moreno, N., Barquero, G., Burgueño, L., Troya, J., Vallecillo, A. (2018). Expressing Measurement Uncertainty in OCL/UML Datatypes. In: Pierantonio, A., Trujillo, S. (eds) Modelling Foundations and Applications. ECMFA 2018. Lecture Notes in Computer Science(), vol 10890. Springer, Cham. https://doi.org/10.1007/978-3-319-92997-2_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-92997-2_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-92996-5
Online ISBN: 978-3-319-92997-2
eBook Packages: Computer ScienceComputer Science (R0)