1st-2nd weeks: Foundations of Modeling
Goals: basic concepts and context
Basic concepts: aim of the modeling; application of the models in system design; textual, graphical and formal specification; initial model development, requirements, design, analysis, configuration models; syntax and semantics of models. Basic modeling steps, model refinement; multi-aspect modeling; Concepts and roles of hierarchy and taxonomy in system modeling. Complexity handling; hierarchical modeling, abstraction.
Tool: MindMap modeller
3rd-4th weeks: Structural models, data modeling
Meta-models and the connections of models; concept/instance relations, inheritance, polymorphism, criteria of model correctness, type correctness, instantiations/subclasses,
Tools: MindMap modeller + spreadsheet
5th-6th weeks State based modeling
State graphs, state maps; hierarchy modeling, concurrency handling. Concepts of message handling and message queue; deterministic/non-deterministic modeling
Tool: simple state chart tool
7th-8th weeks: Behavior models (state/sequence/protocol)
Discrete Event System Specification (DEVS) approach. Dataflow modeling; process model; sequence/trace model; timing diagram; Application areas: protocol definition, test cases; scenarios. Intuition behind model checking
Tool: DEVS tools
9th-10th weeks: Model development
Event/process modeling, concept of timing. Foundations of simulations. Testing/fixing models, basic completeness/correctness checking. Parameter tuning, iterative modeling. Formulation of structural and behavioral constraints (e.g.: invariants). Usage of benchmarks. querying data, log analysis, experiment design. Resource consumption of processes. QoS, extra-functional aspects
Tools: simple simulator
11th week: Exploratory (Visual) Data Analysis and model development
Purpose/tools of the exploratory data analysis, basic statistical concepts. Evaluation of measurements and its connection to system modeling. Transition between qualitative and quantitative models. Explanation of how to incorporate results of the visual data exploration into high level system model.
Tools: Drag and Drop EDA tool
12th-13th weeks: Quantitative analysis, performance modeling
Concepts of performance models. Interpretation of simulational results. Areas of applications: performance benchmarks, software tuning, system deployment design.
14th week: Advanced topics: constructive modeling, code generation, development methods
General and domain specific languages. Executable languages, fUML, Alf. Meaning of semantics, demonstration through examples (code generation by Yakindu).
Usage of domain models/domain modeling languages. Elements of a domain modeling language; role of its domain specific support; UML profiles.
DSE examples: Verilog, Matlab. Design environments, development support (validation, code generation, design tools, model management,persistency, etc.). Design patterns. Rule based models. Inference, forms of the rules, application domains (business, monitoring, etc.). Rule development, decision tables.
Content of the seminars:
The participants will complete (computer based or paper/pencil) exercises in various topics.
From textual specification to models: modeling, model refinement, documentation of requirements. Data schema design. State-space modeling, completion of complex , dynamic system models.
Model development, static and dynamic checking, introduction of simulation.
Performance analysis with analytical models, Usage of exploratory Data Analysis in performance analysis
These lectures also provide opportunity to ask questions in connection with the home assignment.