Abstract
The correct representation of the relevant properties of a system is an essential requirement for the effective use and wide adoption of model-based practices in industry. Uncertainty is one of the inherent properties of any measurement or estimation that is obtained in any physical setting; as such, it must be considered when modeling software systems deal with real data. Although a few modeling languages enable the representation of measurement uncertainty, these aspects are not normally incorporated into their type systems. Therefore, operating with uncertain values and propagating their uncertainty become cumbersome processes, which hinder their realization in real environments. This paper proposes an extension of OCL/UML primitive datatypes that enables the representation of the uncertainty that comes from physical measurements or user estimates into the models, together with an algebra of operations that are defined for the values of these types.
Similar content being viewed by others
Notes
This is inspired by how various simple robots operate, in particular, Ozobot robots (https://ozobot.com).
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.). 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 the language used.
Although a confidence value of 0.9 is rather low, it may occur due to restricted visibility on foggy days, for instance.
References
Atenea research group Git repository: https://github.com/atenearesearchgroup/uncertainty (2018). Accessed 20 May 2019
Adzic, G.: Redefining software quality. https://gojko.net/2012/05/08/redefining-software-quality/ (2012). Accessed May 2019
America, P.: Inheritance and subtyping in a parallel object-oriented language. In: Proceedings of ECOOP’87, pp. 234–242. Springer (1987)
America, P.: A Behavioural Approach to Subtyping in Object-Oriented Programming Languages, pp. 173–190. Wiley, Hoboken (1991)
Bertoa, M.F., Moreno, N., Barquero, G., Burgueño, L., Troya, J., Vallecillo, A.: Expressing measurement uncertainty in OCL/UML datatypes. In: Proceedings of ECMFA’18, LNCS, vol. 10890, pp. 46–62. Springer (2018)
Bertoa, M.F., Moreno, N., Barquero, G., Burgueño, L., Troya, J., Vallecillo, A.: Uncertain OCL datatypes. http://atenea.lcc.uma.es/projects/UncertainOCLTypes.html (2018). Accessed 20 May 2019
Boute, R.T.: A heretical view on type embedding. ACM Sigplan Not. 25(1), 25–28 (1990)
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers, San Rafael (2012)
Broy, M.: Challenges in modeling cyber-physical systems. In: Proceedings of ISPN’13, pp. 5–6. IEEE (2013)
Bruce, K.B., Vanderwaart, J.: Semantics-driven language design: statically type-safe virtual types in object-oriented languages. Electr. Notes Theor. Comput. Sci. 20, 50–75 (1999). https://doi.org/10.1016/S1571-0661(04)80066-5
Burgueño, L., Bertoa, M.F., Moreno, N., Vallecillo, A.: Expressing confidence in models and in model transformation elements. In: Proceedings of MODELS’18, pp. 57–66. ACM (2018). https://doi.org/10.1145/3239372.3239394
Burgueño, L., Mayerhofer, T., Wimmer, M., Vallecillo, A.: Using physical quantities in robot software models. In: Proceedings of the 1st International Workshop on Robotics Software Engineering (RoSE’18), pp. 23–28. ACM (2018). https://doi.org/10.1145/3196558.3196562
Büttner, F., Gogolla, M.: On OCL-based imperative languages. Sci. Comput. Program. 92, 162–178 (2014)
Cabot, J., Mazón, J., Pardillo, J., Trujillo, J.: Specifying aggregation functions in multidimensional models with OCL. In: Proceedings of ER’10, LNCS, vol. 6412, pp. 419–432. Springer (2010)
Ciccozzi, F., Ruscio, D.D., Malavolta, I., Pelliccione, P.: Adopting MDE for specifying and executing civilian missions of mobile multi-robot systems. IEEE Access 4, 6451–6466 (2016)
Ciccozzi, F., Seceleanu, T., Corcoran, D., Scholle, D.: UML-based development of embedded real-time software on multi-core in practice: lessons learned and future perspectives. IEEE Access 4, 6528–6540 (2016)
Clerici, S., Orejas, F.: GSBL: An algebraic specification language based on inheritance. In: S. Gjessing, K. Nygaard (eds.) Proceedings of ECOOP’88, pp. 78–92. Springer (1988)
Dou, W., Bianculli, D., Briand, L.C.: OCLR: a more expressive, pattern-based temporal extension of OCL. In: Proceedings of ECMFA’14, LNCS, vol. 8569, pp. 51–66. Springer (2014)
Dubois, D., Prade, H.: Fuzzy sets and probability: Misunderstandings, bridges and gaps. In: Proceedings of the IEEE Conference on Fuzzy Systems, pp. 1059–1068. IEEE (1993). https://doi.org/10.1109/FUZZY.1993.327367
Eramo, R., Pierantonio, A., Rosa, G.: Managing uncertainty in bidirectional model transformations. In: Proceedings of SLE’15, pp. 49–58. ACM (2015)
Ernst, E.: Family polymorphism. In: Proceedings of ECOOP’01, LNCS, vol. 2072, pp. 303–326. Springer (2001). https://doi.org/10.1007/3-540-45337-7_17
Esfahani, N., Malek, S.: Uncertainty in self-adaptive software systems. In: Software Engineering for Self-Adaptive Systems II, no. 7475 in LNCS, pp. 214–238. Springer (2013)
Famelis, M., Rubin, J., Czarnecki, K., Salay, R., Chechik, M.: Software product lines with design choices: reasoning about variability and design uncertainty. In: Proceedings of MODELS’17, pp. 93–100 (2017)
Famelis, M., Salay, R., Chechik, M.: Partial models: towards modeling and reasoning with uncertainty. In: Proceedings of ICSE’12, pp. 573–583. IEEE Press (2012)
de Finetti, B.: Theory of Probability: A critical introductory treatment. Wiley (2017). https://doi.org/10.1002/9781119286387
Garlan, D.: Software Engineering in an uncertain world. In: Proceedings of the FoSER Workshop at FSE/SDP 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. Comput. Prog. 69, 27–34 (2007)
Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23(1), 5–48 (1991)
Greengard, S.: The Internet of Things. MIT Press, Cambridge (2015)
Guy, C., Combemale, B., Derrien, S., Steel, J.R.H., Jézéquel, J.M.: On model subtyping. In: Proceedings of ECMFA’12, LNCS, vol. 7349, pp. 400–415. Springer (2012)
Hall, B.D.: Component interfaces that support measurement uncertainty. Comput. Stand. Interfaces 28(3), 306–310 (2006)
IEEE Std 1003.1-2008: The Open Group Base Specifications. Issue 7, Sect. 4.16, Seconds Since the Epoch (2016)
ISO/IEC 25010:2011: Systems and software engineering—Systems and software Quality Requirements and Evaluation (SQuaRE)—System and software quality models. ISO/IEC (2011)
JCGM 100:2008: Evaluation of measurement data – Guide to the expression of uncertainty in measurement (GUM). Joint Committee for Guides in Metrology. http://www.bipm.org/utils/common/documents/jcgm/JCGM_100_2008_E.pdf (2008)
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. http://www.bipm.org/utils/common/documents/jcgm/JCGM_101_2008_E.pdf (2008)
JCGM 200:2012: International Vocabulary of Metrology – Basic and general concepts and associated terms (VIM), 3rd edition. Joint Committee for Guides in Metrology. http://www.bipm.org/utils/common/documents/jcgm/JCGM_200_2012.pdf (2012)
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)
Kchir, S., Dhouib, S., Tatibouet, J., Gradoussoff, B., Simoes, M.D.S.: Robotml for industrial robots: design and simulation of manipulation scenarios. In: Proceedings of ETFA’16, pp. 1–8 (2016)
Khan, M.U., Arshad, N., Iqbal, M.Z., Umar, H.: AspectOCL: Extending OCL for crosscutting constraints. In: Proceedings of ECMFA’15, LNCS, vol. 9153, pp. 92–107. Springer (2015)
Kosko, B.: Fuzziness vs probability. Int. J. Gen. Syst. 17(2–3), 211–240 (1990)
Kyas, M.: An extended type system for OCL supporting templates and transformations. In: Proceedings of FMOODS’05, LNCS, vol. 3535, pp. 83–98. Springer (2005)
Lebigot, E.O.: Uncertainties: a Python package for calculations with uncertainties. https://pythonhosted.org/uncertainties/ (2017). Accessed May 2019
Lee, E.A.: Cyber physical systems: design challenges. In: Proceedings of ISORC’08, pp. 363–369. IEEE (2008)
Letier, E., Stefan, D., Barr, E.T.: Uncertainty, risk, and information value in software requirements and architecture. In: Proceedings of ICSE’14, pp. 883–894. ACM (2014)
Levenshtein, V.: Binary codes capable of correcting deletions, insertions and reversals. Sov. Phys. Dokl. 10, 707 (1966)
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. Reliabil. Eng. Syst. Saf 50(1), 87–95 (1995)
Liu, B.: Uncertainty Theory, 5th edn. Springer, Berlin (2018)
Michaël Baudin Anne Dutfoy, B.I.A.L.P.: Openturns: an industrial software for uncertainty quantification in simulation. http://www.openturns.org/ (2015)
Mosterman, P.J., Zander, J.: Industry 4.0 as a cyber-physical system study. Softw. Syst. Model. 15(1), 17–29 (2016)
Oberkampf, W.L., DeLand, S.M., Rutherford, B.M., Diegert, K.V., Alvin, K.F.: Error and uncertainty in modeling and simulation. Reliabil. Eng. Syst. Saf. 75(3), 333–357 (2002)
Object Management Group: Object Constraint Language (OCL) Specification. Version 2.2 (2010). OMG Document formal/01 Feb 2010
Object Management Group: UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems. Version 1.1 (2011). OMG Document formal/02 June 2010
Object Management Group: Unified Modeling Language (UML) Specification. Version 2.5 (2015). OMG document formal/01 March 2015
Object Management Group: OMG Systems Modeling Language (SysML), version 1.4 (2016). OMG Document formal/05 January 2015
Object Management Group: Structured Metrics Metamodel (SMM) Specification. Version 1.2 (2018). OMG Document formal/01 May 2018
Pardillo, J., Mazón, J.N., Trujillo, J.: Extending OCL for OLAP querying on conceptual multidimensional models of data warehouses. Inf. Sci. 180(5), 584–601 (2010)
Salay, R., Chechik, M., Horkoff, J., Sandro, A.: Managing requirements uncertainty with partial models. Requir. Eng. 18(2), 107–128 (2013)
Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (2003)
Selic, B.: Beyond mere logic—a vision of modeling languages for the 21st century. In: Proceedings of MODELSWARD 2015 and PECCS 2015, pp. IS–5. SciTePress. http://cescit2015.um.si/Presentations/KN_Selic.pdf (2015)
Shafer, G.: A Mathematical Theory of Evidence. Princeton University Press, Princeton (1976)
Vallecillo, A., Gogolla, M.: Adding random operations to OCL. In: Proceedings of MoDeVVa’17, no. 2019 in CEUR Workshop Proceedings, pp. 324–328 (2017)
Vallecillo, A., Morcillo, C., Orue, P.: Expressing measurement uncertainty in software models. In: Proceedings of QUATIC’16, pp. 1–10 (2016)
Wikipedia: List of uncertainty propagation software. https://en.wikipedia.org/wiki/List_of_uncertainty_propagation_software. Accessed 20 May 2019
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. 18(2), 1379–1418 (2019). 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: Proceedings of ECMFA’16, LNCS, vol. 9764, pp. 247–264. Springer (2016)
Zimmermann, H.J.: Fuzzy Set Theory—and Its Applications, 4th edn. Springer, Berlin (2001)
Acknowledgements
This work was partially funded by the Spanish Research Projects TIN2014-52034-R, TIN2016-75944-R and PGC2018-094905-B-I00. We are really thankful to the reviewers of this paper, for their insightful comments and suggestions.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by A. Pierantonio, A. Anjorin, S. Trujillo, and H. Espinoza.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Bertoa, M.F., Burgueño, L., Moreno, N. et al. Incorporating measurement uncertainty into OCL/UML primitive datatypes. Softw Syst Model 19, 1163–1189 (2020). https://doi.org/10.1007/s10270-019-00741-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-019-00741-0