A framework to specify system requirements using natural interpretation of UML/MARTE diagrams

  • Aamir M. Khan
  • Frédéric Mallet
  • Muhammad Rashid
Theme Section Paper


The ever-increasing design complexity of embedded systems is constantly pressing the demand for more abstract design levels and possible methods for automatic verification and synthesis. Transforming a text-based user requirements document into semantically sound models is always difficult and error-prone as mostly these requirements are vague and improperly documented. This paper presents a framework to specify textual requirements graphically in standard modeling formalisms like uml and marte in the form of temporal and logical patterns. The underlying formal semantics of these graphical models allow to eliminate ambiguity in specifications and automatic design verification at different abstraction levels using these patterns. The semantics of these operators/patterns are presented formally as state automatons and a comparison is made to the existing ccsl relational operators. To reap the benefits of mde, a software plugin TemLoPAC is presented as part of the framework to transform the graphical patterns into ccsl and Verilog-based observers.


FSL Graphical properties UML MARTE CCSL Modeling Embedded systems 



This project is partially funded by nstip (National Science Technology and Innovative Plan), Saudi Arabia, under the Track ‘Software Engineering and Innovated Systems’ bearing the project code ‘13-INF761-10.’


  1. 1.
    Abrial, J.R., Börger, E., Langmaack, H.: The stream boiler case study: competition of formal program specification and development methods. In: Formal Methods for Industrial Applications, Specifying and Programming the Steam Boiler Control (the Book Grow out of a Dagstuhl Seminar, June 1995)., pp. 1–12. Springer, London (1996).
  2. 2.
    Aceto, L., Burgueño, A., Larsen, K.: Model checking via reachability testing for timed automata. In: Steffen, B. (ed.) Tools and Algorithms for the Construction and Analysis of Systems, Lecture Notes in Computer Science, vol. 1384, pp. 263–280. Springer, Berlin (1998). doi: 10.1007/BFb0054177
  3. 3.
    Al-Lail, M., Sun, W., France, R.B.: Analyzing behavioral aspects of UML design class models against temporal properties. In: Quality Software (QSIC), 2014 14th International Conference on, pp. 196–201 (2014). doi: 10.1109/QSIC.2014.56
  4. 4.
    Alfonso, A., Braberman, V., Kicillof, N., Olivero, A.: Visual timed event scenarios. In: Proceedings of the 26th International Conference on Software Engineering, ICSE ’04, pp. 168–177. IEEE Computer Society, Washington, DC, USA (2004).
  5. 5.
    Allen, J.F.: Maintaining knowledge about temporal intervals. Commun. ACM 26(11), 832–843 (1983). doi: 10.1145/182.358434 CrossRefMATHGoogle Scholar
  6. 6.
    André, C.: Syntax and semantics of the clock constraint specification language (CCSL). Research Report RR-6925, INRIA (2009).
  7. 7.
    André, C., Deantoni, J., Mallet, F., de Simone, R.: The time model of logical clocks available in the OMG MARTE profile. In: Shukla, S.K., Talpin, J.P. (eds.) Synthesis of Embedded Software: Frameworks and Methodologies for Correctness by Construction, p. 28. Springer Science+Business Media, LLC 2010 (2010). Chapter 7
  8. 8.
    André, C., Mallet, F., DeAntoni, J.: VHDL observers for clock constraint checking. In: Industrial Embedded Systems (SIES), 2010 International Symposium on, pp. 98–107 (2010). doi: 10.1109/SIES.2010.5551372
  9. 9.
    André, C., Mallet, F., de Simone, R.: Modeling Time(s). In: Engels, G., Opdyke, B., Schmidt, D., Weil, F. (eds.) Model Driven Engineering Languages and Systems, Lecture Notes in Computer Science, vol. 4735, pp. 559–573. Springer, Berlin (2007). doi: 10.1007/978-3-540-75209-7_38
  10. 10.
    Autili, M., Grunske, L., Lumpe, M., Pelliccione, P., Tang, A.: Aligning qualitative, real-time, and probabilistic property specification patterns using a structured english grammar. IEEE Trans. Softw. Eng. 41(7), 620–638 (2015). doi: 10.1109/TSE.2015.2398877 CrossRefGoogle Scholar
  11. 11.
    Autili, M., Inverardi, P., Pelliccione, P.: Graphical Scenarios for Specifying Temporal Properties: An Automated Approach. Automated Software Engg. 14(3), 293–340 (2007). doi: 10.1007/s10515-007-0012-6 CrossRefGoogle Scholar
  12. 12.
    Autili, M., Pelliccione, P.: Towards a graphical tool for refining user to system requirements. Electron. Notes Theor. Comput. Sci. 211, 147–157 (2008). doi: 10.1016/j.entcs.2008.04.037 CrossRefGoogle Scholar
  13. 13.
    Baresi, L., Ghezzi, C., Zanolin, L.: Modeling and Validation of Publish/Subscribe Architectures, pp. 273–291. Springer, Berlin (2005). doi: 10.1007/3-540-27071-X_13
  14. 14.
    Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20(4), 141–1464 (2011). doi: 10.1145/2000799.2000800 CrossRefGoogle Scholar
  15. 15.
    Bellini, P., Nesi, P., Rogai, D.: Expressing and organizing real-time specification patterns via temporal logics. J. Syst. Softw. 82(2), 183–196 (2009). doi: 10.1016/j.jss.2008.06.041 CrossRefGoogle Scholar
  16. 16.
    Bensalem, S., Bozga, M., Krichen, M., Tripakis, S.: Testing conformance of real-time applications by automatic generation of observers. Electron. Notes Theor. Comput. Sci. 113(23–43) (2005). doi: 10.1016/j.entcs.2004.01.036. Proceedings of the 4th Workshop on Runtime Verification (RV 2004)
  17. 17.
    Chai, M., Schlingloff, B.H.: Runtime Verification: 5th International Conference, RV 2014, Toronto, ON, Canada, Sept 22–25, 2014. Proceedings, chap. Monitoring Systems with Extended Live Sequence Charts, pp. 48–63. Springer International Publishing, Cham (2014). doi: 10.1007/978-3-319-11164-3_5
  18. 18.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999).
  19. 19.
    Cohen, B., Venkataramanan, S., Kumari, A., Piper, L.: SystemVerilog Assertions Handbook: for Dynamic and Formal Verification, 2nd edn. VhdlCohen Publishing, Palos Verdes Peninsula (2010)Google Scholar
  20. 20.
    Deantoni, J.: TimeSquare: Logical Time Matters.
  21. 21.
    Di Guglielmo, L., Fummi, F., Orlandi, N., Pravadelli, G.: DDPSL: An easy way of defining properties. In: Computer Design (ICCD), 2010 IEEE International Conference on, pp. 468–473 (2010). doi: 10.1109/ICCD.2010.5647654
  22. 22.
    Drechsler, R., Soeken, M., Wille, R.: Formal specification level: towards verification-driven design based on natural language processing. In: Specification and Design Languages (FDL), 2012 Forum on, pp. 53–58 (2012)Google Scholar
  23. 23.
    Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Proceedings of the 21st International Conference on Software Engineering, ICSE ’99, pp. 411–420. ACM, New York, NY, USA (1999). doi: 10.1145/302405.302672
  24. 24.
    Gascon, R., Mallet, F., Deantoni, J.: Logical time and temporal logics: comparing UML MARTE/CCSL and PSL. In: Proceedings of the 2011 18th International Symposium on Temporal Representation and Reasoning, TIME ’11, pp. 141–148. IEEE Computer Society, Washington, DC, USA (2011). doi: 10.1109/TIME.2011.10
  25. 25.
    Guernic, P.L., Gautier, T., Talpin, J., Besnard, L.: Polychronous automata. In: 2015 International Symposium on Theoretical Aspects of Software Engineering, TASE 2015, pp. 95–102. IEEE Computer Society (2015). doi: 10.1109/TASE.2015.21
  26. 26.
    Halbwachs, N., Lagnier, F., Raymond, P.: Synchronous observers and the verification of reactive systems. In: Nivat, M., Rattray, C., Rus, T., Scollo, G. (eds.) Algebraic Methodology and Software Technology (AMAST93), Workshops in Computing, pp. 83–96. Springer, London (1994). doi: 10.1007/978-1-4471-3227-1_8
  27. 27.
    Harris, I.: Extracting design information from natural language specifications. In: Design Automation Conference (DAC), 2012 49th ACM/EDAC/IEEE, pp. 1252–1253 (2012). doi: 10.1145/2228360.2228591
  28. 28.
    Haxthausen, A.E.: Automated generation of formal safety conditions from railway interlocking tables. Int. J. Softw. Tools Technol. Transf. 16(6), 713–726 (2014). doi: 10.1007/s10009-013-0295-9 CrossRefGoogle Scholar
  29. 29.
    IEEE: Standard for Property Specification Language (PSL) Std 1850-2010 (2010).
  30. 30.
    Khan, A.M.: Semantics of graphical patterns using UML/MARTE. Research report, NSTIP.
  31. 31.
    Khan, A.M.: TemLoPAC: Temporal and Logical Pattern Analyzer and Code-generator EMF Plugin.
  32. 32.
    Khan, A.M., Mallet, F., Rashid, M.: Natural interpretation of UML/MARTE diagrams for system requirements specification. In: Industrial Embedded Systems (SIES), 2016 11th IEEE International Symposium on (2016)Google Scholar
  33. 33.
    Konrad, S., Cheng, B.H.C.: Real-time specification patterns. In: Proceedings of the 27th International Conference on Software Engineering, ICSE ’05, pp. 372–381. ACM, New York (2005). doi: 10.1145/1062455.1062526
  34. 34.
    Kugler, H., Harel, D., Pnueli, A., Lu, Y., Bontemps, Y.: Temporal logic for scenario-based specifications. In: Proceedings of the 11th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’05, pp. 445–460. Springer, Berlin (2005). doi: 10.1007/978-3-540-31980-1_29
  35. 35.
    Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebr. Program. 78(5), 293–303 (2009). doi: 10.1016/j.jlap.2008.08.004. The 1st Workshop on Formal Languages and Analysis of Contract-Oriented Software (FLACOS07)
  36. 36.
    Li, X.: A characterization of UML diagrams and their consistency. In: 11th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS’06), p. 10 (2006). doi: 10.1109/ICECCS.2006.1690356
  37. 37.
    Mallet, F.: Clock constraint specification language: specifying clock constraints with UML/MARTE. Innov. Syst. Softw. Eng. 4(3), 309–314 (2008). doi: 10.1007/s11334-008-0055-2 CrossRefGoogle Scholar
  38. 38.
    Mallet, F.: Formal Modeling and Verification of Cyber-Physical Systems: 1st International Summer School on Methods and Tools for the Design of Digital Systems, Bremen, Germany, September 2015, chap. MARTE/CCSL for Modeling Cyber-Physical Systems, pp. 26–49. Springer Fachmedien Wiesbaden, Wiesbaden (2015). doi: 10.1007/978-3-658-09994-7_2
  39. 39.
    Mallet, F., André, C.: UML/MARTE CCSL, Signal and Petri nets. Research Report RR-6545, INRIA (2008).
  40. 40.
    Mallet, F., de Simone, R.: Correctness Issues on MARTE/CCSL Constraints. Sci. Comput. Program. 106, 78–92 (2015). doi: 10.1016/j.scico.2015.03.001 CrossRefGoogle Scholar
  41. 41.
    Mentor Graphics: Questa Advanced Simulator.
  42. 42.
    Object Management Group (OMG): UML Profile for MARTE: Modeling and Analysis of Real-time Embedded Systems (2011).
  43. 43.
    Object Management Group (OMG): Unified Modeling Language (UML), Superstructure Specification, Version 2.4 (2011).
  44. 44.
    Panda, P.R.: SystemC: A modeling platform supporting multiple design abstractions. In: Proceedings of the 14th International Symposium on Systems Synthesis, ISSS ’01, pp. 75–80. ACM, New York (2001). doi: 10.1145/500001.500018
  45. 45.
    Peraldi-Frati, M.A., DeAntoni, J.: Scheduling multi-clock real-time systems: from requirements to implementation. In: 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing, pp. 50–57 (2011). doi: 10.1109/ISORC.2011.16
  46. 46.
    Peters, J., Wille, R., Drechsler, R.: Generating systemC implementations for clock constraints specified in UML/MARTE CCSL. In: Engineering of Complex Computer Systems (ICECCS), 2014 19th International Conference on, pp. 116–125 (2014). doi: 10.1109/ICECCS.2014.24
  47. 47.
    Pnueli, A.: The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science, pp. 46–57. IEEE Computer Society (1977). doi: 10.1109/SFCS.1977.32
  48. 48.
    Ribeiro, F., Pereira, C., Rettberg, A., Soares, M.: Model-based requirements specification of real-time systems with UML, SysML and MARTE. Softw. Syst. Model. pp. 1–19 (2016). doi: 10.1007/s10270-016-0525-1
  49. 49.
    Ribeiro, F., Rettberg, A., Pereira, C., Soares, M.: Annotating SysML models with MARTE time stereotypes for requirements specification and design of real-time systems. In: 2016 IEEE 19th International Symposium on Real-Time Distributed Computing (ISORC), pp. 36–43 (2016). doi: 10.1109/ISORW.2016.15
  50. 50.
    Rigo, S., Azevedo, R., Santos, L.: Electronic System Level Design: An Open-Source Approach, 1st edn. Springer, London (2011)CrossRefGoogle Scholar
  51. 51.
    Runtime Verification Community: Runtime Verification Events 2001-16.
  52. 52.
    Selic, B., Gérard, S.: Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE: Developing Cyber-Physical Systems, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco (2013)Google Scholar
  53. 53.
    Smith, R.L., Avrunin, G.S., Clarke, L.A., Osterweil, L.J.: PROPEL: An approach supporting property elucidation. In: Proceedings of the 24th International Conference on Software Engineering, ICSE ’02, pp. 11–21. ACM, New York (2002). doi: 10.1145/581339.581345
  54. 54.
    Soeken, M., Drechsler, R.: Formal Specification Level-Concepts, Methods, and Algorithms. Springer, Berlin (2015). doi: 10.1007/978-3-319-08699-6
  55. 55.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley, Reading (2009)Google Scholar
  56. 56.
    Suryadevara, J.: Model Based Development of Embedded Systems using Logical Clock Constraints and Timed Automata. Ph.D. thesis, Malardalen University, Sweden (2013)Google Scholar
  57. 57.
    Suryadevara, J., Sapienza, G., Seceleanu, C., Seceleanu, T., Ellevseth, S.E., Pettersson, P.: Wind Turbine System: An Industrial Case Study in Formal Modeling and Verification, pp. 229–245. Springer, Cham (2014). doi: 10.1007/978-3-319-05416-2_15
  58. 58.
    Suryadevara, J., Seceleanu, C., Mallet, F., Pettersson, P.: Verifying MARTE/CCSL Mode Behaviors Using UPPAAL, pp. 1–15. Springer, Berlin (2013). doi: 10.1007/978-3-642-40561-7_1
  59. 59.
    The Eclipse Foundation: Eclipse Modeling Framework (EMF).
  60. 60.
    Walter, S., Rettberg, A.: Formal requirements for specification of timing constraints in distributed real-time systems. In: 2016 IEEE 19th International Symposium on Real-Time Distributed Computing (ISORC), pp. 28–35 (2016). doi: 10.1109/ISORW.2016.14
  61. 61.
    Watterson, C., Heffernan, D.: Runtime verification and monitoring of embedded systems. IET Softw. 1(5), 172–179 (2007). doi: 10.1049/iet-sen:20060076 CrossRefGoogle Scholar
  62. 62.
    Weilkiens, T.: Systems Engineering with SysML/UML: Modeling, Analysis, Design. Morgan Kaufmann Publishers Inc., San Francisco (2008)MATHGoogle Scholar
  63. 63.
    Wile, B., Goss, J., Roesner, W.: Comprehensive Functional Verification: The Complete Industry Cycle (Systems on Silicon). Morgan Kaufmann Publishers Inc., San Francisco (2005)Google Scholar
  64. 64.
    Yu, H., Talpin, J.P., Besnard, L., Gautier, T., Marchand, H., Guernic, P.L.: Polychronous controller synthesis from Marte CCSL timing specifications. In: Formal Methods and Models for Codesign (MEMOCODE), 2011 9th IEEE/ACM International Conference on, pp. 21–30 (2011). doi: 10.1109/MEMCOD.2011.5970507
  65. 65.
    Zhang, P., Grunske, L., Tang, A., Li, B.: A formal syntax for probabilistic timed property sequence charts. In: Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, ASE ’09, pp. 500–504. IEEE Computer Society, Washington, DC, USA (2009). doi: 10.1109/ASE.2009.56
  66. 66.
    Zhang, P., Li, B., Grunske, L.: Timed property sequence chart. J. Syst. Softw. 83(3), 371–390 (2010). doi: 10.1016/j.jss.2009.09.013 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2017

Authors and Affiliations

  • Aamir M. Khan
    • 1
  • Frédéric Mallet
    • 2
  • Muhammad Rashid
    • 3
  1. 1.College of Engineering, University of BuraimiBuraimiOman
  2. 2.CNRS, INRIA, I3S, Université Cote d’AzurSophia AntipolisFrance
  3. 3.College of Computer and Information Systems, Umm Al-Qura UniversityMakkahSaudi Arabia

Personalised recommendations