{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,4,19]],"date-time":"2025-04-19T04:51:03Z","timestamp":1745038263887,"version":"3.40.3"},"publisher-location":"Dordrecht","reference-count":62,"publisher":"Springer Netherlands","isbn-type":[{"type":"print","value":"9789401772662"},{"type":"electronic","value":"9789401772679"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"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":[[2017]]},"DOI":"10.1007\/978-94-017-7267-9_5","type":"book-chapter","created":{"date-parts":[[2017,9,26]],"date-time":"2017-09-26T09:54:06Z","timestamp":1506419646000},"page":"99-140","source":"Crossref","is-referenced-by-count":4,"title":["ForSyDe: System Design Using a Functional Language and Models of Computation"],"prefix":"10.1007","author":[{"given":"Ingo","family":"Sander","sequence":"first","affiliation":[]},{"given":"Axel","family":"Jantsch","sequence":"additional","affiliation":[]},{"given":"Seyed-Hosein","family":"Attarzadeh-Niaki","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2017,9,27]]},"reference":[{"key":"5_CR1","unstructured":"Acosta A (2007) Hardware synthesis in ForSyDe. Master\u2019s thesis, School for Information and Communication Technology, Royal Institute of Technology (KTH), Stockholm. KTH\/ICT\/ECS-2007-81"},{"key":"5_CR2","unstructured":"Attarzadeh\u00a0Niaki S, Jakobsen M, Sulonen T, Sander I (2012) Formal heterogeneous system modeling with SystemC. In: Forum on specification and design languages (FDL 2012), Vienna, pp\u00a0160\u2013167"},{"key":"5_CR3","unstructured":"Baaij C, Kooijman M, Kuper J, Boeijink A, Gerards M (2010) C\u03bbash: structural descriptions of synchronous hardware using Haskell. In: 2010 13th Euromicro conference on digital system design: architectures, methods and tools (DSD), pp\u00a0714\u2013721"},{"issue":"2","key":"5_CR4","doi-asserted-by":"crossref","first-page":"165","DOI":"10.1109\/32.21743","volume":"15","author":"FL Bauer","year":"1989","unstructured":"Bauer FL, M\u00f6ller B, Partsch H, Pepper P (1989) Formal program construction by transformations \u2013 computer-aided, intuition guided programming. IEEE Trans Softw Eng 15(2):165\u2013180","journal-title":"IEEE Trans Softw Eng"},{"issue":"9","key":"5_CR5","doi-asserted-by":"crossref","first-page":"1270","DOI":"10.1109\/5.97297","volume":"79","author":"A Benveniste","year":"1991","unstructured":"Benveniste A, Berry G (1991) The synchronous approach to reactive and real-time systems. Proc IEEE 79(9):1270\u20131282","journal-title":"Proc IEEE"},{"issue":"1","key":"5_CR6","doi-asserted-by":"crossref","first-page":"64","DOI":"10.1109\/JPROC.2002.805826","volume":"91","author":"A Benveniste","year":"2003","unstructured":"Benveniste A, Caspi P, Edwards SA, Halbwachs N, Le Guernic P, Simone RD (2003) The synchronous languages 12 years later. Proc IEEE 91(1):64\u201383","journal-title":"Proc IEEE"},{"issue":"2","key":"5_CR7","doi-asserted-by":"crossref","first-page":"87","DOI":"10.1016\/0167-6423(92)90005-V","volume":"19","author":"G Berry","year":"1992","unstructured":"Berry G, Gonthier G: The Esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19(2):87\u2013152 (1992)","journal-title":"Sci Comput Program"},{"key":"5_CR8","unstructured":"Bird RS (1986) An introduction to the theory of lists. Technical monograph PRG-56 edn. Oxford University Computing Laboratory"},{"key":"5_CR9","doi-asserted-by":"crossref","unstructured":"Bird RS (1988) Lectures on constructive functional programming. Technical Monograph PRG-69 edn. Oxford University Computing Laboratory","DOI":"10.1007\/978-3-642-74884-4_5"},{"key":"5_CR10","first-page":"174","volume-title":"Lava: hardware design in Haskell","author":"P Bjesse","year":"1998","unstructured":"Bjesse P, Claessen K, Sheeran M, Singh S (1998) Lava: hardware design in Haskell. In: International conference on functional programming, Baltimore, pp\u00a0174\u2013184"},{"key":"5_CR11","doi-asserted-by":"crossref","unstructured":"Blindell GH, Menne C, Sander I (2014) Synthesizing code for GPGPUs from abstract formal models. In: Forum on specification and design languages (FDL 2014), Munich","DOI":"10.1109\/FDL.2014.7119363"},{"issue":"9","key":"5_CR12","doi-asserted-by":"crossref","first-page":"1293","DOI":"10.1109\/5.97299","volume":"79","author":"F Boussinot","year":"1991","unstructured":"Boussinot F, De Simone R (1991) The Esterel language. Proc IEEE 79(9):1293\u20131304","journal-title":"Proc IEEE"},{"key":"5_CR13","volume-title":"Algorithmic skeletons: structured management of parallel computation. Research monographs in parallel and distributed computing","author":"M Cole","year":"1989","unstructured":"Cole M (1989) Algorithmic skeletons: structured management of parallel computation. Research monographs in parallel and distributed computing. Pitman, London"},{"issue":"1","key":"5_CR14","doi-asserted-by":"crossref","first-page":"13","DOI":"10.1109\/JPROC.2011.2160929","volume":"100","author":"P Derler","year":"2012","unstructured":"Derler P, Lee E, Sangiovanni-Vincentelli A (2012) Modeling cyber-physical systems. Proc IEEE 100(1):13\u201328","journal-title":"Proc IEEE"},{"key":"5_CR15","unstructured":"D\u00f6mer R, Gerstlauer A, Gajski D (2002) SpecC language reference manual, version 2.0"},{"issue":"3","key":"5_CR16","doi-asserted-by":"crossref","first-page":"366","DOI":"10.1109\/5.558710","volume":"85","author":"S Edwards","year":"1997","unstructured":"Edwards S, Lavagno L, Lee EA, Sangiovanni-Vincentelli A (1997) Design of embedded systems: formal models, validation, and synthesis. Proc IEEE 85(3):366\u2013390","journal-title":"Proc IEEE"},{"issue":"1","key":"5_CR17","doi-asserted-by":"crossref","first-page":"127","DOI":"10.1109\/JPROC.2002.805829","volume":"91","author":"J Eker","year":"2003","unstructured":"Eker J, Janneck J, Lee E, Liu J, Liu X, Ludvig J, Neuendorffer S, Sachs S, Xiong Y: Taming heterogeneity \u2013 the Ptolemy approach. Proc IEEE 91(1):127\u2013144 (2003)","journal-title":"Proc IEEE"},{"key":"5_CR18","unstructured":"Falk J, Haubelt C, Teich J (2006) Efficient representation and simulation of model-based designs in SystemC. In: Proceedings of the forum on specification and design languages (FDL), vol\u00a06, pp\u00a0129\u2013134"},{"key":"5_CR19","unstructured":"ForSyDe: Formal system design. https:\/\/forsyde.ict.kth.se\/"},{"issue":"4","key":"5_CR20","doi-asserted-by":"crossref","first-page":"44","DOI":"10.1109\/54.329454","volume":"11","author":"DD Gajski","year":"1994","unstructured":"Gajski DD, Ramachandran L (1994) Introduction to high-level synthesis. IEEE Des Test Comput 11(4):44\u201354","journal-title":"IEEE Des Test Comput"},{"key":"5_CR21","doi-asserted-by":"crossref","DOI":"10.1007\/978-1-4615-3636-9","volume-title":"High-level synthesis","author":"DD Gajski","year":"1992","unstructured":"Gajski DD, Dutt ND, Wu ACH, Lin SYL (1992) High-level synthesis. Kluwer Academic, Boston"},{"key":"5_CR22","series-title":"Lecture notes in computer science","doi-asserted-by":"crossref","first-page":"18","DOI":"10.1007\/978-3-642-16478-1_2","volume-title":"Implementation and application of functional languages","author":"A Gill","year":"2010","unstructured":"Gill A, Bull T, Kimmell G, Perrins E, Komp E, Werling B (2010) Introducing kansas Lava. In: Moraz\u00e1n M, Scholz SB (eds) Implementation and application of functional languages. Lecture notes in computer science, vol\u00a06041. Springer, Berlin\/Heidelberg, pp\u00a018\u201335"},{"issue":"9","key":"5_CR23","doi-asserted-by":"crossref","first-page":"1305","DOI":"10.1109\/5.97300","volume":"79","author":"N Halbwachs","year":"1991","unstructured":"Halbwachs N, Caspi P, Raymond P, Pilaud D (1991) The synchronous data flow programming language Lustre. Proc IEEE 79(9):1305\u20131320","journal-title":"Proc IEEE"},{"key":"5_CR24","unstructured":"Herrera F, Villar E (2008) A framework for heterogeneous specification and design of electronic embedded systems in SystemC. ACM Trans Des Autom Electron Syst 12(3): 22:1\u201322:31"},{"key":"5_CR25","doi-asserted-by":"crossref","unstructured":"Herrholz A, Oppenheimer F, Hartmann PA, Schallenberg A, Nebel W, Grimm C, Damm M, Haase J, Brame J, Herrera F, Villar E, Sander I, Jantsch A, Fouilliart AM, Martinez M (2007) The ANDRES project: analysis and design of run-time reconfigurable, heterogeneous systems. In: International conference on field programmable logic and applications (FPL\u201907), pp\u00a0396\u2013401","DOI":"10.1109\/FPL.2007.4380679"},{"key":"5_CR26","unstructured":"IEEE Standard for Standard SystemC Language Reference Manual. IEEE Std 1666\u20132011 (Revision of IEEE Std 1666\u20132005), pp. 1\u2013638. http:\/\/ieeexplore.ieee.org\/document\/6134619\/"},{"key":"5_CR27","volume-title":"Embedded systems handbook","author":"A Jantsch","year":"2005","unstructured":"Jantsch A (2005) Models of embedded computation. In: Zurawski R (ed) Embedded systems handbook. CRC Press, Boca Raton. Invited contribution"},{"issue":"12","key":"5_CR28","doi-asserted-by":"crossref","first-page":"1523","DOI":"10.1109\/43.898830","volume":"19","author":"K Keutzer","year":"2000","unstructured":"Keutzer K, Malik S, Newton AR, Rabaey JM, Sangiovanni-Vincentelli A (2000) System-level design: orthogonolization of concerns and platform-based design. IEEE Trans Comput-Aided Des Integr Circuits Syst 19(12):1523\u20131543","journal-title":"IEEE Trans Comput-Aided Des Integr Circuits Syst"},{"issue":"9","key":"5_CR29","doi-asserted-by":"crossref","first-page":"1235","DOI":"10.1109\/PROC.1987.13876","volume":"75","author":"EA Lee","year":"1987","unstructured":"Lee EA, Messerschmitt DG (1987) Synchronous data flow. Proc IEEE 75(9):1235\u20131245","journal-title":"Proc IEEE"},{"issue":"12","key":"5_CR30","doi-asserted-by":"crossref","first-page":"1217","DOI":"10.1109\/43.736561","volume":"17","author":"EA Lee","year":"1998","unstructured":"Lee EA, Sangiovanni-Vincentelli A (1998) A framework for comparing models of computation. IEEE Trans Comput-Aided Des Integr Circuits Syst 17(12):1217\u20131229","journal-title":"IEEE Trans Comput-Aided Des Integr Circuits Syst"},{"issue":"1","key":"5_CR31","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1109\/92.820756","volume":"8","author":"Y Li","year":"2000","unstructured":"Li Y, Leeser M (2000) HML, a novel hardware description language and its translation to VHDL. IEEE Trans VLSI 8(1):1\u20138","journal-title":"IEEE Trans VLSI"},{"key":"5_CR32","doi-asserted-by":"crossref","unstructured":"Lu Z, Sander I, Jantsch A (2002) A case study of hardware and software synthesis in ForSyDe. In: Proceedings of the 15th international symposium on system synthesis, Kyoto, pp\u00a086\u201391","DOI":"10.1145\/581199.581219"},{"key":"5_CR33","first-page":"181","volume-title":"Towards a declarative framework for hardware-software codesign","author":"W Luk","year":"1994","unstructured":"Luk W, Wu T (1994) Towards a declarative framework for hardware-software codesign. In: Proceedings of the third international workshop on hardware\/software codesign, Grenoble, pp\u00a0181\u2013188"},{"key":"5_CR34","doi-asserted-by":"crossref","unstructured":"Mainland G, Morrisett G (2010) Nikola: embedding compiled GPU functions in Haskell. In: Proceedings of the third ACM Haskell symposium on Haskell, Haskell \u201910. ACM, New York","DOI":"10.1145\/1863523.1863533"},{"key":"5_CR35","doi-asserted-by":"crossref","unstructured":"Matthews J, Cook B, Launchbury J (1998) Microprocessor specification in HAWK. In: International conference on computer languages (ICCL\u201998), pp\u00a090\u2013101","DOI":"10.1109\/ICCL.1998.674160"},{"issue":"7","key":"5_CR36","doi-asserted-by":"crossref","first-page":"56","DOI":"10.1109\/MC.2004.48","volume":"37","author":"PK McKinley","year":"2004","unstructured":"McKinley PK, Sadjadi SM, Kasten EP, Cheng BH (2004) Composing adaptive software. IEEE Comput 37(7):56\u201364","journal-title":"IEEE Comput"},{"key":"5_CR37","volume-title":"Synthesis and optimization of digital circuits","author":"GD Micheli","year":"1994","unstructured":"Micheli GD (1994) Synthesis and optimization of digital circuits. McGraw-Hill, New York"},{"key":"5_CR38","doi-asserted-by":"crossref","first-page":"348","DOI":"10.1016\/0022-0000(78)90014-4","volume":"17","author":"R Milner","year":"1978","unstructured":"Milner R (1978) A theory of type polymorphism in programming. J Comput Syst Sci 17:348\u2013375","journal-title":"J Comput Syst Sci"},{"key":"5_CR39","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/2319.001.0001","volume-title":"The definition of standard ML \u2013 revised","author":"R Milner","year":"1997","unstructured":"Milner R, Tofte M, Harper R, MacQueen D (1997) The definition of standard ML \u2013 revised. MIT, Cambridge"},{"key":"5_CR40","unstructured":"Mycroft A, Sharp R (2000) Hardware\/software co-design using functional languages. In: Proceedings of tools and algorithms for the construction and analysis of systems (TACAS). LNCS, vol\u00a02031. Springer, pp\u00a0236\u2013251"},{"key":"5_CR41","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-61512-2","volume-title":"Specification and transformation of programs","author":"HA Partsch","year":"1990","unstructured":"Partsch HA (1990) Specification and transformation of programs. Springer, New York"},{"issue":"2","key":"5_CR42","doi-asserted-by":"crossref","first-page":"361","DOI":"10.1145\/234528.234529","volume":"28","author":"A Pettorossi","year":"1996","unstructured":"Pettorossi A, Proietti M (1996) Rules and strategies for transforming functional and logic programs. ACM Comput Surv 28(2):361\u2013414","journal-title":"ACM Comput Surv"},{"key":"5_CR43","unstructured":"Plosila J (1999) Self-timed circuit design \u2013 the action systems approach. PhD thesis, University of Turku, Turku"},{"key":"5_CR44","unstructured":"Ptolemaeus C (ed) (2014) System design, modeling, and simulation using Ptolemy II. Ptolemy.org. http:\/\/ptolemy.org\/books\/Systems"},{"issue":"6","key":"5_CR45","doi-asserted-by":"crossref","first-page":"1091","DOI":"10.1109\/TCAD.2008.923249","volume":"27","author":"T Raudvere","year":"2008","unstructured":"Raudvere T, Sander I, Jantsch A (2008) Application and verification of local non-semantic-preserving transformations in system design. IEEE Trans Comput-Aided Des Integr Circuits Syst 27(6):1091\u20131103","journal-title":"IEEE Trans Comput-Aided Des Integr Circuits Syst"},{"key":"5_CR46","unstructured":"Reekie H (1995) Realtime signal processing. PhD thesis, School of Electrical Engineering, University of Technology at Sydney"},{"key":"5_CR47","doi-asserted-by":"crossref","unstructured":"Rosvall K, Sander I (2014) A constraint-based design space exploration framework for real-time applications on MPSoCs. In: Design automation and test in Europe (DATE \u201914), Dresden","DOI":"10.7873\/DATE.2014.339"},{"key":"5_CR48","unstructured":"Sander I (2003) System modeling and design refinement in ForSyDe. PhD thesis, Royal Institute of Technology, Stockholm"},{"issue":"1","key":"5_CR49","doi-asserted-by":"crossref","first-page":"17","DOI":"10.1109\/TCAD.2003.819898","volume":"23","author":"I Sander","year":"2004","unstructured":"Sander I, Jantsch A (2004) System modeling and transformational design refinement in ForSyDe. IEEE Trans Comput-Aided Des Integr Circuits Syst 23(1):17\u201332","journal-title":"IEEE Trans Comput-Aided Des Integr Circuits Syst"},{"issue":"2","key":"5_CR50","doi-asserted-by":"crossref","first-page":"39","DOI":"10.1016\/j.entcs.2008.02.011","volume":"200","author":"I Sander","year":"2008","unstructured":"Sander I, Jantsch A (2008) Modelling adaptive systems in ForSyDe. Electron Not Theor Comput Sci (ENTCS) 200(2):39\u201354","journal-title":"Electron Not Theor Comput Sci (ENTCS)"},{"issue":"3","key":"5_CR51","doi-asserted-by":"crossref","first-page":"467","DOI":"10.1109\/JPROC.2006.890107","volume":"95","author":"A Sangiovanni-Vincentelli","year":"2007","unstructured":"Sangiovanni-Vincentelli A (2007) Quo vadis, SLD? Reasoning about the trends and challenges of system level design. Proc IEEE 95(3):467\u2013506","journal-title":"Proc IEEE"},{"key":"5_CR52","unstructured":"Schneider K (2009) The synchronous programming language Quartz. Internal report 375, Department of Computer Science, University of Kaiserslautern, Kaiserslautern"},{"key":"5_CR53","unstructured":"Seceleanu T (2001) Systematic design of synchronous digital circuits. PhD thesis, University of Turku, Turku"},{"key":"5_CR54","doi-asserted-by":"crossref","unstructured":"Sharp R, Mycroft A (2001) A higher level language for hardware synthesis. In: Proceedings of 11th advanced research working conference on correct hardware design and verification methods (CHARME). LNCS, vol\u00a02144. Springer, pp\u00a0228\u2013243","DOI":"10.1007\/3-540-44798-9_20"},{"issue":"12","key":"5_CR55","doi-asserted-by":"crossref","first-page":"60","DOI":"10.1145\/636517.636528","volume":"37","author":"T Sheard","year":"2002","unstructured":"Sheard T, Jones SP (2002) Template meta-programming for Haskell. ACM SIGPLAN Not 37(12):60\u201375","journal-title":"ACM SIGPLAN Not"},{"key":"5_CR56","unstructured":"Singh S, James-Roxby P (2001) Lava and JBits: from HDL to bitstream in seconds. In: Proceedings of the 9th annual IEEE symposium on field-programmable custom computing machines, FCCM \u201901, pp\u00a091\u2013100"},{"key":"5_CR57","doi-asserted-by":"crossref","DOI":"10.1017\/CBO9780511526626","volume-title":"Foundations of parallel programming. Cambridge international series on parallel computation","author":"DB Skillicorn","year":"1994","unstructured":"Skillicorn DB (1994) Foundations of parallel programming. Cambridge international series on parallel computation. Cambridge University Press, Cambridge\/New York"},{"issue":"2","key":"5_CR58","doi-asserted-by":"crossref","first-page":"123","DOI":"10.1145\/280277.280278","volume":"30","author":"DB Skillicorn","year":"1998","unstructured":"Skillicorn DB, Talia D (1998) Models and languages for parallel computation. ACM Comput Surv 30(2):123\u2013169","journal-title":"ACM Comput Surv"},{"key":"5_CR59","unstructured":"Standard SystemC AMS extensions 2.0 language reference manual (2013)"},{"key":"5_CR60","series-title":"Lecture notes in computer science","doi-asserted-by":"crossref","first-page":"156","DOI":"10.1007\/978-3-642-24452-0_9","volume-title":"Implementation and application of functional languages","author":"J Svensson","year":"2011","unstructured":"Svensson J, Sheeran M, Claessen K (2011) Obsidian: a domain specific embedded language for parallel programming of graphics processors. In: Scholz SB, Chitil O (eds) Implementation and application of functional languages. Lecture notes in computer science, vol\u00a05836. Springer, Berlin\/Heidelberg, pp\u00a0156\u2013173"},{"key":"5_CR61","unstructured":"The Haskell language. http:\/\/www.haskell.org"},{"issue":"4","key":"5_CR62","doi-asserted-by":"crossref","first-page":"533","DOI":"10.1145\/502175.502181","volume":"6","author":"J Voeten","year":"2001","unstructured":"Voeten J (2001) On the fundamental limitataions of transformational design. ACM Trans Des Autom Electron Syst 6(4):533\u2013552","journal-title":"ACM Trans Des Autom Electron Syst"}],"container-title":["Handbook of Hardware\/Software Codesign"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-94-017-7267-9_5","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,10,3]],"date-time":"2019-10-03T20:07:21Z","timestamp":1570133241000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-94-017-7267-9_5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9789401772662","9789401772679"],"references-count":62,"URL":"https:\/\/doi.org\/10.1007\/978-94-017-7267-9_5","relation":{},"subject":[],"published":{"date-parts":[[2017]]}}}