{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T20:07:45Z","timestamp":1725566865872},"publisher-location":"Berlin, Heidelberg","reference-count":21,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540236115"},{"type":"electronic","value":"9783540304722"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2004]]},"DOI":"10.1007\/978-3-540-30472-2_6","type":"book-chapter","created":{"date-parts":[[2010,9,23]],"date-time":"2010-09-23T20:07:39Z","timestamp":1285272459000},"page":"85-106","source":"Crossref","is-referenced-by-count":5,"title":["Teaching How to Derive Correct Concurrent Programs from State-Based Specifications and Code Patterns"],"prefix":"10.1007","author":[{"given":"Manuel","family":"Carro","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Julio","family":"Mari\u00f1o","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"\u00c1ngel","family":"Herranz","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Juan Jos\u00e9","family":"Moreno-Navarro","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"6_CR1","volume-title":"Concurrent Programming","author":"G.R. Andrews","year":"1989","unstructured":"Andrews, G.R., Schneider, F.B.: Concepts and notations for concurrent programming. In: Gehani, N., McGettrick, A.D. (eds.) Concurrent Programming, Addison-Wesley, Reading (1989)"},{"key":"6_CR2","unstructured":"Andrews, G.: Concurrent Programming: Principles and Practice. Benjamin\/Cummings (1991)"},{"key":"6_CR3","series-title":"Lecture Notes in Computer Science","volume-title":"Program Development in Computational Logic: A Decade of Research Advances in Logic-Based Program Development","year":"2004","unstructured":"Bruynooghe, M., Lau, K.-K. (eds.): Program Development in Computational Logic. LNCS, vol.\u00a03049. Springer, Heidelberg (2004)"},{"key":"6_CR4","volume-title":"Concurrency in Ada","author":"A. Burns","year":"1998","unstructured":"Burns, A., Wellings, A.: Concurrency in Ada. Cambridge University Press, Cambridge (1998)"},{"key":"6_CR5","volume-title":"Ada as a Second Language","author":"N.H. Cohen","year":"1995","unstructured":"Cohen, N.H.: Ada as a Second Language. McGraw-Hill, New York (1995)"},{"key":"6_CR6","unstructured":"Hanus, M., Kuchen, H., Moreno-Navarro, J.J., et al.: Curry: An integrated functional logic language. Technical report, RWTH Aachen (2000)"},{"key":"6_CR7","doi-asserted-by":"publisher","first-page":"77","DOI":"10.1145\/268819.268844","volume-title":"Proceedings of the 2nd conference on Integrating technology into computer science education","author":"M.B. Feldman","year":"1997","unstructured":"Feldman, M.B., Bachus, B.D.: Concurrent programming can be introduced into the lower-level undergraduate curriculum. In: Proceedings of the 2nd conference on Integrating technology into computer science education, pp. 77\u201379. ACM Press, New York (1997)"},{"issue":"7","key":"6_CR8","doi-asserted-by":"publisher","first-page":"795","DOI":"10.1109\/71.238301","volume":"4","author":"N.H. Gehani","year":"1993","unstructured":"Gehani, N.H.: Capsules: a shared memory access mechanism for Concurrent C\/C++. IEEE Transactions on Parallel and Distributed Systems\u00a04(7), 795\u2013811 (1993)","journal-title":"IEEE Transactions on Parallel and Distributed Systems"},{"key":"6_CR9","first-page":"65","volume-title":"Parallelism and Implementation of Logic and Constraint Logic Programming","author":"M. Hermenegildo","year":"1999","unstructured":"Hermenegildo, M., Bueno, F., Cabeza, D., Carro, M., Garc\u00eda de la Banda, M., L\u00f3pez Garc\u00eda, P., Puebla, G.: The Ciao Multi-Dialect Compiler and System: An Experimentation Workbench for Future (C)LP Systems. In: Parallelism and Implementation of Logic and Constraint Logic Programming, April 1999, pp. 65\u201385. Nova Science, Commack (1999)"},{"key":"6_CR10","volume-title":"Fourth Workshop on Rigorous Object Oriented Methods, ROOM 4","author":"A. Herranz","year":"2002","unstructured":"Herranz, A., Moreno, J.J.: On the design of an object-oriented formal notation. In: Fourth Workshop on Rigorous Object Oriented Methods, ROOM 4, March 2002, King\u2019s College, London (2002)"},{"key":"6_CR11","doi-asserted-by":"publisher","first-page":"309","DOI":"10.1145\/107004.107071","volume-title":"Proceedings of the twenty-second SIGCSE technical symposium on Computer science education","author":"C. William Higginbotham","year":"1991","unstructured":"William Higginbotham, C., Morelli, R.: A system for teaching concurrent programming. In: Proceedings of the twenty-second SIGCSE technical symposium on Computer science education, pp. 309\u2013316. ACM Press, New York (1991)"},{"issue":"10","key":"6_CR12","doi-asserted-by":"publisher","first-page":"549","DOI":"10.1145\/355620.361161","volume":"17","author":"C.A.R. Hoare","year":"1974","unstructured":"Hoare, C.A.R.: Monitors, an operating system structuring concept. Communications of the ACM\u00a017(10), 549\u2013557 (1974)","journal-title":"Communications of the ACM"},{"key":"6_CR13","doi-asserted-by":"publisher","first-page":"92","DOI":"10.1145\/107004.107022","volume-title":"Twenty-second SIGCSE Technical Symposium on Computer Science Education","author":"D. Jackson","year":"1991","unstructured":"Jackson, D.: A Mini-Course on Concurrency. In: Twenty-second SIGCSE Technical Symposium on Computer Science Education, pp. 92\u201396. ACM Press, New York (1991)"},{"key":"6_CR14","volume-title":"Systematic Software Development Using VDM","author":"C.B. Jones","year":"1995","unstructured":"Jones, C.B.: Systematic Software Development Using VDM. Prentice-Hall, Upper Saddle River (1995)"},{"key":"6_CR15","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1145\/70593.70598","volume":"21","author":"R. Morales-Fernandez","year":"1989","unstructured":"Morales-Fernandez, R., Moreno-Navarro, J.J.: CC-Modula: A Modula-2 Tool to Teach Concurrent Programming. ACM SIGCSE Bulletin\u00a021, 19\u201325 (1989)","journal-title":"ACM SIGCSE Bulletin"},{"key":"6_CR16","doi-asserted-by":"crossref","unstructured":"The Joint Task Force on Computing Curricula IEEE-CS\/ACM. Computing Curricula (2001), http:\/\/www.computer.org\/education\/cc2001\/","DOI":"10.1145\/384274.384275"},{"key":"6_CR17","first-page":"185","volume-title":"Proceedings of the 6th annual conference on the teaching of computing and the 3rd annual conference on Integrating technology into computer science education","author":"Y. Persky","year":"1998","unstructured":"Persky, Y., Ben-Ari, M.: Re-engineering a concurrency simulator. In: Proceedings of the 6th annual conference on the teaching of computing and the 3rd annual conference on Integrating technology into computer science education, pp. 185\u2013188. ACM Press, New York (1998)"},{"key":"6_CR18","doi-asserted-by":"publisher","first-page":"177","DOI":"10.1145\/611892.611963","volume-title":"Procs. of the 34th SIGCSE Technical Symposium on Comp. Sci. Education","author":"S. Robbins","year":"2003","unstructured":"Robbins, S.: Using remote logging for teaching concurrency. In: Procs. of the 34th SIGCSE Technical Symposium on Comp. Sci. Education, pp. 177\u2013181. ACM Press, New York (2003)"},{"volume-title":"Consolidated Ada Reference Manual. Language and Standard Libraries International Standard ISO\/IEC 8652\/1995(E) with Technical Corrigendum 1","year":"2001","key":"6_CR19","unstructured":"Taft, T.S., Duff, R.A., Brukardt, R.L., Ploedereder, E. (eds.): Consolidated Ada Reference Manual. Language and Standard Libraries International Standard ISO\/IEC 8652\/1995(E) with Technical Corrigendum 1. Springer, Heidelberg (2001)"},{"key":"6_CR20","first-page":"147","volume-title":"The Future of Software Engineering","author":"A. Lamsweerde van","year":"2000","unstructured":"van Lamsweerde, A.: Formal Specification: a Roadmap. In: Finkelstein, A. (ed.) The Future of Software Engineering, pp. 147\u2013159. ACM Press, New York (2000)"},{"key":"6_CR21","doi-asserted-by":"publisher","first-page":"155","DOI":"10.1145\/107004.107033","volume-title":"Proceedings of the twenty-second SIGCSE technical symposium on Computer science education","author":"D.P. Yeager","year":"1991","unstructured":"Yeager, D.P.: Teaching concurrency in the programming languages course. In: Proceedings of the twenty-second SIGCSE technical symposium on Computer science education, pp. 155\u2013161. ACM Press, New York (1991)"}],"container-title":["Lecture Notes in Computer Science","Teaching Formal Methods"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-540-30472-2_6.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,19]],"date-time":"2020-11-19T04:53:34Z","timestamp":1605761614000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-540-30472-2_6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004]]},"ISBN":["9783540236115","9783540304722"],"references-count":21,"URL":"https:\/\/doi.org\/10.1007\/978-3-540-30472-2_6","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2004]]}}}