Channels ▼

Jonathan Erickson

Dr. Dobb's Bloggers

Domain-Specific Indeed

March 01, 2010

 Domain-specific languages (DSLs) sometimes pop up where you least expect them. This week, for instance, Thoughtworks Studios released an upgrade to its Twist automated testing tool that includes a DSL for building test suites and scenarios in plain English, hiding the complexity of test automation. That's a classical application of DSLs -- those programming or specification languages that are dedicated to a particular problem domain.

 On the heels of a DSL for software testing, I ran across the Systems Biology Markup Language (SBML), a free and open DSL designed to enable the exchange of quantitative models of biochemical networks between different computer software packages, allowing the models to be shared and published in a form other researchers can use in various software environments. Now that's a Doman-specific language!

SBML was first described in 2003 in a paper entitled The Systems Biology Markup Language (SBML): A Medium for Representation and Exchange of Biochemical Network Models by Michael Hucka, a Senior Research Fellow at the California Institute of Technology (Caltech). Since then, the language has continued to make in-roads into the scientific community, thanks to Hucka's dedication and effort. This includes the release of a new SBML Level 3 Core specification.

According to Hucka, "The development of SBML continues at pace thanks to the efforts of both a team of dedicated developers and an international community of volunteers and researchers, who act as SBML users and fellow developers. SBML is a free and open community resource that extends beyond the interests of any single group of researchers."

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.