{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,28]],"date-time":"2025-03-28T08:11:46Z","timestamp":1743149506655,"version":"3.40.3"},"publisher-location":"Cham","reference-count":36,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030891589"},{"type":"electronic","value":"9783030891596"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021]]},"DOI":"10.1007\/978-3-030-89159-6_16","type":"book-chapter","created":{"date-parts":[[2021,10,11]],"date-time":"2021-10-11T17:57:10Z","timestamp":1633975030000},"page":"233-252","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Integrated Modeling and Development of Component-Based Embedded Software in Scala"],"prefix":"10.1007","author":[{"given":"Klaus","family":"Havelund","sequence":"first","affiliation":[]},{"given":"Robert","family":"Bocchino","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,10,12]]},"reference":[{"key":"16_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"57","DOI":"10.1007\/978-3-642-21437-0_7","volume-title":"FM 2011: Formal Methods","author":"H Barringer","year":"2011","unstructured":"Barringer, H., Havelund, K.: TraceContract: a Scala DSL for trace analysis. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 57\u201372. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-21437-0_7"},{"key":"16_CR2","doi-asserted-by":"crossref","unstructured":"Barringer, H., Havelund, K., Kurklu, E., Morris, R.: Checking flight rules with TraceContract: application of a Scala DSL for trace analysis. In: Scala Days 2011. Stanford University, California (2011)","DOI":"10.1007\/978-3-642-21437-0_7"},{"key":"16_CR3","unstructured":"BIP. http:\/\/www-verimag.imag.fr\/Rigorous-Design-of-Component-Based.html"},{"key":"16_CR4","unstructured":"Bocchino, R., Canham, T., Watney, G., Reder, L., Levison, J.: F Prime: an open-source framework for small-scale flight software systems. In: 32nd Annual AIAA\/USU Conference on Small Satellites. Utah State University (2018)"},{"key":"16_CR5","unstructured":"cFS. https:\/\/cfs.gsfc.nasa.gov"},{"key":"16_CR6","unstructured":"D. https:\/\/dlang.org"},{"key":"16_CR7","unstructured":"Daut on github. https:\/\/github.com\/havelund\/daut"},{"key":"16_CR8","volume-title":"Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis and Design Language","author":"P Feller","year":"2012","unstructured":"Feller, P., Gluch, D.: Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis and Design Language. Addison-Wesley, Boston (2012)"},{"key":"16_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"150","DOI":"10.1007\/978-3-319-40648-0_12","volume-title":"NASA Formal Methods","author":"G F\u00e9rey","year":"2016","unstructured":"F\u00e9rey, G., Shankar, N.: Code generation using a formal model of reference counting. In: Rayadurgam, S., Tkachuk, O. (eds.) NFM 2016. LNCS, vol. 9690, pp. 150\u2013165. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-40648-0_12"},{"key":"16_CR10","unstructured":"FPP. https:\/\/github.com\/fprime-community\/fpp"},{"key":"16_CR11","unstructured":"Go. https:\/\/golang.org"},{"issue":"3","key":"16_CR12","doi-asserted-by":"publisher","first-page":"231","DOI":"10.1016\/0167-6423(87)90035-9","volume":"8","author":"D Harel","year":"1987","unstructured":"Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231\u2013274 (1987)","journal-title":"Sci. Comput. Program."},{"key":"16_CR13","doi-asserted-by":"crossref","unstructured":"Havelund, K.: Data automata in Scala. In: 2014 Theoretical Aspects of Software Engineering Conference, TASE 2014, Changsha, China, 1\u20133 September 2014, pp. 1\u20139. IEEE Computer Society (2014)","DOI":"10.1109\/TASE.2014.37"},{"key":"16_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"254","DOI":"10.1007\/978-3-662-45231-8_18","volume-title":"Leveraging Applications of Formal Methods, Verification and Validation. Specialized Techniques and Applications","author":"K Havelund","year":"2014","unstructured":"Havelund, K.: Monitoring with data automata. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014. LNCS, vol. 8803, pp. 254\u2013273. Springer, Heidelberg (2014). https:\/\/doi.org\/10.1007\/978-3-662-45231-8_18"},{"key":"16_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1007\/978-3-319-65948-0_2","volume-title":"Software Engineering for Resilient Systems","author":"K Havelund","year":"2017","unstructured":"Havelund, K., Joshi, R.: Modeling and monitoring of hierarchical state machines in Scala. In: Romanovsky, A., Troubitsyna, E.A. (eds.) SERENE 2017. LNCS, vol. 10479, pp. 21\u201336. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-65948-0_2"},{"key":"16_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"447","DOI":"10.1007\/978-3-319-66284-8_38","volume-title":"Computer Safety, Reliability, and Security","author":"K Havelund","year":"2017","unstructured":"Havelund, K., Joshi, R.: Modeling rover communication using hierarchical state machines with Scala. In: Tonetta, S., Schoitsch, E., Bitsch, F. (eds.) SAFECOMP 2017. LNCS, vol. 10489, pp. 447\u2013461. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-66284-8_38"},{"issue":"8","key":"16_CR17","doi-asserted-by":"publisher","first-page":"749","DOI":"10.1109\/32.940728","volume":"27","author":"K Havelund","year":"2001","unstructured":"Havelund, K., Lowry, M.R., Penix, J.: Formal analysis of a space-craft controller using SPIN. IEEE Trans. Softw. Eng. 27(8), 749\u2013765 (2001)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"16_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"662","DOI":"10.1007\/3-540-60973-3_113","volume-title":"FME\u201996: Industrial Benefit and Advances in Formal Methods","author":"K Havelund","year":"1996","unstructured":"Havelund, K., Shankar, N.: Experiments in theorem proving and model checking for protocol verification. In: Gaudel, M.-C., Woodcock, J. (eds.) FME 1996. LNCS, vol. 1051, pp. 662\u2013681. Springer, Heidelberg (1996). https:\/\/doi.org\/10.1007\/3-540-60973-3_113"},{"key":"16_CR19","unstructured":"Hewitt, C., Bishop, P., Steiger, R.: A universal modular actor formalism for artificial intelligence. In: Proceedings of the 3rd International Joint Conference on Artificial Intelligence, IJCAI 1973, San Francisco, CA, USA, pp. 235\u2013245. Morgan Kaufmann Publishers Inc. (1973)"},{"key":"16_CR20","volume-title":"Communicating Sequential Processes","author":"CAR Hoare","year":"1985","unstructured":"Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Hoboken (1985)"},{"key":"16_CR21","unstructured":"MagicDraw. https:\/\/www.nomagic.com\/products\/magicdraw"},{"key":"16_CR22","unstructured":"Mars Helicopter. https:\/\/mars.nasa.gov\/technology\/helicopter"},{"key":"16_CR23","doi-asserted-by":"crossref","unstructured":"McClelland, B., Tellier, D., Millman, M., Go, K.B., Balayan, A., Munje, M.J., Dewey, K., Ho, N., Havelund, K., Ingham, M.: Towards a systems programming language designed for hierarchical state machines. In: 8th IEEE International Conference on Space Mission Challenges for Information Technology, (SMC-IT 2021). IEEE (2021, To appear)","DOI":"10.1109\/SMC-IT51442.2021.00010"},{"key":"16_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-10235-3","volume-title":"A Calculus of Communicating Systems","year":"1980","unstructured":"Milner, R. (ed.): A Calculus of Communicating Systems. LNCS, vol. 92. Springer, Heidelberg (1980). https:\/\/doi.org\/10.1007\/3-540-10235-3"},{"key":"16_CR25","unstructured":"PlantUML. http:\/\/plantuml.com"},{"key":"16_CR26","unstructured":"PVS. http:\/\/pvs.csl.sri.com"},{"key":"16_CR27","unstructured":"Real-Time Java. https:\/\/en.wikipedia.org\/wiki\/Real_time_Java"},{"key":"16_CR28","unstructured":"Rust. https:\/\/www.rust-lang.org"},{"key":"16_CR29","volume-title":"Practical UML Statecharts in C\/C$$^{++}$$: Event-Driven Programming for Embedded Systems","author":"M Samek","year":"2009","unstructured":"Samek, M.: Practical UML Statecharts in C\/C$$^{++}$$: Event-Driven Programming for Embedded Systems, 2nd edn. Newnes, Burlington (2009)","edition":"2"},{"key":"16_CR30","unstructured":"Scala. http:\/\/www.scala-lang.org"},{"key":"16_CR31","unstructured":"Scala Native. https:\/\/scala-native.readthedocs.io\/en\/v0.3.9-docs"},{"key":"16_CR32","unstructured":"ScalaMeta. https:\/\/scalameta.org"},{"key":"16_CR33","unstructured":"Sireum Kekinian. https:\/\/github.com\/sireum\/kekinian"},{"key":"16_CR34","unstructured":"Spark Ada 2014. http:\/\/www.spark-2014.org"},{"key":"16_CR35","unstructured":"Swift. https:\/\/developer.apple.com\/swift"},{"key":"16_CR36","unstructured":"Systems Modeling Language (SysML). http:\/\/www.omg.org\/spec\/SysML\/1.3"}],"container-title":["Lecture Notes in Computer Science","Leveraging Applications of Formal Methods, Verification and Validation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-89159-6_16","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,3,25]],"date-time":"2022-03-25T08:07:15Z","timestamp":1648195635000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-89159-6_16"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030891589","9783030891596"],"references-count":36,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-89159-6_16","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"12 October 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ISoLA","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Leveraging Applications of Formal Methods","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Rhodes","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Greece","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"17 October 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"29 October 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"10","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"isola2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/isola-conference.org\/isola2021\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}