{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,8]],"date-time":"2024-09-08T23:54:12Z","timestamp":1725839652102},"publisher-location":"Cham","reference-count":30,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319254227"},{"type":"electronic","value":"9783319254234"}],"license":[{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2015]]},"DOI":"10.1007\/978-3-319-25423-4_1","type":"book-chapter","created":{"date-parts":[[2015,11,30]],"date-time":"2015-11-30T12:10:46Z","timestamp":1448885446000},"page":"1-16","source":"Crossref","is-referenced-by-count":10,"title":["Domain-Specific Languages with Scala"],"prefix":"10.1007","author":[{"given":"Cyrille","family":"Artho","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Klaus","family":"Havelund","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rahul","family":"Kumar","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yoriyuki","family":"Yamagata","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2015,12,1]]},"reference":[{"key":"1_CR1","unstructured":"ANTLR: \n                    http:\/\/www.antlr.org"},{"key":"1_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"112","DOI":"10.1007\/978-3-319-03077-7_8","volume-title":"Hardware and Software: Verification and Testing","author":"CV Artho","year":"2013","unstructured":"Artho, C.V., Biere, A., Hagiya, M., Platon, E., Seidl, M., Tanabe, Y., Yamamoto, M.: Modbat: A model-based API tester for event-driven systems. In: Bertacco, V., Legay, A. (eds.) HVC 2013. LNCS, vol. 8244, pp. 112\u2013128. Springer, Heidelberg (2013)"},{"issue":"11","key":"1_CR3","doi-asserted-by":"publisher","first-page":"365","DOI":"10.2514\/1.49356","volume":"7","author":"H Barringer","year":"2010","unstructured":"Barringer, H., Groce, A., Havelund, K., Smith, M.: Formal analysis of log files. J. Aerosp. Comput. Inf. Commun. 7(11), 365\u2013390 (2010)","journal-title":"J. Aerosp. Comput. Inf. Commun."},{"key":"1_CR4","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)"},{"key":"1_CR5","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":"1_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"365","DOI":"10.1007\/978-3-642-29860-8_28","volume-title":"Runtime Verification","author":"E Bodden","year":"2012","unstructured":"Bodden, E.: MOPBox: A library approach to runtime verification. In: Khurshid, S., Sen, K. (eds.) RV 2011. LNCS, vol. 7186, pp. 365\u2013369. Springer, Heidelberg (2012)"},{"key":"1_CR7","unstructured":"Bray, T., Paoli, J., Sperberg-McQueen, M., Maler, E., Yergeau, F.: Extensible markup language (XML). World Wide Web Consortium Recommendation REC-xml-19980210 (1998)"},{"key":"1_CR8","unstructured":"Bruneton, E., Lenglet, R., Coupaye, T.: ASM: a code manipulation tool to implement adaptable systems. In: Adaptable and Extensible Component Systems, Grenoble, France (2002)"},{"key":"1_CR9","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1016\/0004-3702(82)90020-0","volume":"19","author":"C Forgy","year":"1982","unstructured":"Forgy, C.: Rete: A fast algorithm for the many pattern\/many object pattern match problem. Artif. Intell. 19, 17\u201337 (1982)","journal-title":"Artif. Intell."},{"key":"1_CR10","volume-title":"Domain-Specific Languages","author":"M Fowler","year":"2010","unstructured":"Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley, Boston (2010)"},{"key":"1_CR11","unstructured":"Fusco, M.: Hammurabi\u2013a Scala rule engine. In: Scala Days 2011. Stanford University, California (2011)"},{"issue":"11","key":"1_CR12","doi-asserted-by":"publisher","first-page":"1203","DOI":"10.1002\/1097-024X(200009)30:11<1203::AID-SPE338>3.0.CO;2-N","volume":"30","author":"E Gansner","year":"2000","unstructured":"Gansner, E., North, S.: An open graph visualization system and its applications to software engineering. Softw. Pract. Exper. 30(11), 1203\u20131233 (2000)","journal-title":"Softw. Pract. Exper."},{"key":"1_CR13","unstructured":"GLL combinators: \n                    https:\/\/github.com\/djspiewak\/gll-combinators"},{"key":"1_CR14","doi-asserted-by":"crossref","unstructured":"Havelund, K.: Data automata in Scala. In: Leucker, M., Wang, J. (eds.) Proceedings of 8th International Symposium on Theoretical Aspects of Software Engineering (TASE 2014), Changsha, China. IEEE Computer Society Press (2014)","DOI":"10.1109\/TASE.2014.37"},{"key":"1_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"254","DOI":"10.1007\/978-3-662-45231-8_18","volume-title":"Leveraging Applications of Formal Methods, Verification and Validation","author":"K Havelund","year":"2014","unstructured":"Havelund, K.: Monitoring with data automata. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part II. LNCS, vol. 8803, pp. 254\u2013273. Springer, Heidelberg (2014)"},{"issue":"2","key":"1_CR16","doi-asserted-by":"publisher","first-page":"143","DOI":"10.1007\/s10009-014-0309-2","volume":"17","author":"K Havelund","year":"2015","unstructured":"Havelund, K.: Rule-based runtime verification revisited. Softw. Tools Technol. Transf. (STTT) 17(2), 143\u2013170 (2015)","journal-title":"Softw. Tools Technol. Transf. (STTT)"},{"key":"1_CR17","series-title":"Communications in Computer and Information Science","first-page":"1","volume-title":"Formal Techniques for Safety-Critical Systems","author":"K Havelund","year":"2015","unstructured":"Havelund, K., Joshi, R.: Experience with rule-based analysis of spacecraft logs. In: Artho, C., \u00d6lveczky, P.C. (eds.) FTSCS 2014. CCIS, vol. 476, pp. 1\u201316. Springer, Heidelberg (2015)"},{"issue":"1","key":"1_CR18","doi-asserted-by":"publisher","first-page":"100","DOI":"10.1145\/357980.358021","volume":"26","author":"C Hoare","year":"1983","unstructured":"Hoare, C.: Communicating sequential processes. Commun. ACM 26(1), 100\u2013106 (1983)","journal-title":"Commun. ACM"},{"key":"1_CR19","unstructured":"Jakob, F.: SugarScala: Syntactic extensibility for Scala. Master\u2019s thesis, Technische Universit\u00e4t Darmstadt (2014)"},{"key":"1_CR20","unstructured":"Link, J., Fr\u00f6hlich, P.: Unit Testing in Java: How Tests Drive the Code. Morgan Kaufmann Publishers Inc., Sebastopol (2003)"},{"issue":"4","key":"1_CR21","doi-asserted-by":"publisher","first-page":"316","DOI":"10.1145\/1118890.1118892","volume":"37","author":"M Mernik","year":"2005","unstructured":"Mernik, M., Heering, J., Sloane, A.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316\u2013344 (2005)","journal-title":"ACM Comput. Surv."},{"key":"1_CR22","volume-title":"Programming in Scala: A Comprehensive Step-by-step Guide","author":"M Odersky","year":"2010","unstructured":"Odersky, M., Spoon, L., Venners, B.: Programming in Scala: A Comprehensive Step-by-step Guide, 2nd edn. Artima Inc., USA (2010)","edition":"2"},{"key":"1_CR23","unstructured":"Parboiled: \n                    https:\/\/github.com\/sirthias\/parboiled2"},{"key":"1_CR24","unstructured":"Parser combinators: \n                    https:\/\/github.com\/scala\/scala-parser-combinators"},{"key":"1_CR25","first-page":"1","volume":"25","author":"T Rompf","year":"2013","unstructured":"Rompf, T., Amin, N., Moors, A., Haller, P., Odersky, M.: Scala-virtualized: linguistic reuse for deep embeddings. High. Order Symbolic Comput. 25, 1\u201343 (2013)","journal-title":"High. Order Symbolic Comput."},{"key":"1_CR26","unstructured":"Scala: \n                    http:\/\/www.scala-lang.org"},{"key":"1_CR27","unstructured":"ScalaBison: \n                    https:\/\/github.com\/djspiewak\/scala-bison"},{"key":"1_CR28","unstructured":"Scala macros: \n                    http:\/\/scalamacros.org"},{"key":"1_CR29","doi-asserted-by":"crossref","unstructured":"Stolz, V., Huch, F.: Runtime verification of concurrent Haskell programs. In: Proceedings of the 4th International Workshop on Runtime Verification (RV 2004), ENTCS, vol. 113, pp. 201\u2013216. Elsevier (2005)","DOI":"10.1016\/j.entcs.2004.01.026"},{"key":"1_CR30","unstructured":"Venners, B.: ScalaTest (2014). \n                    http:\/\/www.scalatest.org"}],"container-title":["Lecture Notes in Computer Science","Formal Methods and Software Engineering"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-25423-4_1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,31]],"date-time":"2019-05-31T15:17:36Z","timestamp":1559315856000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-25423-4_1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"ISBN":["9783319254227","9783319254234"],"references-count":30,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-25423-4_1","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2015]]}}}