Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Domain Engineering Dr Michał Antkiewicz 1

Similar presentations


Presentation on theme: "Introduction to Domain Engineering Dr Michał Antkiewicz 1"— Presentation transcript:

1 Introduction to Domain Engineering Dr Michał Antkiewicz 1

2 About me… “researcher” “mentor” “consultant” “entrepreneur” 2

3 2003 – MSc: “Modeling of Embedded Systems using UML-RT, SDL, and Simulink/Stateflow” 2004 – Feature Modeling Plugin (271) 2005 – Feature-based Model Templates (448) 2008 – PhD: “Engineering of Framework-Specific Modeling Languages” + TSE, JASE (86, 49) 2008 – Design Space of Heterogeneous Model Transformations (56) 2011 – Logical Structure Extraction from SRD, Clafer 2013 – Clafer Formal Semantics, Partial Instances 2014 – Example-Driven Modeling, Virtual Platform Currently Clafer Tools + applications “Haskell Enthusiast” 3

4 What is Domain Engineering? 4

5 Domain Engineering is “Development for Reuse” Vs. “Application Engineering” which is “Development with Reuse” 5

6 Reusable Software Source code – White-box reuse Configurable software – Parameters, configuration files Traditional – Libraries, components, frameworks, platforms Model-driven – Product-lines – DSLs 6

7 7 copy Clone & own import Component library config Superset platform +easy to use -no sharing (features & fixes) +some sharing -little reuse +substantial reuse -complex customization +substantial reuse -evolution through platform Credit: Krzysztof Czarnecki, used with permission Framework library complete

8 During Domain Engineering… 1.Understand the scope – kind of applications that will be developed 2.Understand the – “commonality” - what’s shared by all applications – “variability “ - what’s different 3.Develop reusable assets – different approaches and technologies 8

9 During Application Engineering… 1.Understand the requirements – what the specific application is 2.Use the reusable assets – what can be reused – what has to be developed 3.Feed back to domain engineering – adjust scope, variability, and contribute assets 9

10 Domain Engineering Application Engineering Customer Requirements Business Strategy Business Strategy 10

11 Application Engineering Application Engineering Application Engineering Retroactive Strategy 11 Domain Engineering Application Engineering

12 Proactive Strategy 12 Application Engineering Domain Engineering

13 Spectrum of Configurability parameters, config files feature model with constraints feature model with references class model (DSL) configuration construction frameworks single product code Key: “stay as far to the left as possible” - Markus V ö lter in “MDSD” 13

14 14 Credit: Andrzej Wąsowski, used with permission

15 15 Credit: Andrzej Wąsowski, used with permission

16 What we are going to do Example Domain: “Traffic Lights” – Feature-oriented commonality/variability analysis – Domain concept analysis – Application Configuration Apply “Example-Driven Modeling” Use Clafer & Web Tools – Tutorial style – Hands-on – Small exercises 16

17 Part I Feature-Oriented Domain Modeling 17

18 18 Credit: Andrzej Wąsowski, used with permission

19 Go to Interactive Tutorial Part I 19

20 Part II Domain Concept Modeling 20

21 Go to Interactive Tutorial Part II 21

22 Future: Behavioral Clafer LTL formulas – Static constraints are “always globally” Syntactic sugar – “between” A “and” B – “after” A “until” B State transitions – Async: “A --> B”, Sync: “A ==> B”, Next: “A ##> B” – With guards: “A –[G]-> B”, “A =[G]=> B”, “A #[G]#> B” 22

23 23

24 Part III Application Configuration 24

25 Go to Interactive Tutorial Part III 25

26 Conclusions Formally modeled – Domain features – Domain concepts – Application configurations Used a reasoner to get insights Used examples for elicitation & validation We laid a foundation for further development 26

27 Key Clafer-Related References K. Bąk, et al., “Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled”, SLE’10Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled J. Liang, “Solving Clafer Models with Choco”, GSD Lab, 12/2012.Solving Clafer Models with Choco R. Olaechea, et al., “Modeling and Multi-Objective Optimization of Quality Attributes in Variability-Rich Software”, NFPinDSML’12Modeling and Multi-Objective Optimization of Quality Attributes in Variability-Rich Software J. Liang, “Correcting Clafer Models with Automated Analysis”, GSD Lab, 04/2012. A. Murashkin, et al., “Visualization and Exploration of Optimal Variants in Product Line Engineering”, SPLC’13Visualization and Exploration of Optimal Variants in Product Line Engineering K. Bąk, et al., “Partial Instances via Subclassing”, SLE’13Partial Instances via Subclassing K. Bąk, et al., “Example-Driven Modeling. Model = Abstractions + Examples”, NIER, ICSE’13Example-Driven Modeling. Model = Abstractions + Examples M. Antkiewicz, et al., “Example-Driven Modeling Using Clafer”, MDEBE’13Example-Driven Modeling Using Clafer M. Antkiewicz, et al., “Clafer Tools for Product Line Engineering”, SPLC’13.Clafer Tools for Product Line Engineering K. Bąk, “Modeling and Analysis of Software Product Line Variability in Clafer”, PhD Thesis, University of Waterloo, 11/2013Modeling and Analysis of Software Product Line Variability in Clafer D. Zayan, et al., “Effects of Using Examples on Structural Model Comprehension“, ICSE'14Effects of Using Examples on Structural Model Comprehension J. Guo, et al., “Scaling Exact Multi-Objective Combinatorial Optimization by Parallelization”, ASE’14Scaling Exact Multi-Objective Combinatorial Optimization by Parallelization 27


Download ppt "Introduction to Domain Engineering Dr Michał Antkiewicz 1"

Similar presentations


Ads by Google