Accellera Systems Initiative™: Core SystemC Language and Examples (2014). http://accellera.org/downloads/standards/systemc/files
Accellera Systems Initiative™: SystemC Synthesizable Subset – Version 1.4.7 (2016). http://accellera.org/images/downloads/standards/systemc/SystemC_Synthesis_Subset_1_4_7-Apache.pdf
aicas: Real-time specification for Java 2.0 (2016). https://www.aicas.com/cms/en/rtsj
Ambler, S.: Introduction to the diagrams of UML 2.X (2020). http://www.agilemodeling.com/essays/umlDiagrams.htm
ANSYS: Embedded software - embedded systems and software development (2020). https://www.ansys.com/products/embedded-software
Basten, T.: Opening remarks, 2nd Artist workshop on models of computation and communication, Eindhoven (2008). http://www.es.ele.tue.nl/~tbasten/mocc2008/presentations/mocc.pdf
Bengtsson, J., Yi, W.: Timed automata: Semantics, algorithms and tools. In: Desel, J., Reisig, W., Rozenberg, G. (eds.) Advanced Course on Petri Nets 2003. Lecture Notes in Computer Science, vol. 3098, pp. 87–124. Springer, Berlin (2004)
Google Scholar
Boldt, M., Traulsen, C., von Hanxleden, R.: Compilation and worst-case reaction time analysis for multithreaded esterel processing. EURASIP J. Embed. Syst. 2008, 4:1–4:21 (2008). https://doi.org/10.1155/2008/594129. http://dx.doi.org/10.1155/2008/594129
Bonfietti, A., Benini, L., Lombardi, M., Milano, M.: An efficient and complete approach for throughput-maximal SDF allocation and scheduling on multi-core platforms. In: Proceedings of Design, Automation and Test in Europe (DATE), pp. 897–902. European Design and Automation Association, 3001 Leuven, Belgium (2010). http://dl.acm.org/citation.cfm?id=1870926.1871143
Boussinot, F., de Simone, R.: The Esterel language. Proc. IEEE 79(9), 1293–1304 (1991)
CrossRef Google Scholar
Bouwmeester, D., Ekert, A., Zeilinger, A. (eds.): The Physics of Quantum Information: Quantum Cryptography, Quantum Teleportation, Quantum Computation. Springer, Berlin (2000)
MATH Google Scholar
Brand, D., Bergamaschi, R.A., Stok, L.: Don’t cares in synthesis: theoretical pitfalls and practical solutions. IEEE Trans. Comput. Aided Design Integr. Circuits Syst. 17(4), 285–304 (1998). https://doi.org/10.1109/43.703819
CrossRef Google Scholar
Bryant, R.: A switch-level model and simulator for MOS digital circuits. IEEE Trans. Comput. 33, 160–177 (1984)
CrossRef MathSciNet MATH Google Scholar
Buck, J.T.: Scheduling dynamic dataflow graphs with bounded memory using the token flow model. Ph.D. Thesis, University of California at Berkeley (1993)
Google Scholar
Budkowski, S., Dembinski, P.: An introduction to Estelle: A specification language for distributed systems. Comput. Netw. ISDN Syst. 14(1), 3–23 (1987). https://doi.org/10.1016/0169-7552(87)90084-5. http://www.sciencedirect.com/science/article/B6TYT-48V22NJ-5C/2/611631c58f275c04f464fba932b8b699
Burns, A., Wellings, A.: Real-Time Systems and Programming Languages. Addison-Wesley, Boston (1990)
MATH Google Scholar
Burns, A., Wellings, A.: Real-Time Systems and Programming Languages, 4th edn. Addison Wesley, Boston (2009)
MATH Google Scholar
Cai, L., Gajski, D.: Transaction level modeling: An overview. In: Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), pp. 19–24. ACM, New York (2003). https://doi.org/10.1145/944645.944651. http://doi.acm.org/10.1145/944645.944651
Chen, K., Sztipanovits, J., Neema, S.: Compositional specification of behavioral semantics. In: Design, Automation and Test in Europe (DATE), pp. 906–911 (2007)
Google Scholar
Cheung, E., Hsieh, H., Balarin, F.: Automatic buffer sizing for rate-constrained KPN applications on multiprocessor system-on-chip. In: High Level Design Validation and Test Workshop, 2007. HLVDT 2007. IEEE International, pp. 37–44 (2007). https://doi.org/10.1109/HLDVT.2007.4392782
Clouard, A., Jain, K., Ghenassia, F., Maillet-Contoz, L., Strassen, J.: Using transactional models in SoC design flow. In: Müller, W., Rosenstiel, W., Ruf, J. (eds.) SystemC: Methodologies and Applications, pp. 29–64. Kluwer Academic Publishers, Dordrecht (2003)
Google Scholar
Coelho, D.R.: The VHDL Handbook. Kluwer Academic Publishers, Dordrecht (1989)
CrossRef Google Scholar
Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. Form. Method Syst. Des. 19, 45–80 (2001)
CrossRef MATH Google Scholar
Davis, J., Hylands, C., Janneck, J., Lee, E.A., Liu, J., Liu, X., Neuendorffer, S., Sachs, S., Stewart, M., Vissers, K., Whitaker, P., Xiong, Y.: Overview of the Ptolemy project. Technical Memorandum UCB/ERL M01/11 (2001). http://ptolemy.eecs.berkeley.edu
Derin, O.: Self-adaptivity of applications on network on chip multiprocessors – the case of fault-tolerant Kahn Process Networks. Ph.D. Thesis, Università della Svizzera Italiana de Lugano (2013)
Google Scholar
Deutsches Institut für Normung: DIN 66253, Programmiersprache PEARL, Teil 2 PEARL 90. Beuth-Verlag, Berlin (1997). http://www.din.de
Dill, D., Alur, R.: A theory of timed automata. Theoret. Comput. Sci. 126, 183–235 (1994)
CrossRef MathSciNet MATH Google Scholar
Douglass, B.P.: Real-Time UML, 3rd edn. Addison Wesley, Boston (2004)
Google Scholar
Drusinsky, D., Harel, D.: Using statecharts for hardware description and synthesis. IEEE Trans. Comput. Design 8, 798–807 (1989)
CrossRef Google Scholar
Edwards, S.: Dataflow languages (2001). http://www.cs.columbia.edu/~sedwards/classes/2001/w4995-02/presentations/dataflow.ppt
Edwards, S.: Languages for embedded systems. In: Zurawski, R. (ed.) Embedded Systems Handbook. CRC Press, Boca Raton (2006)
Fowler, M., Scott, K.: UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley, Boston (1998)
Google Scholar
Gajski, D., Vahid, F., Narayan, S., Gong, J.: Specification and Design of Embedded Systems. Prentice Hall, Upper Saddle River (1994)
Google Scholar
Gajski, D., Zhu, J., Dömer, R., Gerstlauer, A., Zhao, S.: SpecC: Specification Language Methodology. Kluwer Academic Publishers, Dordrecht (2000)
CrossRef Google Scholar
Gomez, L., Fernandes, J.: Behavioral Modeling for Embedded Systems and Technologies. IGI Global, Pennsylvania (2010)
Google Scholar
Grötker, T., Liao, S., Martin, G.: System Design with SystemC. Springer, Berlin (2002)
Google Scholar
Halbwachs, N.: Synchronous programming of reactive systems, a tutorial and commented bibliography. In: Tenth International Conference on Computer-Aided Verification, CAV’98, LNCS 1427. Springer, Berlin (1998). See also: http://www.springerlink.com/content/5127074271136j71/fulltext.pdf
Halbwachs, N.: Personal communication. South American Artist School on Embedded Systems, Florianopolis (2008)
Google Scholar
Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous dataflow language LUSTRE. Proc. IEEE Trans. Softw. Eng. 79, 1305–1320 (1991)
Google Scholar
Harel, D.: StateCharts: A visual formalism for complex systems. Sci.Comput. Program. 8, 231–274 (1987)
CrossRef MathSciNet MATH Google Scholar
Haubelt, C., Teich, J.: Digital Hardware/Software-Systems: Specification and Verification (in German). eXamen.press. Springer, Berlin (2010). https://books.google.de/books?id=eNwfBAAAQBAJ
Haugen, O., Moller-Pedersen, B.: Introduction to UML and the modeling of embedded systems. In: Zurawski, R. (ed.) Embedded Systems Handbook. CRC Press, Boca Raton (2006)
Google Scholar
Hayes, J.: A unified switching theory with applications to VLSI design. Proc. IEEE 70, 1140–1151 (1982)
CrossRef Google Scholar
Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 5th edn. Morgan Kaufmann, Burlington (2011)
MATH Google Scholar
Herken, R.: The Universal Turing Machine: A Half-Century Survey. Springer, Berlin (1995)
CrossRef MATH Google Scholar
Herrera, F., Fernández, V., Sánchez, P., Villar, E.: Embedded software generation from SystemC for platform based design. In: Müller, W., Rosenstiel, W., Ruf, J. (eds.) SystemC: Methodologies and Applications, pp. 247–272. Kluwer Academic Publishers, Dordrecht (2003)
Google Scholar
Herrera, F., Posadas, H., Sánchez, P., Villar, E.: Systemic embedded software generation from SystemC. In: Proceedings of Design, Automation and Test in Europe (DATE), pp. 10142–10149 (2003)
Google Scholar
Hoare, C.: Communicating Sequential Processes. Prentice Hall International Series in Computer Science. Prentice-Hall, Upper Saddle River (1985)
Google Scholar
Hopcroft, J., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation. Addison Wesley, Boston (2006)
MATH Google Scholar
Huerlimann, D.: Opentrack home page (2016). http://www.opentrack.ch
IBM: What’s New in Rational Rhapsody 7.5.1 (2009). http://www.ibm.com/developerworks/rational/library/09/whatsnewinrationalrhapsody-7-5-1
IEEE: 1076-1993 - IEEE Standard VHDL Language Reference Manual (1993). http://standards.ieee.org/findstds/standard/1076-1993.html
IEEE: 1076-2000 - IEEE Standard VHDL Language Reference Manual (2000). http://standards.ieee.org/findstds/standard/1076-2000.html
IEEE: 1076-2002 - IEEE Standard VHDL Language Reference Manual (2002). http://standards.ieee.org/findstds/standard/1076-2002.html
IEEE: 1076-2008 - IEEE Standard VHDL Language Reference Manual, pp. c1–626 (2009). http://standards.ieee.org/findstds/standard/1076-2008.html
IEEE: 1666-2011 - IEEE Standard for Standard SystemC Language Reference Manual (2011). https://ieeexplore.ieee.org/document/6134619
IEEE: 1800-2012 - IEEE Standard for SystemVerilog–Unified Hardware Design, Specification, and Verification Language (2012). https://standards.ieee.org/findstds/standard/1800-2012.html
IEEE: P1076.1-2017 - Standard VHDL Analog and Mixed-Signal Extensions (2017). http://standards.ieee.org/develop/project/1076.1.html
ISO/IEC: ISO/IEC 15437:2001 - Information technology – Enhancements to LOTOS (E-LOTOS) (2001). http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=27680
Janka, R.: Specification and Design Methodology for Real-Time Embedded Systems. Kluwer Academic Publishers, Dordrecht (2002)
CrossRef MATH Google Scholar
Jantsch, A.: Modeling Embedded Systems and SoC’s: Concurrency and Time in Models of Computation. Morgan Kaufmann, Burlington (2004)
Google Scholar
Jantsch, A.: Models of embedded computation. In: Zurawski, R. (ed.) Embedded Systems Handbook. CRC Press, Boca Raton (2006)
Google Scholar
Java Community Process: JSR-1 – Real-time Specification for Java (2019). http://www.jcp.org/en/jsr/detail?id=1
Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, vol. 1. Springer, Berlin (2013)
Google Scholar
Kahn, G.: The semantics of a simple language for parallel programming. In: Proceeding of the International Federation for Information Processing (IFIP), pp. 471–475 (1974)
Google Scholar
Karp, R.M., Miller, R.E.: Properties of a model for parallel computations: Determinacy, termination, queueing. SIAM J. Appl. Math. 14, 1390–1411 (1966)
CrossRef MathSciNet MATH Google Scholar
Kempe, M.: Ada 95 reference manual, ISO/IEC standard 8652 (1995). (HTML-version), http://www.adahome.com/rm95/
Kempe Software Capital Enterprises (KSCE): Ada home: The web site for Ada (2010). http://www.adahome.com
Kienhuis, B., Rijjpkema, E., Deprettere, E.: Compaan: Deriving process networks from Matlab for embedded signal processing architectures. In: Proceedings of the International Symposium on Hardware-Software Codesign (CODES), pp. 29–40 (2000)
Google Scholar
Ko, M., Koo, I.: An overview of interactive video on demand system (1996). www.ece.ubc.ca/~irenek/techpaps/vod/vod.html
Kobryn, C.: UML 2001: A standardization Odyssey. Communications of the ACM (CACM), pp. 29–36 (2001). Available at http://www.omg.org/attachments/pdf/UML_2001_CACM_Oct99_p29-Kobryn.pdf
Kohavi, Z., Jha, N.K.: Switching and Finite Automata Theory, 3rd edn. Cambridge University Press, Cambridge (2010)
MATH Google Scholar
Lee, E.A., Messerschmitt, D.: Synchronous data flow. Proc. IEEE 75, 1235–1245 (1987)
CrossRef Google Scholar
Lee, E.A.: Embedded software – an agenda for research. Technical Report, UCB ERL Memorandum M99/63 (1999)
Lee, E.A.: The future of embedded software. ARTEMIS Conference, Graz (2006). http://ptolemy.eecs.berkeley.edu/presentations/06/FutureOfEmbeddedSoftware_Lee_Graz.ppt
Lewis, J., Rashba, E., Brophy, D.: VHDL-2006-D3.0 Tutorial. Tutorial at Design, Automation, and Test in Europe (DATE) (2007). http://www.accellera.org/apps/group_public/download.php/934/date_vhdl_tutorial.pdf
Liu, J.W.: Real-Time Systems. Prentice Hall, Upper Saddle River (2000)
Google Scholar
Marian, N., Ma, Y.: Translation of Simulink models to component-based software models. In: 8th International Workshop on Research and Education in Mechatronics REM, pp. 262–267 (2007). http://seg.mci.sdu.dk/publications/Translation%20of%20Simulink%20Models%20to%20Component-based%20Software%20Models.pdf
Marongiu, A., Benini, L.: Efficient OpenMP support and extensions for MPSoCs with explicitly managed memory hierarchy. In: Proceedings of Design, Automation and Test in Europe (DATE), pp. 809–814 (2009)
Google Scholar
Martin, G., Müller, W. (eds.): UML™ for SOC Design. Springer, Berlin (2010)
Google Scholar
Marwedel, P.: MIMOLA—a fully synthesizable language. In: Mishra, P., Dutt, N. (eds.) Processor Description Languages: Applications and Methodologies, pp. 35–63. Morgan Kaufmann, Burlington (2008)
CrossRef Google Scholar
Marwedel, P., Schenk, W.: Cooperation of synthesis, retargetable code generation and test generation in the MSS. In: Proceedings of the European Design Automation Conference (Euro-DAC), pp. 63–69 (1993)
Google Scholar
MathWorks, T.: Stateflow (2020). https://www.mathworks.com/products/stateflow.html
McLaughlin, M., Moore, A.: Real-Time Extensions to UML (1998). http://www.ddj.com/184410749
Mermet, J., Marwedel, P., Ramming, F.J., Newton, C., Borrione, D., Lefaou, C.: Three decades of hardware description languages in Europe. J. Electri. Eng. Inform. Sci. 3, 106pp (1998)
Google Scholar
Merriam-Webster Inc.: Dictionary, Entry for “Task” (2020). https://www.merriam-webster.com/dictionary/task
Message Passing Interface Forum: MPI: A message-passing interface standard - version 3.1 (2015). http://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf
Modelica Association: Modelica® - A Unified Object-Oriented Language for Systems Modeling - Language Specification - Version 3.3 (2012). https://www.modelica.org/documents/ModelicaSpec33.pdf
Object Management Group (OMG): UML™ profile for schedulability, performance, and time specification, version 1.1 (2005). http://www.omg.org/cgi-bin/doc?formal/05-01-02.pdf
Object Management Group (OMG): A UML™ profile for MARTE: Modeling and analysis of real-time embedded systems - 1.0 (2009). http://www.omg.org/spec/MARTE/1.0/PDF
Object Management Group (OMG): OMG® Specifications (2016). http://www.omg.org/spec/
Object Management Group (OMG): Systems modeling language (SysML™) (2020). https://www.omg.org/technology/readingroom/System-Modeling-Language.htm
Occam user group: Transputer and occam bibliography (1990). http://www.transputer.net/obooks/oug/oug-bib.pdf
OpenMP Architecture Review Board: OpenMP application program interface (2008). http://www.openmp.org/mp-documents/spec30.pdf
Petri, C.A.: Kommunikation mit Automaten. Schriften des Rheinisch-Westfälischen Institutes für Instrumentelle Mathematik an der Universität Bonn (1962)
Google Scholar
Popovici, K., Rousseau, F., Jerraya, A.A., Wolf, M.: Embedded Software Design and Programming of Multiprocessor System-on-Chip. Springer, Berlin (2010)
CrossRef MATH Google Scholar
Potop-Butucaru, D., de Simone, R., Talpin, J.P.: The synchronous hypothesis and synchronous languages. In: Zurawski, R. (ed.) Embedded Systems Handbook. CRC Press, Boca Raton (2006)
Google Scholar
Ptolemaeus, C. (ed.): System Design, Modeling, and Simulation using Ptolemy II. Ptolemy.org (2014). http://ptolemy.org/books/Systems
Radetzki, M. (ed.): Languages for Embedded Systems and their Applications. Springer, Berlin (2009)
MATH Google Scholar
Reisig, W.: Understanding Petri Nets: Modeling Techniques, Analysis Methods, Case Studies. Springer, Berlin (2013)
Google Scholar
Riccobene, E., Scandurra, P., Rosti, A., Bocchio, S.: A UML™ 2.0 profile for SystemC: toward high-level SoC design. In: Proceedings of the International Conference on Embedded Software (EMSOFT), pp. 138–141 (2005). http://doi.acm.org/10.1145/1086228.1086254
Sangiovanni-Vincentelli, A., Zeng, H., Natale, M.D., Marwedel, P. (eds.): Embedded Systems Development - From Functional Methods to Implementations. Springer, Berlin (2013). ISBN 978-1-4616-3878-6
Google Scholar
Schneider, K.: The synchronous programming language Quartz. Technical Report, Internal Report 375, Department of Computer Science, University of Kaiserslautern, Kaiserslautern (2009)
Google Scholar
SDL Forum Society: Home page (2016). http://www.sdl-forum.org
SDL Forum Society: List of commercial tools (2016). http://www.sdl-forum.org/Tools/Commercial.htm
Sifakis, J.: A notion of expressiveness for component-based design. In: Workshop on Foundations and Applications of Component-based Design, ES-Week (2008). http://www.artist-embedded.org/docs/Events/2008/Components/SLIDES/12-JosephSifakis-WFCD-ArtistDesign-Oct192008.pdf
Sipser, M.: Introduction to the Theory of Computation. Thomson Course Technology, Parts One and Two, Boston (2006)
Google Scholar
Sirocic, B., Marwedel, P.: Levi KPN simulation software (2007). https://ls12-www.cs.tu-dortmund.de/daes/media/documents/teaching/downloads/levi/download/leviKPN.zip
Sirocic, B., Marwedel, P.: Levi TDD simulation software (2007). https://ls12-www.cs.tu-dortmund.de/daes/media/documents/teaching/downloads/levi/download/leviTDD.zip
Skjellum, A., Kanevsky, A., Dandass, Y.S., Watts, J., Paavola, S., Cottel, D., Henley, G., Hebert, L.S., Cui, Z., Rounbehler, A.: The real-time message passing interface standard (MPI/RT-1.1). Concurr. Comput. Practice Exp. 16(S1), Si–S322 (2004). https://doi.org/10.1002/cpe.744. http://dx.doi.org/10.1002/cpe.744
Spivey, M.: The Z Notation: A Reference Manual, 2nd edn. Prentice Hall International Series in Computer Science. Prentice Hall, Upper Saddle River (1992)
Google Scholar
Sprint Consortium: Open SoC design platform for reuse and integration of IPs (2008). http://ecsi.org/sprint
Stallings, W.: Operating Systems: Internals and Design Principles, 8 edn. Prentice Hall, Upper Saddle River (2015)
Google Scholar
Stuijk, S.: Predictable mapping of streaming applications on multiprocessors. Ph.D. Thesis, TU Eindhoven (2007)
Google Scholar
Sutherland, S.: An overview of SystemVerilog 3.1. EEdesign, May (2003). Available at http://www.eetimes.com/news/design/features/showArticle.jhtml?articleID=16501063
SystemC: Home page (2016). http://www.SystemC.org
Tanenbaum, A.: Modern Operating Systems. Prentice Hall, Upper Saddle River (2014)
Google Scholar
Tewari, A.: Modern Control Design with MATLAB and SIMULINK. Wiley, Hoboken (2001)
Google Scholar
The MathWorks Inc.: Simulink - simulation and model-based design (2016). http://www.mathworks.com/products/simulink
Thoen, F., Catthoor, F.: Modelling, Verification and Exploration of Task-Level Concurrency in Real-Time Embedded Systems. Kluwer Academic Publishers, Dordrecht (2000)
Tiller, M.M.: Modelica by Example (2016). http://book.xogeny.com/
Tomasulo, R.M.: An efficient algorithm for exploiting multiple arithmetic units. IBM J. Res. Dev. 11(1), 25–33 (1967). https://doi.org/10.1147/rd.111.0025
CrossRef MATH Google Scholar
Verachtert, W.: Introduction to parallelism. In: Tutorial at Design, Automation, and Test in Europe (DATE). Springer, Berlin (2008)
Wang, C., Li, X., Zhang, J., Zhou, X., Nie, X.: MP-Tomasulo: a dependency-aware automatic parallel execution engine for sequential programs. ACM Trans. Archit. Code Optim. 10(2), 9:1–9:26 (2013). https://doi.org/10.1145/2459316.2459320. http://doi.acm.org/10.1145/2459316.2459320
Waxman, R., Bergé, J.M., Levia, O., Rouillard, J.: High-Level System Modeling. Springer, Berlin (1996)
CrossRef MATH Google Scholar
Wegener, I.: Branching Programs and Binary Decision Diagrams: Theory and Applications. SIAM Monographs on Discrete Mathematics and Applications. Society for Industrial and Applied Mathematics, Philadelphia (2000)
CrossRef MATH Google Scholar
Wikipedia: Structured systems analysis and design method (2020). http://en.wikipedia.org/wiki/Structured_Systems_Analysis_and_Design_Methodology
Winkler, J.: The CHILL homepage (2002). http://psc.informatik.uni-jena.de/languages/chill/chill.htm
XMOS Ltd.: Home page (2016). http://www.xmos.com/
Page 2
From: Specifications and Modeling
Communication/
Message passing
organization of components
Shared memory
Synchronous
Asynchronous
Undefined components
Plain text or graphics, use cases
(Message) sequence charts
Differential equations
Modelica, Simulink®, VHDL-AMS
Communicating finite
StateCharts
SDL
state machines (CFSMs)
Data flow
Scoreboarding,
Kahn networks
Tomasulo algorithm
SDF
Petri nets
C/E nets, P/T nets, …
Discrete event (DE)
VHDL, Verilog
(Only experimental systems)
modela
SystemC
Distributed DE in Ptolemy
von Neumann
C, C+ +, Java
C, C+ +, Java, …with libraries
model
CSP, Ada
aThe classification of VHDL, Verilog, and SystemC is based on the implementation of these languages in simulators. Message passing can be modeled in these languages “on top” of the simulation kernel