28
Systems Theory Introduction and Overview Stefan Ratschan Department of Digital Design Faculty of Information Technology Czech Technical University in Prague Evropsk´ y soci´ aln´ ı fond Praha & EU: Investujeme do vaˇ ı budoucnosti Stefan Ratschan (FIT ˇ CVUT) MIE-TES 1 / 28

Systems Theory

Embed Size (px)

DESCRIPTION

Systems Theory Introduction and course OverviewStefan RatschanDepartment of Digital Design Faculty of Information Technology Czech Technical University in Prague

Citation preview

  • Systems TheoryIntroduction and Overview

    Stefan Ratschan

    Department of Digital DesignFaculty of Information Technology

    Czech Technical University in Prague

    Evropsky socialn fond Praha & EU: Investujeme do vas budoucnosti

    Stefan Ratschan (FIT CVUT) MIE-TES 1 / 28

  • My Technical Data

    Stefan Ratschan

    Building A, room 1029

    http://www.cs.cas.cz/~ratschan (Consultation Hours!)

    [email protected]

    Rest (and most) of the time:

    Institute of Computer Science of theAcademy of Sciences of the Czech Republic

    Pod Vodarenskou vez 2

    Metro stanice Ladv

    Stefan Ratschan (FIT CVUT) MIE-TES 2 / 28

  • Introduction and Survey

    Which study program at which university?

    Mother tongue?

    Who speaks/understands Czech?

    Who is afraid of the word theory?

    Who knows what UML means?

    Petri net

    Turing machine

    Logic course?

    Stefan Ratschan (FIT CVUT) MIE-TES 3 / 28

  • What is a System?If you want to have some high-brow definitionwith references to Greek, Latin, Chinese philosophers:look up your favorite encyclopedia.

    Computer systems: software systems, hardware systems, network systems

    But: In the past, job of someone with a degree in computer science:

    not any more!

    and if you want an interesting andwell-paid job, it is not enough toknow about computer systems.

    Stefan Ratschan (FIT CVUT) MIE-TES 4 / 28

  • Todays and tomorrows computer systems (example)

    Stefan Ratschan (FIT CVUT) MIE-TES 5 / 28

  • Todays and tomorrows computer systems (example)

    Interaction with

    organizational systems

    biological systems (cells, organisms, ...)

    ecological systems

    economical systems

    social systems

    Especially: trains, airplanes, cars, mobile phones

    That is: complex technical devices

    So: system =something complex that we encounter as computer scientists

    Today there are computational devices almost everywhere,and a computer scientist should be able to handle this.

    Stefan Ratschan (FIT CVUT) MIE-TES 6 / 28

  • Your Systems?

    Usage for examples throughout the semester

    Bachelor thesis?

    Other systems?

    Stefan Ratschan (FIT CVUT) MIE-TES 7 / 28

  • PolymathHowever, nobody has the slightest chance to be an universal expert

    Stefan Ratschan (FIT CVUT) MIE-TES 9 / 28

  • No need for being a polymathInstead: theory

    Liquids always flow downwards

    Abstract description and explanation of reality

    Abstract: independent of concrete situation,can be applied in many situations (an advantage!)

    Scientific theories

    Objective: independent of a concrete person/place/time,can be applied by anybody/anwhere/anytime

    Systems Theory: description and explanation of systems behavior,that is valid

    for everybody, everywhere, and all the time.

    Differently from HTML constructs, Java library etc. This is a university!Stefan Ratschan (FIT CVUT) MIE-TES 10 / 28

  • Goal of Course

    Provide orientation in a world of systems

    How possibilities does mankind have for describing systems?

    organizational systems

    biological systems (cells, organisms, ...)

    ecological systems

    economical systems

    social systems

    technical and computer systems

    Scientific theories: Principles that hold

    for everybody,

    everywhere, and

    all the time.

    Stefan Ratschan (FIT CVUT) MIE-TES 11 / 28

  • Characteristics of Complex Technical Systems

    Human-built

    Highly complex: design teams

    Huge: > 1000 for aeroplanes

    Diverse: Mechanical engineers, software engineers, control engineers,chip designers, etc.

    Often safety critical

    Reactive: continuous interaction with environment

    Concurrent: many functions in parallel

    Sometimes: dynamic structural changes (e.g., new cars added)

    Interaction of physical and electronical components(cyber-physical system)

    Stefan Ratschan (FIT CVUT) MIE-TES 12 / 28

  • Physical vs. Electronic Components

    More and more functions taken over by digital electronics(e.g., brake-by-wire, x-by-wire, x-by-wireless)

    Design costs of electronics more and more dominating costs ofphysical system

    Stefan Ratschan (FIT CVUT) MIE-TES 13 / 28

  • Resulting Control Loop

    Analog-to-digital (A/D) converter

    Stefan Ratschan (FIT CVUT) MIE-TES 14 / 28

  • How to Design Such Systems?

    Example: train

    Highly complex: first decompose into components

    Which ones?

    traction

    train body

    signalling

    electricity

    air conditioning

    lighting

    doors

    on-board information, communication, and entertainment

    tilting system

    Stefan Ratschan (FIT CVUT) MIE-TES 15 / 28

  • Further Scenario (simplified V model)

    we want a train

    we want tractions signalization etc.

    design traction, signalization etc.

    test traction, signalization etc.

    compose the parts

    test the whole train

    What will happen?

    If engineers do not start to fight(they cannot talk to each other),

    if they produce anything reasonable at all(sub-systems still immensely complex),

    if they resulting designs can be put together (each sub-system takesdifferent assumption about other sub-systems),

    if the resulting train runs at all, it will crash on the track.Stefan Ratschan (FIT CVUT) MIE-TES 16 / 28

  • ProblemsWe see and check the whole product only at the end!

    Movie: Tacoma Narrows bridgecollapse

    V-model only fancy trial-and error

    We want

    detect problems already at the beginning

    if possible, automatically

    How to achieve this?Stefan Ratschan (FIT CVUT) MIE-TES 17 / 28

  • Stefan Ratschan (FIT CVUT) MIE-TES 18 / 28

  • ModelAbstract system representation

    Abstract: Partial description that hides details (i.e., hides complexity) and describes only those aspects of a system that

    are important for the task at hand.

    For example: We are looking for the mensa. Is this useful??

    Stefan Ratschan (FIT CVUT) MIE-TES 19 / 28

  • Hierarchy of System Models Informal requirements:

    Train should follow signalling standard for Czech tracks (Partially) formal specification (but still: What do we want?) High level operational models (How should it work? e.g., finite state

    automaton, Scilab demo) VHDL, C program Circuit design, machine code . . .

    Hierarchy of abstractions:higher levels hide complexity,lower levels provide more details

    Cycle (simplification, idealization): model based design Create system model Check if o.k. (if possible automatically) If necessary use models with lower level of abstractionStefan Ratschan (FIT CVUT) MIE-TES 20 / 28

  • Result

    Advantages:

    we work with whole system during the whole design process

    from the beginning we can analyze/debug whole system

    tool support: automatic translation between models (compiler, code generator) simulation (demo?) testing formal verification

    Therefore: problems, and errors can be found early

    Therefore:

    Stefan Ratschan (FIT CVUT) MIE-TES 21 / 28

  • Model Classification

    Formal/informal (using natural language, figures etc.)

    Dynamical vs. static models

    Adaptive vs. fixed structure models

    Stefan Ratschan (FIT CVUT) MIE-TES 22 / 28

  • Goal of Course (practical version):Basic situation:

    We want to design a system (software, train, mobile application etc.)that fulfills its specification

    The method of trial and error is too expensive and not reliableenough.

    Hence, before building the system, wedesign a model and analyse it automaticlly

    Fancy big question:

    How can we describe and computationally analyze complex systems?

    Concrete goal: Learn formalisms, techniques, and tools formodeling and analysis of complex technical systems, such that

    you can function in such a design process, and

    you will produce high-quality systems.

    Stefan Ratschan (FIT CVUT) MIE-TES 23 / 28

  • Preliminary List of Lectures

    1. Introduction and Overview

    2. Basics of Practical Logic

    3. Communicating Finite State Machines I

    4. Communicating Finite State Machines II

    5. Specification: Temporal Logic

    6. Bounded Model Checking

    7. Boolean Satisfiability Checking

    8. Unbounded Model Checking

    9. Petri Nets

    10. Timed Automata

    11. Continuous, hybrid systems

    12. Hybrid sytems: verifications

    13. Probabilistic models

    Stefan Ratschan (FIT CVUT) MIE-TES 24 / 28

  • SourcesSlides on Edux

    I will not follow a certain textbook.

    On the slides of the individual lectures I will provide references to sources

    Lecture notes on Edux (under development)

    You will not need them if you attend the lectures

    If you miss some lectures, you will need additional sources

    Lectures slides will not contain all information,I will draw examples, figures etc. onto the whiteboard

    Be careful with wikipedia!

    A large part of the lecture material is not there. If it is there, it often contains mistakes, bad explanations etc.

    Wikipedia cannot replace understandingStefan Ratschan (FIT CVUT) MIE-TES 25 / 28

  • AssignmentsThe assignments will not be about

    blindly applying some already known method to new data

    Real life is never about blind application of known methods.

    For solving assignments you will have to

    understand the description of the problem

    read, understand, and use the corresponding definitions

    solving a new problem.

    This you will need throughout your life.

    Everything you need, I will present in the lecture(including some examples).

    In assignment class you should be able to answer questions like:

    According to which definition does this hold?

    How did you use this definition?

    Stefan Ratschan (FIT CVUT) MIE-TES 26 / 28

  • Final ExamYou will be allowed to use any book, printouts of slides etc.

    o.k., so Ill just relax during the semester,at the exam I will anyway be able to find the answers in books

    This will not work!

    The final exam will consist of two types of examples:

    Examples of the same or similar typeas the assignments during the semester.

    Examples, that test whether the student is able to apply the theoryfrom the lecture on his/her own in a new context

    Time:

    will be easily enough for well prepared people. People, who will start to list in slide printouts at the exam,

    will have problems with time.Stefan Ratschan (FIT CVUT) MIE-TES 27 / 28

  • Next Lecture

    Basis of all models: Logic

    Logic is very often taught as a subjectdescribing the foundations of mathematics and computer science(Hilbert calculus, resolution algorithm and so on).

    Which is great, but as a result,many students lack the ability to apply logic in everyday life

    Next lecture: Basics of practical logic

    From the theoretical point of view nothing new.

    If are fluent in logic and its usage, no need to come(lecture notes, Chapter 1 and 2 without 1.9 and 2.2)

    Stefan Ratschan (FIT CVUT) MIE-TES 28 / 28