[巴黎高师课程] 同步反应式系统(2024-2025) 课程参考材料

在2024-2025学期的巴黎高师MPRI硕士课程中,包含了Marc Pouzet 与 Timothy Bourke 讲授的同步反应式系统。该课程的主题覆盖了同步语言的语义与逻辑基础、同步语言的编译技术、面向同步语言的模型检测形式化验证等。课程中的各节课最后也补充了与课程主题相关的参考材料,内容分别如下。

第一节-使用Lustre对嵌入式系统编程

  • Darek Biernacki, Jean-Louis Colaco, Grégoire Hamon, and Marc Pouzet. Clock-directed Modular Code Generation of Synchronous Data-flow Languages. In ACM International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), Tucson, Arizona, June 2008.

  • Caspi, P., D. Pilaud, N. Halbwachs, and J. A. Plaice (Jan. 1987). “LUSTRE: A declarative language for programming synchronous systems”. In: Proc. 14th ACM SIGPLAN-SIGACT Symp. Principles of Programming Languages (POPL 1987). Munich, Germany: ACM Press, pp. 178–188.

  • Caspi, P. and M. Pouzet (May 1995). “A Functional Extension to Lustre”. In: International Symposium on Languages for Intentional Programming. Ed. by M. A. Orgun and E. A. Ashcroft. Sydney, Australia: World Scientific.

  • Colaço, J.-L., B. Pagano, and M. Pouzet (Sept. 2005). “A Conservative Extension of Synchronous Data-flow with State Machines”. In: Proc. 5th ACM Int. Conf. on Embedded Software (EMSOFT 2005). Ed. by W. Wolf. Jersey City, USA: ACM Press, pp. 173–182.

  • (Sept. 2017). “Scade 6: A Formal Language for Embedded Critical Software Development”. In: Proc. 11th Int. Symp. Theoretical Aspects of Software Engineering (TASE 2017). Nice, France: IEEE Computer Society, pp. 4–15.

  • Colaço, J.-L. and M. Pouzet (Oct. 2003). “Clocks as First Class Abstract Types”. In: Proc. 3rd Int. Workshop on Embedded Software (EMSOFT 2003). Ed. by R. Alur and I. Lee. Vol. 2855. LNCS. Philadelphia, PA, USA: Springer, pp. 134–155.

  • (Aug. 2004). “Type-based initialization analysis of a synchronous dataflow language”. In: Int. J. Software Tools for Technology Transfer 6.3, pp. 245–255.

  • Dvorak (ed.), D. L. (Mar. 2009). NASA Study on Flight Software Complexity. Final Report. NASA Office of Chief Engineer.

  • Halbwachs, N., F. Lagnier, and P. Raymond (June 1993). “Synchronous observers and the verification of reactive systems”. In: Proc. 3rd Int. Conf. on Algebraic Methodology and Software Technology (AMAST’93). Ed. by M. Nivat, C. Rattray, T. Rus, and G. Scollo. Twente: Workshops in Computing, Springer Verlag.

  • Halbwachs, N., P. Caspi, P. Raymond, and D. Pilaud (Sept. 1991). “The synchronous dataflow programming language LUSTRE”. In: Proc. IEEE 79.9, pp. 1305–1320.

  • Halbwachs, N., J.-C. Fernandez, and A. Bouajjani (Apr. 1993). “An executable temporal logic to express safety properties and its connection with the language Lustre”. In: Proc. 6th Int. Symp. Lucid and Intensional Programming (ISLIP’93). Quebec, Canada.

  • Halbwachs, N., F. Lagnier, and C. Ratel (Sept. 1992). “Programming and verifying real-time systems by means of the synchronous data-flow language LUSTRE”. In: IEEE Trans. Software Engineering 18.9, pp. 785–793.

  • Huet, G. (Sept. 1991). The Gilbreath trick: a case study in axiomatisation and proof development in the Coq proof assistant. Rapport de Recherche RR-1511. Rocquencourt, France: Inria.

  • Jahier, E., P. Raymond, and N. Halbwachs (May 2019). The Lustre V6 Reference Manual. Verimag. Grenoble.

  • Kahn, G. (Aug. 1974). “The Semantics of a Simple Language for Parallel Programming”. In: Proc. 6th Int. Federation for Information Processing (IFIP) Congress 1974. Ed. by J. L. Rosenfeld. Stockholm, Sweden: North-Holland, pp. 471–475.

  • Le Guernic, P., T. Gautier, M. Le Borgne, and C. Le Maire (Sept. 1991). “Programming Real-Time Applications with Signal”. In: Proc. IEEE 79.9, pp. 1321–1336.

  • Lublinerman, R., C. Szegedy, and S. Tripakis (Jan. 2009). “Modular Code Generation from Synchronous Block Diagrams: Modularity vs. Code Size”. In: Proc. 36th ACM SIGPLAN-SIGACT Symp. Principles of Programming Languages (POPL 2009). Savannah, GA, USA: ACM Press, pp. 78–89.

  • Plaice, J. A. (1988). “Sémantique et compilation de LUSTRE, un langage
    déclaratif synchrone”. PhD thesis. Grenoble INP.

  • Pouzet, M. (Apr. 2006). Lucid Synchrone, v. 3. Tutorial and reference manual. Université Paris-Sud.

  • Pouzet, M. and P. Raymond (Oct. 2009). “Modular Static Scheduling of Synchronous Data-flow Networks: An efficient symbolic representation”. In: Proc. 9th ACM Int. Conf. on Embedded Software (EMSOFT 2009). Grenoble, France: ACM Press, pp. 215–224.

  • Ptolemaeus, C., ed. (2014). System Design, Modeling, and Simulation using Ptolemy II. Ptolemy.org.

  • Raymond, P. (1991). “Compilation efficace d’un langage déclaratif synchrone: le générateur de code Lustre-V3”. PhD thesis. Grenoble INP.

  • — (July 1996). “Recognizing regular expressions by means of dataflow networks”. In: Proc. 23rd Int. Colloq. on Automata, Languages and Programming. Ed. by F. Meyer auf der Heide and B. Monien. LNCS 1099. Paderborn, Germany: Springer, pp. 336–347.

  • Raymond, P., Y. Roux, and E. Jahier (2008). “Lutin: A Language for Specifying and Executing Reactive Scenarios”. In: EURASIP Journal of Embedded Systems.

  • The Economist (June 2012). “Open-source medical devices: When code can kill or cure”. In: The Economist: Technology Quarterly.

  • Wadge, W. W. and E. A. Ashcroft (1985). LUCID, the dataflow programming language. Academic Press Professional, Inc.

第二节-Lustre:增加数组、重置、状态机

  • André, C. (Oct. 1995). SyncCharts: A Visual Representation of Reactive Behaviors. Technical Report. RR 95-52. Sophia-Antipolis, France: I3S.

  • Berry, G. (May 1989). Programming a Digital Watch in Esterel v3. Rapport de recherche 1032. Sophia Antipolis: Inria.

  • — (July 2000). The Esterel v5 Language Primer. 5.91. Ecole des Mines and INRIA.

  • Biernacki, D., J.-L. Colaço, G. Hamon, and M. Pouzet (June 2008). “Clock-directed modular code generation for synchronous data-flow languages”. In: Proc. 9th ACM SIGPLAN Conf. on Languages, Compilers, and Tools for Embedded Systems (LCTES 2008). Tucson, AZ, USA: ACM Press, pp. 121–130.

  • Bourke, T. and M. Pouzet (Apr. 2013). “Zélus: A Synchronous Langu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值