The QRML Language

[kar–uh–muh l] a kind of chewy candy, commonly in small blocks, made from sugar, butter, milk, etc.

dictionary.com

TODO: add image

Video About QRML

Video about QRML
  • tbd
  • component interface model
  • connection to Pareto Algebra

Introduction

Quality and Resource Management are common activities in many embedded and cyber-physical systems. We have developed QRM models to support and automate QRM activities, off-line and on-line.

The Quality and Resource Management Language (QRML, [1]) is developed as a means to create QRM models. It is a DSL, using Xtext, that supports the QRM Component Interface model of [2].

It was developed in the context of a project about design and management of image processing pipelines within cps [3], but it can be used in very diverse contexts, we believe.

Constraint Generation

A QRML model describes a set of components, their various interface, relations between components and constraints on the different kinds of values. As such, a QRML can be interpreted as a set of constraints on the variables of the components. A constraint solver can help identify of the model, the set of constraints, has any feasible solutions at all, identify optimal solutions for a given objective, or identify Pareto optimal solutions with respect to multiple objectives.

We have implemented a translation from a QRML model to a constraint program in <language> and connected it to the open source Z3 constraint solver in the qrml.org web site.

Tools

  • qrml.org
  • DSL tools, not yet open source

Example

budget ImageCapturing boolean ordered by = 

typedef Quality enumeration {low, medium, high} ordered by low < medium, medium < high

budget FaceIdentification {
	latency : Latency
	qual : Quality
}

component LocalComputePlatform {
	provides FaceIdentification faceId { qual = medium & latency = 50 }
	provides DatabaseAccess dbAcc { latency = 50 }
}

Acknowledgements

FitOptivis

Selected Related Publications

  • [DOI] M. Hendriks, M. Geilen, K. Goossens, R. de Jong, and T. Basten, “Interface Modeling for Quality and Resource Management,” Logical Methods in Computer Science, vol. {Volume 17, Issue 2}, 2021.
    [Bibtex]
    @Article{HGGJB21,
    author = {Martijn Hendriks and Marc Geilen and Kees Goossens and Rob de Jong and Twan Basten},
    journal = {{Logical Methods in Computer Science}},
    title = {{Interface Modeling for Quality and Resource Management}},
    year = {2021},
    month = May,
    volume = {{Volume 17, Issue 2}},
    doi = {10.23638/LMCS-17(2:19)2021},
    keywords = {Computer Science - Logic in Computer Science ; Computer Science - Discrete Mathematics ; Computer Science - Performance},
    url = {https://lmcs.episciences.org/7513},
    }
  • [DOI] C. Sau, C. Rinaldi, L. Pomante, F. Palumbo, G. Valente, T. Fanni, M. Martinez, F. van der Linden, T. Basten, M. Geilen, G. Peeren, J. Kadlec, P. Jääskeläinen, L. Bulej, F. Barranco, J. Saarinen, T. Säntti, M. K. Zedda, V. Sanchez, T. S. Nikkhah, D. Goswami, G. Amat, L. Maršík, M. van Helvoort, L. Medina, Z. Al-Ars, and A. de Beer, “Design and management of image processing pipelines within cps: acquired experience towards the end of the fitoptivis ecsel project,” Microprocessors and microsystems, vol. 87, p. 104350, 2021.
    [Bibtex]
    @Article{SRPea21,
    author = {C. Sau and C. Rinaldi and L. Pomante and F. Palumbo and G. Valente and T. Fanni and M. Martinez and F. van der Linden and T. Basten and M. Geilen and G. Peeren and J. Kadlec and P. Jääskeläinen and L. Bulej and F. Barranco and J. Saarinen and T. Säntti and M.K. Zedda and V. Sanchez and S. Tabatabaei Nikkhah and D. Goswami and G. Amat and L. Maršík and M. van Helvoort and L. Medina and Z. Al-Ars and A. de Beer},
    journal = {Microprocessors and Microsystems},
    title = {Design and management of image processing pipelines within CPS: Acquired experience towards the end of the FitOptiVis ECSEL Project},
    year = {2021},
    issn = {0141-9331},
    pages = {104350},
    volume = {87},
    doi = {https://doi.org/10.1016/j.micpro.2021.104350},
    url = {https://www.sciencedirect.com/science/article/pii/S014193312100507X},
    }
  • [DOI] F. van den Berg, V. Čamra, M. Hendriks, M. Geilen, P. Hnetynka, F. Manteca, P. Sánchez, T. Bureš, and T. Basten, “Qrml: a component language and toolset for quality and resource management,” in 2020 forum for specification and design languages (fdl), 2020, pp. 1-8.
    [Bibtex]
    @InProceedings{BCHea20,
    author = {van den Berg, Freek and Čamra, Václav and Hendriks, Martijn and Geilen, Marc and Hnetynka, Petr and Manteca, Fernando and Sánchez, Pablo and Bureš, Tomáš and Basten, Twan},
    booktitle = {2020 Forum for Specification and Design Languages (FDL)},
    title = {QRML: A Component Language and Toolset for Quality and Resource Management},
    year = {2020},
    pages = {1-8},
    doi = {10.1109/FDL50818.2020.9232936},
    }

References

[1] [doi] F. van den Berg, V. Čamra, M. Hendriks, M. Geilen, P. Hnetynka, F. Manteca, P. Sánchez, T. Bureš, and T. Basten, “Qrml: a component language and toolset for quality and resource management,” in 2020 forum for specification and design languages (fdl), 2020, pp. 1-8.
[Bibtex]
@InProceedings{BCHea20,
author = {van den Berg, Freek and Čamra, Václav and Hendriks, Martijn and Geilen, Marc and Hnetynka, Petr and Manteca, Fernando and Sánchez, Pablo and Bureš, Tomáš and Basten, Twan},
booktitle = {2020 Forum for Specification and Design Languages (FDL)},
title = {QRML: A Component Language and Toolset for Quality and Resource Management},
year = {2020},
pages = {1-8},
doi = {10.1109/FDL50818.2020.9232936},
}
[2] [doi] M. Hendriks, M. Geilen, K. Goossens, R. de Jong, and T. Basten, “Interface Modeling for Quality and Resource Management,” Logical Methods in Computer Science, vol. {Volume 17, Issue 2}, 2021.
[Bibtex]
@Article{HGGJB21,
author = {Martijn Hendriks and Marc Geilen and Kees Goossens and Rob de Jong and Twan Basten},
journal = {{Logical Methods in Computer Science}},
title = {{Interface Modeling for Quality and Resource Management}},
year = {2021},
month = May,
volume = {{Volume 17, Issue 2}},
doi = {10.23638/LMCS-17(2:19)2021},
keywords = {Computer Science - Logic in Computer Science ; Computer Science - Discrete Mathematics ; Computer Science - Performance},
url = {https://lmcs.episciences.org/7513},
}
[3] [doi] C. Sau, C. Rinaldi, L. Pomante, F. Palumbo, G. Valente, T. Fanni, M. Martinez, F. van der Linden, T. Basten, M. Geilen, G. Peeren, J. Kadlec, P. Jääskeläinen, L. Bulej, F. Barranco, J. Saarinen, T. Säntti, M. K. Zedda, V. Sanchez, T. S. Nikkhah, D. Goswami, G. Amat, L. Maršík, M. van Helvoort, L. Medina, Z. Al-Ars, and A. de Beer, “Design and management of image processing pipelines within cps: acquired experience towards the end of the fitoptivis ecsel project,” Microprocessors and microsystems, vol. 87, p. 104350, 2021.
[Bibtex]
@Article{SRPea21,
author = {C. Sau and C. Rinaldi and L. Pomante and F. Palumbo and G. Valente and T. Fanni and M. Martinez and F. van der Linden and T. Basten and M. Geilen and G. Peeren and J. Kadlec and P. Jääskeläinen and L. Bulej and F. Barranco and J. Saarinen and T. Säntti and M.K. Zedda and V. Sanchez and S. Tabatabaei Nikkhah and D. Goswami and G. Amat and L. Maršík and M. van Helvoort and L. Medina and Z. Al-Ars and A. de Beer},
journal = {Microprocessors and Microsystems},
title = {Design and management of image processing pipelines within CPS: Acquired experience towards the end of the FitOptiVis ECSEL Project},
year = {2021},
issn = {0141-9331},
pages = {104350},
volume = {87},
doi = {https://doi.org/10.1016/j.micpro.2021.104350},
url = {https://www.sciencedirect.com/science/article/pii/S014193312100507X},
}