<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://mw.hh.se/wg211/index.php?action=history&amp;feed=atom&amp;title=WG211%2FM17Marr</id>
	<title>WG211/M17Marr - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://mw.hh.se/wg211/index.php?action=history&amp;feed=atom&amp;title=WG211%2FM17Marr"/>
	<link rel="alternate" type="text/html" href="http://mw.hh.se/wg211/index.php?title=WG211/M17Marr&amp;action=history"/>
	<updated>2026-04-05T20:56:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>http://mw.hh.se/wg211/index.php?title=WG211/M17Marr&amp;diff=1636&amp;oldid=prev</id>
		<title>Eric: Created page with &quot;Stefan Marr  Kómpos: A Concurrency-Agnostic Debugger An Example for Domain-Specific Live Debugging   Today&#039;s complex software systems combine high-level concurrency models, w...&quot;</title>
		<link rel="alternate" type="text/html" href="http://mw.hh.se/wg211/index.php?title=WG211/M17Marr&amp;diff=1636&amp;oldid=prev"/>
		<updated>2017-06-17T23:01:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Stefan Marr  Kómpos: A Concurrency-Agnostic Debugger An Example for Domain-Specific Live Debugging   Today&amp;#039;s complex software systems combine high-level concurrency models, w...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Stefan Marr&lt;br /&gt;
&lt;br /&gt;
Kómpos: A Concurrency-Agnostic Debugger&lt;br /&gt;
An Example for Domain-Specific Live Debugging&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Today&amp;#039;s complex software systems combine high-level concurrency models, where each model is used to solve a specific set of problems. Unfortunately, debuggers support only the low-level notions of threads and shared memory, forcing developers to reason about these notions instead of the high-level concurrency models they chose.&lt;br /&gt;
&lt;br /&gt;
A solution for debuggers is a concurrency-agnostic debugger protocol that decouples the debugger from the concurrency models employed by the target application. As a result, the underlying language runtime can define custom breakpoints, stepping operations, and execution events for each concurrency model it supports, and a debugger can expose them without having to be specifically adapted.&lt;br /&gt;
&lt;br /&gt;
Our implementation is based on SOMns, a Newspeak implementation on top of Truffle/Graal. We demonstrate custom breakpoints and stepping operations for communicating sequential processes, communicating event loops, threads and locks, fork/join parallelism, and software transactional memory. Furthermore, we visualize all concurrent interactions independently of a specific concurrency model, while the Kómpos debugger remains blissfully unaware of any notion of concurrency.&lt;br /&gt;
We hope such an approach of a generalized debugger protocol could also be applied to DSLs, libraries, and frameworks to facilitate high-level domain-specific debugging.&lt;/div&gt;</summary>
		<author><name>Eric</name></author>
	</entry>
</feed>