web framework (Django Software Foundation, 2015)
to implement the process as a website. The generated
website is ready to be used and can be customized by
any developer familiar with the Django framework.
2 RELATED WORK
There exist several business process management sys-
tems (BPMSs) that include some support for form-
based steps within workflows, such as Bonita (Boni-
tasoft, 2015) or Intalio (Intalio, Inc., 2015). These
engines are usually tightly integrated with a design
tool which uses a graphical notation (usually BPMN-
based) to describe the processes. This graphical no-
tation is normally extended with engine-specific an-
notations to provide the full semantics of the process,
and is persisted using XML-based formats.
While these systems can describe a much larger
class of business processes than our DSL, the result-
ing process definitions are highly dependent on the
underlying engine: migrating the same process to a
new technology may require a rewrite. Version con-
trol is still possible with XML-based formats, but
meaningful comparisons and merges require special-
purpose tools. In addition, using a BPMS effectively
requires a considerable amount of training, consult-
ing and process analysis, which may not be feasible
in smaller IT departments. Our approach focuses on a
specific kind of business process (manage a complex
document through multiple states, with different ac-
cess rules in each state) and produces a standard web
app that can be maintained as any other.
Scaling back from full-fledged BPMS engines,
there have been many attempts to simplify the devel-
opment of form-based applications. One recent initia-
tive in this regard has been the EMF Forms (Eclipse
Foundation, 2015b) Eclipse project. Using its tools,
users can define the domain model and abstract lay-
out once and then render it in various technologies,
such as SWT or JavaFX for desktop apps or Tabris
for mobile apps. On the one hand, EMF Forms al-
lows developers to specify the concrete layout for the
resulting forms, unlike our DSL, which delegates on
the generator for the presentation aspects. However,
a DSL could cover aspects that EMF Forms does not,
such as access control and state transitions.
Another related topic is domain-driven design
(DDD): an approach on software development that as-
serts that the primary focus in most software projects
should be the creation of an adequate model that
abstracts the problem domain, and the implementa-
tion of the relevant business logic around it (Evans,
2003). In this regard, several frameworks have been
implemented to support DDD, enabling rapid itera-
tions by generating a large portion of the application
from a “pure” domain model (e.g. a set of Plain Old
Java Objects or POJOs), such as Apache Isis (Apache
Software Foundation, 2015) or OpenXava (OpenX-
ava.org, 2015). In a way, a DSL conforms to the
same view of producing software from a description
of the problem domain: the only difference is that the
DSL is focused on a specific kind of problem domain,
rather than the generic approach of a DDD tool, mak-
ing it more productive in that particular case.
In the context of e-government, several works
have identified some differences in the way e-
government processes should be modeled, in compar-
ison to the business processes in the private sector.
Klischewski and Lenk argued that in the public sector,
many processes involve unstructured decision making
(whether by a single official or after a meeting) and
negotiations, so officials would need to be able to al-
ter the course of the process (Klischewski and Lenk,
2002). Later in the same work, Klischenski and Lenk
proposed a set of “Admin Points” as reusable process
patterns that could be used as a shared vocabulary for
e-government business processes. In a DSL, many of
these admin points which involve negotiation and un-
structured decision making could be modeled using
decision-based transitions.
3 LANGUAGE DEFINITION
Summarizing the discussion in the previous sections,
the design requirements for the language are:
• The description of a process should include the
information to be stored within the managed doc-
ument, the roles involved and the states that the
document goes through.
• Each state should list the roles that can view or
edit the different parts of the managed document.
• State transitions based on user decisions and dates
should be supported by default, and custom busi-
ness logic should be easy to integrate later on.
3.1 Abstract Syntax
Figure 1 shows a UML class diagram with the abstract
syntax of our DSL. An APPLICATION is divided into
ELEMENTs. There are five kinds of ELEMENTs. SITE
is the simplest one: it only declares the name of the
application (e.g. “Billing”). OPTIONS elements con-
tain key/name pairs (PROPERTY instances) that may
be useful to external generators.
Domain-Specific Language for Generating Administrative Process Applications
179