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,

transitive relations.

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.