We may earn an affiliate commission when you visit our partners.
Course image
Dr.ir. Pieter Cuijpers and Anne Remke

Welcome to "Quantitative Formal Modeling and Worst-Case Performance Analysis," an intellectually stimulating course designed to hone your abstract thinking skills in the realm of theoretical computer science.

Read more

Welcome to "Quantitative Formal Modeling and Worst-Case Performance Analysis," an intellectually stimulating course designed to hone your abstract thinking skills in the realm of theoretical computer science.

This course invites you to dive deep into the world of token production and consumption, a foundational approach to system behaviour. Master the art of mathematically formalizing these concepts through prefix orders and counting functions. Get hands-on with Petri-nets, explore the nuances of timing, and delve into the scheduling intricacies of token systems. You'll even learn to conduct worst-case performance analysis on single-rate dataflow graphs, examining key metrics like throughput, latency, and buffering.

Why the focus on small examples rather than industrial-size systems? The aim here is twofold: First, we strive to cultivate your ability to think abstractly and mathematically about modelling and performance—a vital skill for tackling any future challenges in this field. Second, while dataflow techniques are indeed industry-applicable, this course serves as an essential primer that focuses on single-rate dataflow, the cornerstone of more advanced dataflow techniques.

And here's a bonus: this course forms part of the esteemed Quantitative Evaluation of Embedded Systems (QEES) curriculum offered under the aegis of the EIT-Digital University and the Dutch 3TU consortium. While the examination for QEES is more advanced, this course perfectly mirrors its initial three-week content, offering you a robust academic experience online.

Ready to sharpen your abstract thinking and delve into the fascinating world of formal modelling? Enroll now to secure your spot.

Enroll now

What's inside

Syllabus

Introduction
This course is part of a Blended Master Programme in Embedded Systems.
Modeling systems as token consumption/production systems
In this module/week you will learn to draw a model of a token consumption/production system, and communicate your interpretation of this model with others in an informal manner. At the end of this model, you will be able to draw your own models, and explain your interpretation of them in general terms. Also, you will know about the standard Petri-net interpretation of consumption/production systems, and will be able to point out particular patterns in Petri-net models. Finally, you will be able to refine a consumption/production model into a model that contains sufficient information to allow worst-case performance analysis. This is all tested using a peer-reviewed assignment.
Read more
Syntax and semantics
In this module/week, you will be really training your abstract thinking skills. After finishing this module, you will have learned how to formalize the behavior of any dynamical system as a prefix order, and how to formalize the interpretation of a consumption/production system as a counting function on such a prefix order. You understand how the Petri-net interpretation puts certain restrictions on these counting functions, and how you can exploit those restrictions to prove properties about Petri-net interpretations, without knowing the actual interpretation itself. At the end of the module, you will practice the formalization of performance metrics as logical properties of counting functions, by recognizing right and wrong examples of formalization. Those who are already familiar with Petri-net theory, may find that the prefix order semantics that I introduce in this course is slightly different from what they are used to. Traditional Petri-net semantics is usually based on markings, transition systems, or the execution trees thereoff. Execution trees are a particular example of a prefix order, but in general prefix orders offer the added flexibility that they do not restrict the user to discrete interpretations of behavior only. This is particularly suitable when seeking connection between theoretical computer science and an application field like embedded systems, from which this course originates, where also the continuous behavior of physical systems has to be taken into account.
Performance analysis
In this module/week you will learn to exploit the structure of single-rate dataflow graphs to perform worst-case analysis of performance metrics like throughput, latency and buffering. After this week, you know how to calculate the maximum cycle mean of a dataflow graph, how to construct a periodic schedule for it, how to optimize this schedule for latency analysis, and how to determine the size of buffers with back-pressure such that the worst-case analysis remains valid. If you understood the material of the previous module/week, the proofs presented in this week will give you a deeper understanding of the mathematical underpinning of these methods.
One final example
In this last week, we just discuss one more example, following the outline of the peer-reviewed assignment of the first module/week. It's just a little summary, combining everything we have learned so far, and there is some additional reading material to trigger an appetite for further discovery.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops abstract thinking skills in theoretical computer science, which is instrumental for addressing challenges in the field
Provides a solid primer on dataflow techniques, essential for industry application
Taught by Anne Remke and Dr.ir. Pieter Cuijpers, recognized experts in the field of embedded systems
Designed for students enrolled in the Blended Master Programme in Embedded Systems, indicating academic rigor and relevance

Save this course

Save Quantitative Formal Modeling and Worst-Case Performance Analysis to your list so you can find it easily later:
Save

Reviews summary

Confusing but interesting course

According to students, this challenging yet interesting course is well received but it could be more improved by providing further explanations and clearer instructions. Many students have complained about the instructor's teaching style and communication skills, while others have praised their clarity and engaging style. Note that the sample size is small, so take these reviews with a grain of salt.
Instructor has a clear and engaging teaching style.
"Excellent course."
"Also the teacher has a very clear and engaging style."
Instructor needs to improve communication and explanations.
"No explanation."
"Worst course ever. Instructor needs to improve."
"All the time with his body before the pictures and nets."
Concepts could be explained more clearly.
"Could be more clear about how to calculate period and latency."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Quantitative Formal Modeling and Worst-Case Performance Analysis with these activities:
Refresher: Discrete mathematics
Prepare for the course by reviewing the basics of discrete mathematics.
Browse courses on Discrete Mathematics
Show steps
  • Review your notes or textbooks on discrete mathematics.
  • Focus on topics like set theory, logic, and counting principles.
  • Solve practice problems to test your understanding.
  • Consider taking an online quiz or assessment to gauge your readiness.
  • Reach out to the course instructor or classmates for assistance if needed.
Study Petri Nets: Theory and Practice
Strengthen your understanding of Petri nets, a key concept in this course, by reading this in-depth book.
Show steps
  • Obtain a copy of the book.
  • Read through the chapters relevant to the course.
  • Take notes and highlight important concepts.
  • Complete the exercises and assignments found in the book.
  • Discuss the book's content with classmates or the course instructor.
Practice with token production and consumption
Put the course materials into practice by solving drills that focus on token production and consumption.
Show steps
  • Set up your practice environment with the materials provided by the course instructor.
  • Review the concepts of token production and consumption.
  • Begin solving the practice drills.
  • Check your answers against the provided solutions.
  • Reach out to the course instructor or peers for help if needed.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Form a study group with classmates
Collaborate with peers to reinforce your understanding of course concepts and improve your learning experience.
Show steps
  • Identify a group of classmates who are interested in forming a study group.
  • Establish regular meeting times and decide on a meeting format (e.g., in-person, online).
  • Discuss course materials, work on assignments together, and quiz each other.
  • Share resources and provide support to each other.
  • Reflect on your progress and make adjustments as needed.
Design a Petri net model for a simple system
Apply the course concepts by designing and creating a Petri net model of a simple system.
Browse courses on System Modeling
Show steps
  • Identify a simple system to model (e.g., a vending machine, traffic light).
  • Research Petri nets and their components.
  • Design the Petri net model for the chosen system.
  • Validate the model by simulating it and checking its behavior.
  • Document your model and findings.
Practice applying worst-case performance analysis
Enhance your understanding of worst-case performance analysis by practicing on a variety of problems.
Show steps
  • Review the concepts of worst-case performance analysis.
  • Solve practice problems involving throughput, latency, and buffering.
  • Check your answers against the provided solutions.
  • Discuss your solutions with classmates or the course instructor.
  • Identify areas where you need further practice.
Develop a visual guide to prefix order semantics
Deepen your understanding of prefix order semantics by creating a visual representation that explains its concepts.
Show steps
  • Gather materials and resources on prefix order semantics.
  • Design and outline the visual guide.
  • Create the visual guide using appropriate software or tools.
  • Validate your guide by sharing it with peers or the course instructor for feedback.
  • Revise and finalize the visual guide based on feedback.
Contribute to a Petri net simulation tool
Enhance your practical skills and contribute to the community by participating in an open-source Petri net simulation tool project.
Browse courses on Open Source Software
Show steps
  • Identify an open-source Petri net simulation tool project to contribute to.
  • Review the project's documentation and codebase.
  • Identify an area where you can make a meaningful contribution.
  • Develop a feature, fix a bug, or improve the documentation.
  • Submit a pull request with your changes.

Career center

Learners who complete Quantitative Formal Modeling and Worst-Case Performance Analysis will develop knowledge and skills that may be useful to these careers:
Management Consultant
Management Consultants apply their skills in consulting to help organizations improve their performance. They work with clients to identify problems, develop solutions, and implement changes. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex organizations, and to develop and implement solutions that are effective and efficient.
Project Manager
Project Managers apply their skills in project management to plan, organize, and control the execution of projects. They work with project teams and other stakeholders to ensure that projects are completed on time, on budget, and to the required quality standards. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex projects, and to develop and implement project plans that are effective and efficient.
Operations Manager
Operations Managers apply their skills in management and operations to plan, organize, and control the operations of an organization. They work with employees and other stakeholders to ensure that the organization runs smoothly and efficiently. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex operations, and to develop and implement operational plans that are effective and efficient.
Financial Analyst
Financial Analysts apply their skills in finance and economics to analyze financial data and make investment decisions. They work with companies and investors to evaluate financial performance, identify investment opportunities, and make recommendations on how to allocate financial resources. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex financial data, and to make sound investment decisions.
Actuary
Actuaries apply their skills in mathematics, statistics, and finance to assess and manage risk. They work with insurance companies and other financial institutions to develop and implement risk management strategies. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex risks, and to develop and implement risk management strategies that are effective and efficient.
Economist
Economists apply their skills in economics and econometrics to analyze economic data and make policy recommendations. They work with governments and other organizations to understand the economy, identify economic problems, and develop and implement economic policies. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex economic data, and to develop and implement economic policies that are effective and efficient.
Data Engineer
Data Engineers apply their skills in data engineering to design, build, and maintain data pipelines. They work with data to ensure that it is clean, consistent, and accessible to users. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex data, and to design and implement data pipelines that can efficiently and effectively process data.
Machine Learning Engineer
Machine Learning Engineers apply their skills in machine learning to design, develop, and maintain machine learning models. They work with data to train and evaluate machine learning models, and use these models to make predictions and recommendations. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex data, and to design and implement machine learning models that can make accurate predictions.
Operations Research Analyst
Operations Research Analysts apply their skills in mathematics, statistics, and computer science to solve complex problems in business and industry. They work with stakeholders to understand their needs, develop models to represent the problem, and analyze the results of the models to make recommendations. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex problems, and to develop models that can make accurate recommendations.
Quantitative Analyst
Quantitative Analysts apply their skills in mathematics, statistics, and computer science to analyze financial data and make investment decisions. They work with data to identify patterns, trends, and relationships, and use this information to make predictions about the future performance of financial markets. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex data, and to develop models that can make accurate predictions.
Software Engineer
Software Engineers apply their skills in computer science and engineering to design, develop, and maintain software systems. They work with users to understand their needs, design and implement software solutions, and test and debug software systems. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex systems, and to design and implement software solutions that meet the needs of users.
Systems Analyst
Systems Analysts apply their skills in systems analysis and design to understand and improve complex systems. They work with users to understand their needs, analyze existing systems, and design and implement new systems. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex systems, and to design and implement new systems that meet the needs of users.
Data Scientist
Data Scientists use their skills in data analysis, machine learning, and statistics to uncover insights from data. They work with data to identify patterns, trends, and relationships, and use this information to make predictions and recommendations. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex data, and to develop models that can make accurate predictions.
Business Analyst
Business Analysts apply their skills in modeling, data analysis, and stakeholder communications to solve complex business problems. In the role, you will work with stakeholders to understand their needs, define requirements, and develop solutions that meet those needs. This course on Quantitative Formal Modeling and Worst-Case Performance Analysis may be useful in this role, as it can help you to develop the skills you need to understand and analyze complex systems, and to develop solutions that meet the needs of stakeholders.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Quantitative Formal Modeling and Worst-Case Performance Analysis.
A comprehensive treatment of Petri nets, providing a solid foundation for understanding the theory and applications of Petri nets, with a particular focus on their use in modeling and analyzing concurrent systems.
Provides an in-depth exploration of dataflow programming, covering the theoretical foundations, practical implementation techniques, and applications of dataflow in a variety of domains.
Provides a comprehensive overview of Petri net theory, covering the formal foundations, modeling techniques, and applications of Petri nets in a variety of domains.
Provides a comprehensive overview of verification and validation techniques for real-time systems, covering both formal and informal techniques.
A comprehensive treatment of real-time systems, covering the fundamental concepts, design principles, and analysis techniques for real-time systems.
A comprehensive introduction to discrete-event simulation, providing a solid foundation for understanding the principles and applications of simulation in the analysis and design of systems.
Provides a comprehensive overview of embedded systems, covering the design, implementation, and analysis of embedded systems from both a hardware and software perspective.
Provides a comprehensive overview of concurrent and distributed programming, covering the fundamental concepts, design principles, and implementation techniques for concurrent and distributed systems.
Provides a comprehensive overview of software engineering for embedded systems, covering the challenges and techniques involved in the design, development, and verification of software for embedded systems.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Quantitative Formal Modeling and Worst-Case Performance Analysis.
Advanced Data and Stream Processing with Microsoft TPL...
Serverless Data Processing with Dataflow: Operations
Serverless Data Processing with Dataflow: Foundations
Serverless Data Processing with Dataflow: Operations
201: Elementary Data Structur
Serverless Data Processing with Dataflow: Develop...
Data Structures: An Active Learning Approach
Datastream MySQL to BigQuery
Architecting Serverless Big Data Solutions Using Google...
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser