{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T11:19:06Z","timestamp":1742987946187,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":22,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642333132"},{"type":"electronic","value":"9783642333149"}],"license":[{"start":{"date-parts":[[2012,1,1]],"date-time":"2012-01-01T00:00:00Z","timestamp":1325376000000},"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":[[2012]]},"DOI":"10.1007\/978-3-642-33314-9_10","type":"book-chapter","created":{"date-parts":[[2012,9,12]],"date-time":"2012-09-12T04:05:18Z","timestamp":1347422718000},"page":"146-161","source":"Crossref","is-referenced-by-count":2,"title":["Relations as Executable Specifications: Taming Partiality and Non-determinism Using Invariants"],"prefix":"10.1007","author":[{"given":"Nuno","family":"Macedo","sequence":"first","affiliation":[]},{"given":"Hugo","family":"Pacheco","sequence":"additional","affiliation":[]},{"given":"Alcino","family":"Cunha","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"10_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"187","DOI":"10.1007\/10722010_13","volume-title":"Mathematics of Program Construction","author":"S. Abramov","year":"2000","unstructured":"Abramov, S., Gl\u00fcck, R.: The Universal Resolving Algorithm: Inverse Computation in a Functional Language. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol.\u00a01837, pp. 187\u2013212. Springer, Heidelberg (2000)"},{"key":"10_CR2","doi-asserted-by":"crossref","unstructured":"Backhouse, R., Hoogendijk, P., Voermans, E., van\u00a0der Woude, J.: A relational theory of datatypes (December 1992), draft of book in preparation, http:\/\/www.cs.nott.ac.uk\/~rcb\/MPC\/papers","DOI":"10.1007\/3-540-57499-9_15"},{"key":"10_CR3","doi-asserted-by":"crossref","unstructured":"Bird, R., de Moor, O.: Algebra of Programming. International Series in Computer Science, vol.\u00a0100. Prentice-Hall (1996)","DOI":"10.1007\/978-3-642-61455-2_12"},{"issue":"6","key":"10_CR4","doi-asserted-by":"publisher","first-page":"512","DOI":"10.1016\/j.scico.2010.01.003","volume":"76","author":"A. Cunha","year":"2011","unstructured":"Cunha, A., Visser, J.: Transformation of structure-shy programs with application to XPath queries and strategic functions. Sci. Comput. Program.\u00a076(6), 512\u2013539 (2011)","journal-title":"Sci. Comput. Program."},{"key":"10_CR5","doi-asserted-by":"crossref","unstructured":"Foster, N., Greenwald, M., Moore, J., Pierce, B., Schmitt, A.: Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem. TOPLAS 2007\u00a029(3) (2007)","DOI":"10.1145\/1232420.1232424"},{"key":"10_CR6","doi-asserted-by":"crossref","unstructured":"Foster, N., Pilkiewicz, A., Pierce, B.: Quotient lenses. In: ICFP 2008, pp. 383\u2013396. ACM (2008)","DOI":"10.1145\/1411203.1411257"},{"key":"10_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"45","DOI":"10.1007\/978-3-540-74610-2_5","volume-title":"Logic Programming","author":"M. Hanus","year":"2007","unstructured":"Hanus, M.: Multi-paradigm Declarative Languages. In: Dahl, V., Niemel\u00e4, I. (eds.) ICLP 2007. LNCS, vol.\u00a04670, pp. 45\u201375. Springer, Heidelberg (2007)"},{"key":"10_CR8","doi-asserted-by":"crossref","unstructured":"Hidaka, S., Hu, Z., Inaba, K., Kato, H., Matsuda, K., Nakano, K.: Bidirectionalizing graph transformations. In: ICFP 2010, pp. 205\u2013216. ACM (2010)","DOI":"10.1145\/1932681.1863573"},{"issue":"1-2","key":"10_CR9","doi-asserted-by":"publisher","first-page":"89","DOI":"10.1007\/s10990-008-9025-5","volume":"21","author":"Z. Hu","year":"2008","unstructured":"Hu, Z., Mu, S.C., Takeichi, M.: A programmable editor for developing structured documents based on bidirectional transformations. Higher-Order and Symbolic Computation\u00a021(1-2), 89\u2013118 (2008)","journal-title":"Higher-Order and Symbolic Computation"},{"key":"10_CR10","doi-asserted-by":"crossref","unstructured":"Liu, D., Hu, Z., Takeichi, M.: Bidirectional interpretation of XQuery. In: PEPM 2007, pp. 21\u201330. ACM (2007)","DOI":"10.1145\/1244381.1244386"},{"key":"10_CR11","doi-asserted-by":"crossref","unstructured":"Macedo, N., Pacheco, H., Cunha, A.: Relations as executable specifications: Taming partiality and non-determinism using invariants. Technical Report TR-HASLab:03:2012, University of Minho (July 2012), http:\/\/www.di.uminho.pt\/~nfmmacedo\/publications\/invariants-tr.pdf","DOI":"10.1007\/978-3-642-33314-9_10"},{"key":"10_CR12","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Hu, Z., Nakano, K., Hamana, M., Takeichi, M.: Bidirectionalization transformation based on automatic derivation of view complement functions. In: ICFP 2007, pp. 47\u201358. ACM (2007)","DOI":"10.1145\/1291151.1291162"},{"key":"10_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1007\/978-3-540-30477-7_2","volume-title":"Programming Languages and Systems","author":"S.-C. Mu","year":"2004","unstructured":"Mu, S.-C., Hu, Z., Takeichi, M.: An Algebraic Approach to Bi-directional Updating. In: Chin, W.-N. (ed.) APLAS 2004. LNCS, vol.\u00a03302, pp. 2\u201320. Springer, Heidelberg (2004)"},{"key":"10_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"294","DOI":"10.1007\/978-3-642-21070-9_22","volume-title":"Relational and Algebraic Methods in Computer Science","author":"S.-C. Mu","year":"2011","unstructured":"Mu, S.-C., Oliveira, J.N.: Programming from Galois Connections. In: de Swart, H. (ed.) RAMICS 2011. LNCS, vol.\u00a06663, pp. 294\u2013313. Springer, Heidelberg (2011)"},{"key":"10_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"134","DOI":"10.1007\/978-3-540-88643-3_4","volume-title":"Generative and Transformational Techniques in Software Engineering II","author":"J.N. Oliveira","year":"2008","unstructured":"Oliveira, J.N.: Transforming Data by Calculation. In: L\u00e4mmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol.\u00a05235, pp. 134\u2013195. Springer, Heidelberg (2008)"},{"key":"10_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"195","DOI":"10.1007\/978-3-642-03153-3_5","volume-title":"Language Engineering and Rigorous Software Development","author":"J.N. Oliveira","year":"2009","unstructured":"Oliveira, J.N.: Extended Static Checking by Calculation Using the Pointfree Transform. In: Bove, A., Barbosa, L.S., Pardo, A., Pinto, J.S. (eds.) LerNet ALFA Summer School 2008. LNCS, vol.\u00a05520, pp. 195\u2013251. Springer, Heidelberg (2009)"},{"key":"10_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"331","DOI":"10.1007\/978-3-642-13321-3_19","volume-title":"Mathematics of Program Construction","author":"H. Pacheco","year":"2010","unstructured":"Pacheco, H., Cunha, A.: Generic Point-free Lenses. In: Bolduc, C., Desharnais, J., Ktari, B. (eds.) MPC 2010. LNCS, vol.\u00a06120, pp. 331\u2013352. Springer, Heidelberg (2010)"},{"key":"10_CR18","doi-asserted-by":"crossref","unstructured":"Pacheco, H., Cunha, A.: Calculating with lenses: Optimising bidirectional transformations. In: PEPM 2011, pp. 91\u2013100. ACM (2011)","DOI":"10.1145\/1929501.1929520"},{"key":"10_CR19","doi-asserted-by":"crossref","unstructured":"Schmidt, G.: Relational Mathematics. Encyclopedia of Mathematics and its Applications, vol.\u00a0132. Cambridge University Press (2010)","DOI":"10.1017\/CBO9780511778810"},{"key":"10_CR20","doi-asserted-by":"crossref","unstructured":"Voigtl\u00e4nder, J.: Bidirectionalization for free! (Pearl). In: POPL 2009, pp. 165\u2013176. ACM (2009)","DOI":"10.1145\/1594834.1480904"},{"key":"10_CR21","doi-asserted-by":"crossref","unstructured":"Voigtl\u00e4nder, J., Hu, Z., Matsuda, K., Wang, M.: Combining syntactic and semantic bidirectionalization. In: ICFP 2010, pp. 181\u2013192. ACM (2010)","DOI":"10.1145\/1932681.1863571"},{"key":"10_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"397","DOI":"10.1007\/978-3-642-13321-3_22","volume-title":"Mathematics of Program Construction","author":"M. Wang","year":"2010","unstructured":"Wang, M., Gibbons, J., Matsuda, K., Hu, Z.: Gradual Refinement: Blending Pattern Matching with Data Abstraction. In: Bolduc, C., Desharnais, J., Ktari, B. (eds.) MPC 2010. LNCS, vol.\u00a06120, pp. 397\u2013425. Springer, Heidelberg (2010)"}],"container-title":["Lecture Notes in Computer Science","Relational and Algebraic Methods in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-33314-9_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,28]],"date-time":"2022-01-28T19:09:27Z","timestamp":1643396967000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-33314-9_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"ISBN":["9783642333132","9783642333149"],"references-count":22,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-33314-9_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2012]]}}}