forked from corlab/dslzoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patharchitectures-and-programming-disciplines.html
135 lines (118 loc) · 9.23 KB
/
architectures-and-programming-disciplines.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="images/favicon.png">
<title>Architectures and Programming Disciplines – Robotics DSL Zoo</title>
<link href="dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="sortable/bootstrap-sortable.css">
<link rel="stylesheet" type="text/css" href="dist/css/custom.css">
<script language="javascript" type="text/javascript" src="flot/jquery.js"></script>
<script language="javascript" type="text/javascript" src="flot/jquery.flot.js"></script>
<script language="javascript" type="text/javascript" src="flot/jquery.flot.categories.js"></script>
<script type="text/javascript" src="dist/d3-cloud/lib/d3/d3.js"></script>
<script type="text/javascript" src="dist/d3-cloud/d3.layout.cloud.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</head>
<body><nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="./index.html">Robotics DSL Zoo</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="./index.html">Home</a></li>
<li><a href="./subdomains.html">Subdomains</a></li>
<li class="active"><a href="./architectures-and-programming-disciplines.html">A&P Disciplines</a></li>
<li><a href="./phases.html">Development Phases</a></li>
<li><a href="./all.html">Index</a></li>
<li><a href="./contribute.html">Contribute</a></li>
<li><a href="http://www.dslrob.org">DSLRob</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<div class="container">
<div class="starter-template">
<h1>Robotics DSL Zoo</h1>
<h2>DSLs per Architectures and Programming Discipline</h2>
<p>Due to the large number of entries in the <a href="architectures-and-programming-subdomain.html">Architectures and Programming subdomain</a> we group the DSLs and their publications following the Software Engineering Body of Knowledge (SWEBOK), namely <i>Software Design</i> (Section 2.2) and <i>Software Structure and Architecture</i> (Section 2.3).</p>
<p>The following chart shows the identified disciplines according to the Software Engineering Body of Knowledge (SWEBOK) and the numbers of publications we found in the disciplines respectively.
This is intended to serve as a map for potential DSL users as well as foster discussion and reuse of languages and the underlying models for DSL developers.</p><script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['discipline', '#publications'], ['Concurrency', 17], ['Control and Handling of Events', 49], ['Data Persistence', 2], ['Distribution of Components', 16], ['Error and Exception Handling and Fault Tolerance', 0], ['Interaction and Presentation', 11], ['Security and Safety', 8], ['Architectural Structures and Viewpoints', 26], ['Architectural Styles', 15], ['Design Patterns', 4], ['Architecture Design Decisions', 5], ['Families of Programs and Frameworks', 4], ]);
var options = {
title: '#publications per discipline',
legend: { position: 'none' },
};
var chart_disc = new google.visualization.ColumnChart(document.getElementById('chart_div_disc'));
chart_disc.draw(data, options);
}
</script>
<div id="chart_div_disc" style="width: 700px; height: 200px; clear:both;"></div><ul>
<li><a href="./concurrency-discipline.html">Concurrency</a> - Decomposition of software into processes, tasks, and threads, dealing with related issues of efficiency, atomicity, synchronization, and scheduling.
This discipline corresponds to the Section 2.2.1 in the SWEBOK.</li>
<li><a href="./control-and-handling-of-events-discipline.html">Control and Handling of Events</a> - Organization of data and control flow as well as handling of reactive and temporal events.
This discipline corresponds to the Section 2.2.2 in the SWEBOK.</li>
<li><a href="./data-persistence-discipline.html">Data Persistence</a> - Handling of long-lived data.
This discipline corresponds to the Section 2.2.3 in the SWEBOK.</li>
<li><a href="./distribution-of-components-discipline.html">Distribution of Components</a> - Distribution of the software across the hardware, communication of components, and how can middleware be used to deal with heterogeneous software.
This discipline corresponds to the Section 2.2.4 in the SWEBOK.</li>
<li><a href="./error-and-exception-handling-and-fault-tolerance-discipline.html">Error and Exception Handling and Fault Tolerance</a> - Prevention, toleration, and processing of errors as well as dealing with exceptional conditions.
This discipline corresponds to the Section 2.2.5 in the SWEBOK.</li>
<li><a href="./interaction-and-presentation-discipline.html">Interaction and Presentation</a> - Structuring and organization of interactions with users as well as the presentation of information.
This discipline corresponds to the Section 2.2.6 in the SWEBOK.</li>
<li><a href="./security-and-safety-discipline.html">Security and Safety</a> - Prevention of unauthorized access to and manipulation of information and other resources. Limiting of damage, continuation of service, speed-up of repair, and how to fail and recover securely. Ensuring safety of humans in the presence of robots.
This discipline corresponds to the Section 2.2.7 in the SWEBOK.</li>
<li><a href="./architectural-structures-and-viewpoints-discipline.html">Architectural Structures and Viewpoints</a> - Description of architectural structures and software designs in general by independent and orthogonal views.
This discipline corresponds to the Section 2.3.1 in the SWEBOK.</li>
<li><a href="./architectural-styles-discipline.html">Architectural Styles</a> - Descriptions and guidance for the high-level organization of software providing "a specialization of element and relation types, together with a set of constraints on how they can be used".
This discipline corresponds to the Section 2.3.2 in the SWEBOK.</li>
<li><a href="./design-patterns-discipline.html">Design Patterns</a> - Provide "a common solution to a common problem in a given context". Typically employed at a lower abstraction level than architectural styles.
This discipline corresponds to the Section 2.3.3 in the SWEBOK.</li>
<li><a href="./architecture-design-decisions-discipline.html">Architecture Design Decisions</a> - Impact of quality attributes and the tradeoffs among competing quality attributes that provide the basis for design decisions.
This discipline corresponds to the Section 2.3.4 in the SWEBOK.</li>
<li><a href="./families-of-programs-and-frameworks-discipline.html">Families of Programs and Frameworks</a> - Software product lines or Frameworks encapsulating commonalities among elements and targeting re-use by designing customizable components that account for variability.
This discipline corresponds to the Section 2.3.5 in the SWEBOK.</li>
</ul>
</div>
</div>
<div class="container">
<br />
<hr />
<p style="font-size:85%; color:#555;">An important DSL is missing? Here is how to <a href="./contribute.html">contribute</a>! When using content of the Robotics DSL Zoo or referring to it, pleace consider citing our survey paper:
<pre>
@article{nordmann2016survey,
author = {Nordmann, Arne and Hochgeschwender, Nico and Wigand, Dennis Leroy and Wrede, Sebastian},
journal = {Journal of Software Engineering in Robotics (JOSER)},
number = {1},
pages = {75--99},
title = {{A Survey on Domain-Specific Modeling and Languages in Robotics}},
volume = {7},
year = {2016},
}
</pre>
<br />
<a style="font-size:85%; color:#555;" title="A Survey on Domain-Specific Modeling and Languages in Robotics" href="http://joser.unibg.it/index.php?journal=joser&page=article&op=view&path%5B%5D=100">A. Nordmann, N. Hochgeschwender, D. Wigand and S. Wrede, “A Survey on Domain-Specific Modeling Languages in Robotics”, Journal of Software Engineering for Robotics (JOSER), 2016</a>
</p>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="dist/js/bootstrap.min.js"></script>
<script src="sortable/moment.min.js"></script>
<script src="sortable/bootstrap-sortable.js"></script>
</body>
</html>