You are on page 1of 14

ARTICLE IN PRESS

Journal of Network and Computer Applications 32 (2009) 10921105

Contents lists available at ScienceDirect

Journal of Network and Computer Applications


journal homepage: www.elsevier.com/locate/jnca

Language engineering techniques for the development of


e-learning applications
Ivan Martnez-Ortiz, Jose-Luis Sierra , Baltasar Fernandez-Manjon, Alfredo Fernandez-Valmayor
Dpto. Ingeniera del Software e Inteligencia Articial. Fac. Informatica, Universidad Complutense de Madrid, C/ Profesor Jose Garca Santesmases, s/n. 28040 Madrid, Spain

a r t i c l e in f o a b s t r a c t

Article history: In this paper we propose the use of language engineering techniques to improve and systematize the
Received 19 June 2008 development of e-learning applications. E-learning specications usually rely on domain-specic
Received in revised form languages that describe different aspects of such nal e-learning applications. This fact makes it natural
29 January 2009
to adopt well-established language engineering principles during the construction of these applications.
Accepted 26 February 2009
These principles promote the specication of the structure and the runtime behavior of the domain-
specic languages as the central part of the development process. This specication can be used to drive
Keywords: different activities: rapid prototyping, provision of authoring notations and tools, automatic model
E-learning applications checking of properties, importation/exportation from/to standards, and deployment of running
Language engineering
applications. This language engineering concept also promotes active collaboration between instructors
Domain-specic languages
(the users of the languages) and developers (the designers and implementers) throughout the
Authoring
Model checking development process. In this paper we describe this language-driven approach to the construction of
Rapid prototyping e-learning applications and we illustrate all its aspects using a learning ow sequencing language as a
case study.
& 2009 Elsevier Ltd. All rights reserved.

1. Introduction we have promoted a complementary philosophy: using suitable


languages to describe applications that are generated by auto-
A common practice in e-learning is the use of languages to matically processing these descriptions (Sierra et al., 2006b). This
describe the different aspects of a learning scenario (e.g. content, philosophy is shared by the approaches to software development
activities, participants, etc). IMS standardization efforts are good based on domain-specic languages (Deursen et al., 2000; Mernik
examples of this trend (Friesen, 2005). Indeed, many of these et al., 2005). According to these approaches software development
efforts result in suitable languages for the description of specic is conceived as a language engineering process, where suitable
aspects of an e-learning application. Among them it is possible to domain-specic languages are specied, implemented and
nd languages for packaging learning contents (i.e. the IMS maintained for each application domain, and where software
Content Packaging specication) (IMS, 2004), for describing the applications are described using these languages instead of
different products involved in an assessment process (i.e. the IMS general-purpose programming ones. These approaches are spe-
Question & Test Interoperability specication) (IMS, 2006), for cially well suited to domains where having efcient mechanisms to
describing the prole of a particular learner (i.e. the IMS Learner norm the interaction between domain experts and developers is a
Information Package specication) (IMS, 2005), for sequencing the must. E-learning is a paradigmatic example of these domains, since
activities in a learning ow (i.e. the IMS Simple Sequencing many times the cost of providing the contents and ne-tuning the
specication) (IMS, 2003b), or even for characterizing the different nal applications exceeds by several orders of magnitude the initial
teaching methods arising in heterogeneous learning situations development cost of the software infrastructures where the
(i.e. the IMS Learning Design specication) (IMS, 2003a). applications will nally be deployed. The adoption of a language-
While these standardization efforts stress the use of languages driven approach in e-learning results in a more rational distribu-
to solve interoperability issues (i.e. as vehicles that can be used by tion of responsibilities among the participants in the development
heterogeneous platforms to exchange information), in our works process. Instructors will be in charge of producing and maintaining
the nal applications, while developers act as language engineers
 Corresponding author. Tel.: +34 913947548; fax: +34 913947547. responsible for formalizing and maintaining the languages used by
E-mail addresses: imartinez@fdi.ucm.es (I. Martnez-Ortiz), jlsierra@fdi.ucm.es
the instructors. Developers are also in charge of the software
(J.-L. Sierra), balta@fdi.ucm.es (B. Fernandez-Manjon), valmayor@fdi.ucm.es infrastructure associated with such languages (including the
(A. Fernandez-Valmayor). generators used to produce the nal running applications).

1084-8045/$ - see front matter & 2009 Elsevier Ltd. All rights reserved.
doi:10.1016/j.jnca.2009.02.005
ARTICLE IN PRESS

I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105 1093

We have successfully tested these language-driven principles connect these specications using appropriate language transla-
in the development of several e-learning systems and applications tions. Finally, the resulting high-level designs can be easily
(Fernandez-Manjon and Fernandez-Valmayor, 1997; Moreno- deployed using the well-known model-view-controller (MVC)
Ger et al., 2007; Sierra et al., 2006c, 2007b, 2008c), where we pattern (Krasner and Pope, 1988), which is typically used for
have tested the importance of using domain-specic languages to organizing many modern web-based applications.
orchestrate the collaboration needed between instructors and The structure of the paper is as follows. Section 2 motivates the
developers. In these experiences we have also realized the language-driven approach by comparing it with conventional
feasibility of a complementary approach to the interoperability- development models. In Section 3 we introduce a case study that
oriented standardization efforts when adopting a language-driven will be used throughout the paper for illustrative purposes. In
process model. Instead of seeking universal solutions, we consider Section 4 we focus on the structural and behavioral specication
that it is also interesting to take a different approach by of domain-specic languages. Section 5 is devoted to analyzing
formalizing the languages already used by instructors in their the different activities enabled by this language-driven approach.
specic learning domains. Since these languages are domain The paper nishes by presenting some conclusions and lines for
specic and part of the instructors experience, they are more future work (Section 6).
understandable and easier to use for the instructors than the more
generic ones. It does not mean that standardization issues are
ignored. Indeed, these issues can be subsequently addressed by 2. Language-driven development of e-learning applications
appropriate importation/exportation modules. However, by compared to conventional development approaches
adopting a language engineering perspective, where developers
are constantly providing suitable linguistic support according to In a conventional development process model instructors are
the particular needs of the instructors, it is possible to promote an requirement providers, while developers act as application im-
instructor-centered development process, which results in in- plementers. By using conventional requirement acquisition techni-
structors deeper involvement in the production and maintenance ques, developers interview instructors to determine which
of the e-learning applications. In this work we will mainly resources (i.e. contents, support tools, etc.) must be incorporated
illustrate this bottom-up approach, similar to the experiences in the application, as well as how the nal users (e.g. instructors,
reported by Sierra et al. (2006a), although the techniques will also learners, etc.) interact with these contents. For example, as result of
be largely applicable in a top-down manner, based on the use, the requirement acquisition process to develop an e-learning
specialization and adaptation of pre-existing languages, such as course, instructors determine, among others: the learning contents
the one proposed by Moreno-Ger et al. (2006). and tools needed, the structure of the course/lessons and the
The present paper exposes the marriage between e-learning transitions between the different parts of a lesson or the whole
and language engineering. For this purpose, it describes and course. With all this information, and using general-purpose
illustrates the different activities promoted by a language-driven programming languages and technologies (e.g. Java, XML, etc.),
approach in e-learning, and how these activities are organized developers implement the application; for example, they can
around sound specications of domain-specic languages. These provide a web-based implementation by using a suitable frame-
specications start with the characterization of abstract informa- work for the development of web-based applications, such as
tion models for the languages, which are described in both a Apache Struts (Goodwill and Hightower, 2003). Then, the developed
conceptual and a formalized way. The structural formalization of application is evaluated by instructors (perhaps with the help of
the languages allows for the subsequent formalization of their end-users), who eventually can discover some aspects to be
runtime behaviors in the form of suitable operational semantics. improved in the contents or in the interactions. Thus, instructors
The resulting specications are used to drive many other language propose modications and/or improvements in the application to
engineering activities. Indeed, these specications can be readily the developers, who produce an enhanced application, starting a
used to build running prototypes of the languages in a new evaluation (e.g. instructors could include new content, modify
straightforward way, which can be used to rene the structure existing ones, as well as modify the learning ow which governs the
and the semantics of these languages. They can also be used to transitions between the different parts of the course). This iterative
provide notations that are more user-friendly for the instructors behavior, characterized by the production/modication of applica-
(e.g. a graphical notation), by specifying a mapping between these tions, nishes when a satisfactory application has been obtained but
notations and the abstract information models. The resulting it needs to be started again when the application needs to be
languages facilitate the automatic checking of properties, which updated (Fig. 1a). In fact, the process model described resembles the
results in better authoring support for instructors. Since the usual Analysis Design Development Implementation and Evaluation (ADDIE)
e-learning specications are also language based, it is possible to methodology extensively used for the development of e-learning

Requirements Domain-specific language

Application
Developers Application Instructors Developers generator Application Instructors

Changes Application description

Fig. 1. Simplied views of (a) conventional development of e-Learning applications, and (b) language-driven development.
ARTICLE IN PRESS

1094 I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105

materials (Allen, 2006; Molenda, 2003). The main advantage of this This language is a simplied version of a ow-driven educational
conventional approach is its exibility, because it avoids the modeling language included in /e-LDS, a system developed at the
expressive limitations that can be imposed by using a specic Complutense University of Madrid (Martnez-Ortiz et al., 2007a).
authoring tool (on the contrary, the process models explicitly /e-LDS supports the authoring and playing of Units of Learning
involve a development team able to react to the needs and described with the aforementioned IMS Learning Design (IMS LD)
requirements of the instructors). However, the cost of producing specication (IMS, 2003a; Koper and Olivier, 2004).
and maintaining the applications can be prohibitively high (Sierra IMS LD is a powerful activity and role-oriented educational
et al., 2006b). Indeed, a typical e-learning application can manage modeling language developed at the Open University of the
high volumes of contents and exhibit complex interactions with the Netherlands as an evolution of the previous language EML (acronym
different participants in the learning process (e.g. learners, for Educational Modeling Language) developed by the Professor Rob
instructors, assistants, etc.). Then, when instructors want to report Kopers group (Koper and Manderveld, 2004). Since 2003 the IMS
an application change (e.g. error, new feature), many times the best LD specication has been adopted by the IMS consortium. IMS LD
way that they can do so is to document their proposed modica- incorporates a powerful condition system similar to a rule-based
tions, for example annotating them directly onto applications mechanism that makes it possible to design complex adaptive
screenshots (i.e. communication between instructors and devel- learning behaviors (Burgos et al., 2007b). However, during our
opers could be orchestrated by descriptions based on natural experiences with IMS LD in developing adaptive game-based
language as well as by other kind of documents). These annotations e-learning contents (Burgos et al., 2007a) we observed that many
are manually analyzed by developers to produce the adequate instructors found it easier to describe their designs using a ow-
application (e.g. in Struts, developers should tweak XML deploy- oriented notation. For this purpose, in /e-LDS we use a simple
ment descriptors and Java code to achieve the desired modica- ow-driven domain-specic language, which is similar in spirit to
tions). Thus, the resulting production and maintenance loop is the aforementioned IMS Simple Sequencing (IMS, 2003b), but with
costly and sometimes inefcient due to the communication gap that support for roles. Moreover, we signicantly adopt language
exists between instructors and developers. engineering principles in /e-LDS in order to keep the language
In turn, in a language-driven approach instructors use suitable adjusted to the needs of the instructors, while still maximizing its
domain-specic languages to produce and maintain the applica- usability from an authoring point of view. We maintain an abstract
tions, while developers produce suitable implementations of such information model for this language (or, using terminology taken
domain-specic languages. This conception of application develop- from the model-driven development community, a metamodel
ment is possible because domain-specic languages can integrate Stahl et al., 2006), and we provide several bindings (e.g. an XML-
primitive constructions, means of combination and means of based one, a graphical one, etc.) in order to adapt the language to
abstraction which are close to the expertise and the needs of the the aforementioned authoring needs. We also provide export and
instructors. Therefore, these languages are easier to use than other import mappings with IMS LD.
general-purpose programming languages for solving the specic For sake of simplicity, in this paper we will ignore the aspects
problems posed by instructors (i.e. instructor-oriented languages are regarding roles, and we will only consider the sequencing part of the
not general-purpose programming languages, but are languages for language in /e-LDS. We will also avoid the description of learning
describing the different aspects of the teaching and learning objectives, environments, the description of activities, metadata, etc.
processes). Thus, by adopting a language-driven approach the The purpose is to work with a language useful enough for
production and maintenance loop can be speeded up. Indeed, by illustrative purposes, but still simple enough to t in the limits of
using suitable domain-specic languages, instructors can describe a single paper. Therefore, our example language will be able to
the relevant aspects of an e-learning application (e.g. learning ows describe how to sequence learning activities in a single-user
and contents) in a form which is machine processable. By doing so, learning ow. The language will support either single sequencing
applications can be automatically generated by using suitable (i.e. the current step has a single next step), alternative sequencing
application generators (compilers or interpreters) for these languages, (i.e. the next step depends on a condition), or multiple
which are also provided by developers. The overall approach is sequencing (i.e. there are several next possible steps to do). Activities
summarized in Fig. 1b. will be exposed to the learner, and they will be attended by him/her. As
Application generators can work, for instance, by automatically a result, a set of achievements will be reached. Conditions themselves
instantiating application frameworks (Sierra et al., 2008c). Thus, the will be formulated as Boolean expressions on achievements.
language-driven approach does not imply that conventional pro- In order to exemplify the kind of descriptions that can be done
gramming languages and technologies (e.g. Java, XML, etc.) become with this language, consider a simple example regarding a course
unnecessary. On the contrary, these technologies also play a very on Enology (i.e. the science of wine). In this course the learner
important role since developers use them to provide the application must rst attend some classroom lectures. Then he/she must
generators for the domain-specic languages and the other software examine some background material (in particular, two papers
infrastructure required (e.g. suitable application frameworks). In written by Joseph Birra and Mary Bebo, two-ctitiouspopular
addition, the design of domain-specic languages can make use of experts on the matter, and a web site about the art of wine
higher-level specication formalisms and language engineering tasting). After that, he/she must pass a knowledge test on the
techniques. Indeed, once the different aspects of a language are matter. Depending on the result, he/she can be compelled to re-
rigorously specied, implementing it is an ordinary (although examine the material, or otherwise he/she can proceed with the
possibly tedious) programming task. Therefore, next sections learning process. The rest of the learning process consists of the
concentrate on the language engineering techniques involved in realization of a nal-course work assignment, which must be
the design of domain-specic languages for e-learning, as well as on graded positively before nishing the course. This learning ow is
the different activities enabled by this language-driven approach. described in Fig. 2 using natural language.

3. An example 4. Language design

In order to illustrate the different aspects presented in this The central step in the language-driven approach is to design
paper we will use a simple learning ow sequencing language. the domain-specic language used to describe the key aspects of
ARTICLE IN PRESS

I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105 1095

the target applications. This design process must characterize the programming language, which lets language designers capture the
language both in a structural dimension (i.e. how the aspects features of the language that are essential for further specifying
addressed can be described using the language) and in a the meaning of their constructs (Friedman et al., 2001). Also, and
behavioral dimension (i.e. how the applications described behave). as said before, the process can be understood as a meta-modeling
In this section we address these two design dimensions by activity in the context of model-driven engineering (i.e. as the
emphasizing in the language engineering principles used. In Sierra design of a domain-specic modeling languageStahl et al., 2006).
et al. (2008a, 2008b) there are additional examples of applying The information model can be initially provided by using
this process into the context of a Socratic Tutoring System (Bork, standard data modeling techniques (e.g. entity-relationship
1985; Ibrahim, 1989). diagrams, or UML class diagrams). In addition, it can be further
formalized in terms of a rst-order signature (i.e. a set of function
4.1. Designing the languages structure and predicate symbols) with the aim of subsequently enabling the
formal denition of the behavioral dimension.
The design of the language will be addressed from an abstract In the case of our /e-LDS sequencing language, the abstract
point of view. Thus, the language itself will be characterized as an structure of a sequencing specication is a directed graph whose
information model, instead of a concrete grammar. The rationale in nodes correspond to learning activities, as well as to Boolean and
doing so, which is also a common practice in e-learning ow operations. In Fig. 3 we sketch the information model of this
specications and standards, is to maximize the reusability of language using an UML-like notation. This model characterizes a
the language in different contexts. learning ow sequencing specication as a set of commands, which
Indeed, the language will be adapted to each particular context are further classied into simple and branched ones. Simple
by providing a suitable binding to a concrete notation, as is also commands can only have a single next command in the
usual in the e-learning standardization practice. From a language specication, while branched ones can have two next commands.
engineering perspective, this structural design of the language is Simple commands include the exposition of a learning activity
analogous to the denition of the abstract syntax of a conventional (Activity), atomic (Achievement) and composite (And, Or, Not)
Boolean operations (they enable us to represent conditions in
postx notation), and a command for synchronizing several
1. Perform the Attend to lectures activity learning paths (Join). In turn, branched commands include a
2. Perform the following activities command for making alternative sequencing (Alt), and another
- Read Birras Paper one for performing multiple ones (Fork). Finally, the model
- Read Bebos Paper includes a Stop command, which will be used to nish the
- Visiting wine tasting website sequencing. In Table 1 we summarize the predicates used to
3. Perform the Do Test activity
formalize descriptions that follow this information model. There
4. If the achievement test-passed has not been achieved, go to step 2
5. Perform the Do Work Assignment activity is a predicate for each command. The rst argument corresponds
6. If work-is-successful has not been achieved, go to step 5 to a unique identier for the command. In simple commands, the
last argument refers to the identier of the command in the next
step. Finally, in Fig. 4 we exemplify the representation of the
Fig. 2. An example of learning ow sequencing. sequencing in Fig. 2 using this formalized abstract notation.

Learning Flow 1..*


Command

+identifier

Stop
0..1 0..1 0..1
next
next1 next2

Simple Command
Branched Command

And Or Not Join

Achievement Fork
+name

Activity
Alt
+name

Fig. 3. Information model for the /e-LDS sequencing language.


ARTICLE IN PRESS

1096 I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105

Table 1 Output Stream


Predicates used to formalize the model of the /e-LDS sequencing language.
(O)
Predicate Intended meaning

Activity (i,a,j) Activity a must be exposed to the learner


Achievement True if the learner has reached achievement a. False otherwise
(i,a,j)
And (i,j) True if the two last conditions tested were both true. False
Description Memory
otherwise
Or (i,j) False if the two last conditions tested were both false. True (D)
otherwise
Not (i,j) True if the last condition tested was false. False otherwise
Alt (i,j,k) If the last condition tested was true, the next step is command j.
Otherwise it is command k Control Stack Evaluation Stack
Fork (i,j,k) The next step can be both command j and command k
Achievement Memory (EST)
(CST)
Join (i,j) Synchronize all the learning paths leading to it (A)
Stop (i) It stops the sequencing process

Activity (1,Attend to lectures,2) Joinpoint Memory Learner Inbox Memory


Fork (2,3,4) (J) (IB)
Activity (3,Read Birras Paper,7)
Fork (4,5,6) Stop Flag
Activity (5,Read Bebos Paper,7) (STP)
Activity (6,Visit wine tasting website,7)
Join (7,8)
Activity (8,Do Test,9) Input Stream
Achievement (9,test-passed,10) (I)
Alt (10,11,2)
Activity (11, Do Work Assignment, 12)
Achievement (12,work-is-successful,13) Fig. 5. Structure of the abstract machine for the /e-LDS sequencing language.
Alt (13,14,11)
Stop (14)

Fig. 4. Abstract representation of the learning ow sequencing outlined in Fig. 2. for isolating the behavioral details from the presentation/
interaction/updating aspects.

4.2. Specifying the languages behavior


This organization naturally leads to MVC-based architectures
for the nal implementations, as will be detailed below. Also, in
Once the structure of the language has been dened, the order to facilitate language evolution, computation states can be
second step in the language design is to characterize the runtime characterized as indexed sets of components (i.e. sets of pairs with
behavior of this language. This second step will be addressed by the form /c,CS, where c is the components name and C is the
assigning suitable operational semantics to the language. Such corresponding component value). It will facilitate the addition of
semantics will model the runtime behavior as transitions between new components to the states without affecting the specications
computation states. Therefore, in order to model the behavior, we already available, with results similar to the use of labels in the
need in turn to decide how to represent those computation states, transitions as proposed in works on the modularization of
and also how to characterize the transitions mentioned. These operational semantics specications (Mosses, 2004). To facilitate
two aspects will be addressed in the following sections. the manipulation of this representation, we will introduce the
following notational conventions:
4.2.1. Characterizing computation states
The characterization of computation states is analogous to  sc: It will be used to obtain the value of component c in state s.
devising the architecture of an abstract machine for executing the Formally, sc C3hc; Ci 2 s.
descriptions in the domain-specic language. Since the language  [c/C]: It will used to update the value of component c in
is specic, the resulting machine will also be so. Computation state s. The new value will be C. Formally, sc=C
states (and hence the associated abstract machines) typically will s  hc; sc i [ fhc; Cig.
include:  [c1/C1, c2/C2, y, ck/Ck]: It will be a shortcut for s[c1/C1][c2/C2]y
[ck/Ck].
 The description in the language (which can be thought of as
the program stored in the machines memory). Regarding our case study, in Fig. 5 we outline the structure of an
 One or several control elements used to decide how the abstract machine that can be used to execute learning ow
execution must proceed (e.g. information about the current sequencing descriptions. In this structure:
instruction, or the current set of instructions in the case of
multithreaded execution).  The description will be stored in a description memory
 A context (which can be thought of as the contents of the (abbreviated as D). This memory will consist of the sets of
machines registers and internal memory). sequencing commands.
 Several streams communicating with other components  The control elements will be a control stack (CST), a Learner
(which can be thought of as buses connecting the CPU with Inbox Memory (IB) and a stop ag (STP). Each element in the
input, output and other devices). These streams are very useful control stack will be a pair /j, iS where i points to a command
ARTICLE IN PRESS

I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105 1097

in the description memory, and j points to the preceding In Fig. 6 we show the semantic rules for our example. These
command, also in the description memory (this last reference rules characterize the sequencing process as the iteration of two
will be required during the execution of the Join commands). In stages:
turn, the learner inbox memory will store those activities that
are currently exposed to the learner, along with the informa-  The rst stage executes all the sequencing steps required to
tion needed to restart the execution once these activities are expose the activities to the learner. For this purpose, com-
attended. Finally, the stop ag will indicate whether the mands must be successively executed until reaching an Activity
execution has stopped or not. one. In addition, Fork commands can cause several activities to
 The context will be represented by an Evaluation Stack (EST), be exposed. It requires tracking several execution paths instead
an Achievement Memory (A), and a Joinpoint Memory (J). The of a single one, which is achieved by using the control stack.
evaluation stack will be used to store the results of the Indeed, this stage supposes executing commands until this
conditions tested that will be required in subsequent tests. stack is empty. The stage itself is governed by all the rules but
The achievement memory will store all the achievements the last one. The activity-exposition rule characterizes the
established as a result of executing the activities. Finally, the execution of the Activity commands, and therefore the
joinpoint memory will store information about the Join exposition of the activities to the learner: a suitable exposed
commands executed. Its elements will be pairs of the form command is written in the output stream, and information
/i, WS, with i being the identier of a Join command and required to resume the execution when the activity has been
W a set of references to the preceding commands pending attended is stored in the learner inbox memory. The achieve-
execution. ment-test, and-test, or-test and not-test rules characterize
 Finally, the machine has an Input (I) and an Output (O) stream. how the different conditions are tested. For achievements, the
The input stream will contain the result of executing the result is true or false depending on where the achievement is or
activities i.e. attended (a,As) terms, with a being an activitys is not stored in the achievement memory. For composite
name and As a set of achievements. The output stream will conditions, the result is obtained by operating on the top
contain commands to expose activities to the learneri.e. values of the evaluation stack, which will correspond to the
expose(a) terms, with a the name of an activity. operands already evaluated, and such a result will replace the
top values as is usual in the stack-based evaluation of
Therefore the computation states managed in the semantics expressions (Aho et al., 2007). The alt-branching and the
will be sets of the form fork-branching rules characterize the execution of the
branching commands. While the next step to execute due to
fhD; _i; hCST; _i; hEST; _i; hA; _i; hJ; _i; hIB; _i; hI; _i; hO; _i; hSTP; _ig (1) the Alt command depends on the top of the evaluation stack,
the Fork command supposes pushing the two possible next
where _ denotes an anonymous unique syntactic variable.
steps in the control stack. The execution of a Join command is
To facilitate the manipulation of the description, by pred(D,i)
modeled using three different rules. The rst one (join-
we will denote the set of identiers of all the commands pointing
activation) models the activation of a joinpoint: pointers to
to command i in description D. Finally, in order to facilitate the
the Join command and to the pending commands are stored in
manipulation of the stacks and streams, we will abstract the
the joinpoint memory. Also notice that the control stack is
specications in the following typical operations:
unchanged, to deal with the actual execution of the command.
This execution supposes blocking the sequencing if there are
 empty(S) for checking the emptiness of a stack, top(S) for more commands pending execution (join-blocking rule), or to
consulting the stacks top, pop(S) for popping the stacks head, restart it if such execution was provoked by the last one
and push(e,S) for pushing element e into stack S. pending (join-unblocking rule). Finally, the execution of the
 in(S) for reading from a stream, out(e,S) for writing element e Stop command supposes stopping the sequencing process
in stream S, and close(S) for closing the stream. (stop rule).
 The second stage, which is governed by the rule activity-
attendance, supposes taking care of learners interactions,
4.2.2. Specifying the semantic rules which in this case study are reduced to attending activities.
Once the structure of the computation states is set, the This stage comprises a step where the input stream is read to
languages runtime behavior can be formalized. For this purpose determine the activity attended and the achievements estab-
we propose using the structural style of operational semantics lished as a result of such an action. These achievements are
(Plotkin, 2004; Mosses, 2006). In this style, semantics rules then used to update the achievement memory, and the
typically adopt the form continuation information, stored in the learner inbox memory,
Fo ; ; . . . ; ; Fk is used to restart the sequencing process by pushing this
(2) information in the control stack.
Co ; ; . . . ; ; Cn
and therefore they resemble the inference rules of formal calculi
in logic. The meaning of these rules is also straightforward: if
sentences Fi in the premise hold, the sentences in conclusions Cj 5. Enabled activities
will also hold. Some of these sentences will typically adopt the
form of so-s1, meaning a transition from state so to state s1. As said before, once the design of the language is available, it
Other ones will involve additional tests and constraints on the can be used to organize several activities, which are facilitated by
possible states using typical logical and set theoretic operations. using well-established language engineering techniques. In
In addition, we use a small-step style of specifying the semantics particular, in this section we contemplate the addressing of rapid
(Mosses, 2006). This specication style concentrates on charac- prototyping, the incorporation of author-oriented notations, the
terizing transitions between consecutive states, and will facilitate introduction of model-checking capabilities, the importation/
subsequent development steps, such as model checking and exportation from/to standard specications, and the deployment
implementation. of the nal applications.
ARTICLE IN PRESS

1098 I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105

STP = false ;; top( CST ) = _, i ;; activity (i, a, j ) D


activity-exposition
CST/pop( CST ), IB/ IB { a, i, j } , O/out(expose(a), O )

STP = false ;; empty( CST ) = true ;; attended(a, As), I ' = in( I );; a, n IB
activity-attendance
CST/push(n, CST ), I/I ', A/ A As, IB/ IB { a, n }
STP = false ;; top( CST ) = _, i ;; achievement(i, a, j ) D
achievement-test
true if a A
[CST/push( i, j ,pop( CST )), EST/push( , EST )]
false otherwise
STP = false ;; top( CST ) = _, i ;; and (i,j ) D ;; v1 = top ( EST );; vo = top (pop ( EST ))
and-test
CST/push( i, j ,pop ( CST )), EST/push (vo v1 , pop (pop ( EST )))
STP = false ;; top( CST ) = _, i ;; or (i ,j ) D ;; v1 = top( EST );; vo = top(pop( EST ))
or-test
CST/push( i, j ,pop( CST )), EST/push (vo v1 , pop (pop ( EST )))
STP = false ;; top( CST ) = _, i ;; not (i,j ) D ;; v = top ( EST )
not-test
CST/push( i, j ,pop ( CST )), EST/push (v, pop ( EST ))
STP = false ;; top( CST ) = _, i ;; alt (i, j , k ) D
alt-branching
j if top ( EST ) = true
[CST/push( i, , pop ( CST )), EST/pop ( EST )]
k otherwise
STP = false ;; top( CST ) = _, i ;; fork (i, j , k ) D
fork-branching
[CST/push( i, j , push ( i, k , pop ( CST )))]
STP = false ;; top( CST ) = _, j ;; join(j ,k ) D ;; W ( j ,W J )
join-activation
J/ J { j , pred( D , j ) }
STP = false ;; top( CST ) = i, j ;; join(j ,k ) D ;; j , W J ;;W {i}
join-blocking
CST/pop( CST ), J/ ( J { j , W }) { j , W {i} }

STP = false ;; top( CST ) = i, j ;; join(j ,k ) D ;; j , W J ;;W {i} =


join-unblocking
CST/push( j , k ,pop( CST )), J/ J { j , W }
STP = false ;; top( CST ) = _, i ;; stop(i ) D
stop
[STP/true, O/close( O )]

Fig. 6. Semantic rules for the /e-LDS sequencing language.

5.1. Rapid prototyping In our experiences we use the Prolog programming language
(Sterling and Shapiro, 1994) because it is especially well suited for
The behavioral specication of the domain-specic language developing prototypes. The Prolog language facilitates the tasks
using structural operational semantics is amenable to supporting involving the denition and manipulation of other languages.
rapid prototyping in a straightforward way. The aim of rapid Indeed, it was designed with a primarily linguistic purpose, as a
prototyping is to enhance the quality of the language specica- tool for natural language processing (Pereira and Warren, 1980). In
tions, since this quality will be decisive in the quality of the nal addition, as described by Clement et al. (1986) and Sethi (1996),
applications. Indeed, if a good specication is provided, it will be Prolog allows for the easy encoding of structural operational
possible to apply systematic techniques in order to derive reliable semantics. Another interesting feature is the fact that it is
platforms, frameworks and/or parametric applications able to be equipped with an extensible syntax, which can be extended by
customized using the languages. Therefore, we need to verify the dening new operators. Finally, most Prolog implementations also
correctness of the specication and, more important, to validate it incorporate very simple and elegant ways of doing concurrent
according to the expectations of instructors and developers. For processing based on co-routines. This feature will be very useful
this purpose, rapid prototyping can be very helpful. In fact, before in isolating the purely behavioral aspects from those regarding
undertaking the implementation, developers can build a proto- interaction and presentation.
type of processor able to play descriptions which conform to the Therefore, Prolog sets an ideal framework to support rapid
domain-specic language. In turn, the participation of instructors prototyping in our language-driven approach as it can speed up
is also very valuable, as they can use these prototypes with real the construction of denitional interpreters for the domain-specic
descriptions to decide on the suitability or unsuitability of the languages introduced during the language-driven development of
specication. As a consequence, errors can be detected and xed e-learning applications. Denitional interpreters are very com-
in very early development stages. Therefore high-quality lan- mon in language engineering, and they are oriented to making the
guages well adapted to the specic needs of relevant learning relevant behavioral features of the language explicit, but not to
scenarios can be provided. This whole process also has advantages achieving efciency or realistic deployment conditions (e.g. web-
regarding production and maintenance of the nal e-learning based execution). However, we will be able to implement it with
applications. very little effort in a few hours, and since it is systematically
ARTICLE IN PRESS

I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105 1099

obtained from the specication, we will also be able to update it explicit separation between the two previous ones. This
easily if the language evolves or changes. separation is very relevant for developers. Indeed, nal
The high-level architecture of the denitional interpreters in implementations will usually be web-based, and such im-
our approach is induced by the typical nature of the operational plementations usually enforce such a separation between the
semantics specication. This architecture, which is outlined in client and the server side. Therefore, by also separating these
Fig. 7, includes: aspects at the prototyping stages, developers will be able to
test and rene the operational semantics in order to allow for
 A behavioral layer that will encode the transition rules in the appropriate interactive behavior. Regarding Prolog encoding,
operational semantics specication. Following patterns similar streams can be represented as open-ended lists. In addition,
to those discussed by Clement et al (1986) and Sethi (1996), it standard goal delaying Prolog mechanisms can be used in the
is possible to capture the languages transition relation with a provision of the operations.
transition/1 predicate, whose argument is the encoding of
a transition step s0-s1 (of a whole set of transition steps For more detail regarding rapid prototyping in the context of
actually, since it is possible to use logical variables to represent our language-driven approach see the work of Sierra et al.
state patterns, in the same way that syntactical variables are (2007a).
used in the semantic rules). Thus, there will be a one-to-one
correspondence between semantics rules and Prolog clauses
dening the transition/1 predicate. Fig. 8a sketches the 5.2. Provision of author-oriented notations
Prolog encoding of the activity-exposition semantic rule.
 An interaction layer that will model at a very basic level the Author-oriented notations are very relevant to actively invol-
interactions with the different participants in the learning ving instructors in the whole development process. These
process. The interaction layer includes a set of interaction notations can be textual or graphical. Also, it is possible to
actions, which deal with the presentation commands produced provide alternative notations for the same language, each one of
in the behavioral layers, collect the learner responses, and send them oriented to a different context or use. In particular:
them back to the behavioral layer. For this purpose, we
represent interaction actions by an interaction/3 predicate.
The rst argument of this predicate is the command itself, the  During prototyping the provision of a concrete syntax under-
second argument the current input, and the third argument the standable to the instructors is mandatory to actively involving
resulting input stream. In this way we need to provide a clause instructors during such an activity. Also, this syntax must be
for each presentation command. In Fig. 8b we sketch the easy to implement in order to not increase the prototyping
interaction action for the expose command, which is associated costs.
with the exposition of an activity to the learner.  A common practice in e-learning is to provide XML-based
 A communication layer that implements the stream operations notations, which make possible the preparation of descriptions
used in the operational semantics. This layer promotes an as documents marked with descriptive domain-specic mark-
up languages. This conception of author-oriented notations
based on descriptive markup is close to our previous work on a
document-oriented approach to the production and mainte-
Interaction Interaction nance of content-intensive and e-learning applications (Sierra
Layer Actions et al., 2006b).
Finally, in order to facilitate the use of the languages by
instructors, authoring scenarios encourage graphical notations
Communication Input Output (Martnez-Ortiz et al., 2007b).
Layer Stream Stream  From the linguistic perspective promoted by the language-
driven approach, the provision of these notations supposes:
Transition  Dening suitable concrete syntaxes.
Behavioral
Layer Rules  Dening appropriate translations of these syntaxes to the
languages abstract syntax.
 Implementing these translations in the context of suitable
Fig. 7. High-level architecture of the prototypes for the denitional interpreters. authoring tools.

transition (S0-> S1) :- interaction(expose (A), In, NIn) :-


component (S0, stp, false), showActivity (A),
component (S0, cst, CST), readAchievements (As),
component(S0, d, D), out (In,attended (A, As), NIn).
top (CST, (_, I)),
member(activity (I, A, J), D),
%------------------------
pop (CST,CST1),
updateComponent (S0, cst, CST1, SI1),
component (S0, ib, IB),
updateComponent (SI1, ib,
[(a, (I,J))|IB], SI2),
component (S0, o, O),
out (O,expose(A), O1),
updateComponent (SI2, o, O1, S1).

Fig. 8. Prolog encoding of (a) activity-exposition transition rule, and (b) the interaction action associated with the expose command. Denition of the predicates used in the
right side of the clauses are omitted for the sake of conciseness.
ARTICLE IN PRESS

1100 I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105

['Attend lectures', <design>


repeat ( <seq>
[par ('Read Birras Paper', <activity>Attend lectures</activity>
'Read Bebos Paper', <repeat>
'Visiting wine tasting <seq>
website'), <par>
'Do test'], <activity>Read Birras Paper</activity>
until (test_passed)), <activity>Read Bebos Paper</activity>
repeat( <activity>Visiting wine tasting web
'Do Work Assignment', site</activity>
until (work_is_successful))]. </par>
<activity>Do test</activity>
</seq>
<until>
<achievement>test-passed</achievement>
Attend </until>
lectures </repeat>
<repeat>
<activity>Do Work Assignment</activity>
<until>
<achievement>work-is-
Read Read Visit wine successful</achievement>
Birras Bebos tasting
</until>
Paper Paper website
</repeat>
</seq>
</design>
no no
Do Test

Do Work
test-passed Assignment work-is-successful
yes yes

Fig. 9. Encoding the example of Fig. 2 using different concrete syntaxes: (a) a Prolog-based one; (b) an XML-based one; (c) a graphical one.

generation (e.g. JavaCC or Yacc-like) tools, following a pattern


similar to that suggested by Stancheld (2009) in relation to
Also, according to well-established language engineering
the ANTLR compiler-generation framework (Parr, 2007). The
principles, it is very important to separate the specication of
idea is to use SAX as a lexical scanning framework which can
each of these aspects:
be connected to a translator automatically generated from a
grammar-based specication. This grammar-based nature of
 At a purely descriptive level, concrete syntaxes (commonly the cited compiler construction environment contributes to
known as bindings in e-learning standardization efforts) can be decreasing the distance between implementation and speci-
dened by using a plethora of grammar formalisms (Klint cation and, therefore, to leveraging the overall development
et al., 2005). In particular, prototyping-oriented notations can and maintenance costs (Sarasa-Cabezuelo et al., 2008). Finally,
be dened as regular tree grammars (Comon et al., 2007) regarding graphical syntaxes, the meta-modeling support in
adopting a suitable form of the BNF notation. XML-based the Eclipse framework, along with its associated edition
markup languages can be dened as a suitable schema facilities, constitutes a pragmatic and cost-effective solution
language (e.g. DTDs or XML Schema) (Makoto et al., 2005). to implementing them (Steinber et al., 2003).
Graphical notations in turn can be dened using suitable visual
grammar formalisms (Marriott et al., 1999). Regarding our case study, in Fig. 9 we describe the example in
 In turn, translation can be specied using standard mechan- Fig. 2 with three different alternative concrete syntaxes. In Fig. 9a,
isms in language engineering. In particular, the attribute we use a prototyping-oriented notation. In Fig. 9b we use an XML-
grammar paradigm (Paakki, 1995) is especially well suited to based one. Finally, in Fig. 9c we use a graphical oriented one,
this purpose. This paradigm can also be applied to describing which is based on the UMLs activity diagrams (Booch et al., 1998),
contextual constraints not directly describable with the and which also resembles the typical notations used in the
formalism used to dene the notation. description of workows during the automation of business
 Finally, implementation will vary with the notation and the processes (Aalst and Kees, 2004). Moreover, the graphical notation
application context. For instance, during prototyping, syntax used in Fig. 9c is a simplication of /e-LDSs actual graphical
can be embedded in Prolog using the aforementioned feature notation (Martnez-Ortiz et al., 2008a).
of user-dened operators. Considering the descriptions in the
language as Prolog terms, translation is reduced to a term
manipulation process, which in turn is reduced to a plane 5.3. Model checking of properties
Prolog programming task. Regarding XML-based markup
languages, they can be processed using some of the well- We consider that a good authoring support not only has to rely
known XML processing frameworks (Birbeck et al., 2001). Also, on a user-friendly notation and editing environment, it also
in this case we have realized the feasibility of connecting provide authors with the automation of different tasks, such as
event-oriented frameworks (e.g. SAX) with standard compiler- the verication of properties in the authored descriptions. Some of
ARTICLE IN PRESS

I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105 1101

STP = false ;; top ( CST ) = _, i ;; activity (i, a, j ) D


activity-exposition
CST/pop ( CST ), IB/ IB { a, i, j }
STP = false ;; empty( CST ) = true ;; a, n IB ;; achievements(a, As) D ;; As ' As
activity-attendance
CST/push(n, CST ), A/ A As ', IB/ IB { a, n }
Fig. 10. Modication of the semantic rules for the /e-LDS sequencing language in order to abstract its operational semantics for model-checking purposes.

these properties are structural, and therefore they can be statically


checked in a way similar to the syntax or to the contextual DEF before (Fo, F1) = not E (not F1 U Fo)
constraints of a conventional programming language. However, before (expose (Do Work Assignment),
properties related to states during runtime still cannot be veried expose (Do Test))
in such a way, since this verication requires considering the
possible ways in which the resulting system or application can Fig. 11. Examples of denitions using the assertion language. First the before
temporal operator is dened, with the intended meaning F1 must hold before Fo
evolve from a particular state. Model checking (Clarke et al., 2000)
holds. Then a property is formalized stating The Do Test activity must be exposed
is a technique that allows for this kind of verications. In model before the Do Work Assignment activity is exposed.
checking, properties to be checked are described using a suitable
temporal logic (Emerson, 1990). The goal of the checking process is
then to establish where the applications state space is a model of instructors with counterexamples for properties which are
(i.e. satises) the temporal properties, and, in the case of nding a violated, counterexamples which will be given in terms of the
violation, to document it in the form of a suitable execution trace. encoding instead of in terms of the original domain-specic
In order to take advantage of model checking in the context of language. Due to these shortcomings, for other languages the
our language-driven approach, the following steps need to be explicit provision of a dedicated model-checking engine could
addressed: be more convenient.

By following the steps described above it is possible to build


 To substitute interactive behavior by non-deterministic choice a framework supporting model checking for each particular
in the operational semantics. Indeed, since the goal is to domain-specic language. In order to effectively use this frame-
explore the possible executions of the application, for each work, instructors and developers must set it up for each particular
potential learners interaction it is sufcient to try all the project or family of projects by deciding the relevant properties to
possible learners responses. be checked. For this purpose, instructors informally state these
 To design a suitable assertion language for describing the properties, and developers formalize them using the assertion
properties. Since the complexity of the checking process will language. Once the properties are established, instructors take
depend on this language, a reasonable trade-off between control. They author the descriptions, automatically detect
expressivity and the impact on the complexity of the nal potential problems as violations of the properties, examine the
checking process must also be taken into account. In particular, counterexample traces, and use those to solve the problems
the CTL (Computation-tree logic) language, which we have detected. The construction of the domain-specic model-checking
adopted in some of our experiences, allows for a checking frameworks themselves can be exemplied with our /e-LDS
process whose time complexity is polynomial in the size of the sequencing language:
state space (Clarke et al., 1986; Emerson, 1990). Yet this
language is expressive enough to describe many interesting
properties.  The substitution of interaction by non-deterministic choice
 To distinguish relevant states for property checking. Indeed, supposes dropping the input and output streams from the
since the complexity of the checking process will also depend computation states. In order to anticipate the possible learners
on the size of the state space, it will also be important to responses, one needs to add a predicate of the form
decrease the number of states by distinguishing this subset of achievements(a, As) to the abstract description, declaring the
relevant ones. possible achievements As for each activity a. In Fig. 10 we show
 To provide model-checking support. For some languages it will the modications in the operational semantics required to
be possible to reuse pre-existing model checkers. For instance, achieve the substitution. These modications only affect the
in the context of the language-oriented development of rules activity-exposition and activity-attendance. The other
educational adventure videogames described by Moreno-Ger rules remain unmodied.
et al. (2007), we have used the NuSMV model checker (Cimatti  The assertion language is standard CTL with atomic proposi-
et al., 2000), which makes use of an efcient technique called tions, expose(a), where a is the name of an activity,
symbolic model checking (Burch et al., 1992) to deal with huge achieved(a), where a is the name of an achievement, and
state spaces (the results are reported by Moreno-Ger et al., stopped. The intended meanings of these propositions are the
2009). Other works that use a similar approach are reported by obvious ones. The assertion language also includes a basic
Baldoni et al. (2007) and Baldoni and Marengo (2007). While abstraction mechanism, which allows for the denition of new
this possibility leverages the overall cost of providing this operators. In Fig. 11 we show an example of the use of this
support, it supposes facing the encoding of the operational language.
semantics in the reused model-checkers specication lan-  Relevant states will be those produced by the new activity-
guage. It also hinders the implementation of some domain- exposition and activity-attendance rules, as well as by the
specic optimizations during the searching of the state space. stop rule, since those states are where changes in the truth
Finally, it also requires providing a way of presenting the value of the assertion languages basic propositions hold.
ARTICLE IN PRESS

1102 I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105

 Implementation is carried out using a dedicated model checker make possible the desired refactoring. On the other hand, they can
which is driven by the adjusted operational semantics implement evolutions of the domain-specic language to accom-
specication. The inputs to this model checker are the learning modate the expressive needs of the instructors not taken into
ow sequencing specication, the declaration of the possible account in the current version of such a language.
achievements for each activity, and the properties to be In order to exemplify the exportation and importation aspects,
checked (expressed in the assertion language). Then it system- consider exportation from our /e-LDS sequencing language to
atically explores the state space induced by the abstract IMS LD, and importation from IMS LD to this language:
semantics and the particular specication, it maintains the
basic propositions which are true in each state, and it uses an  Exportation will produce a design with a single role that
on-the-y version of the classical model-checking algorithm contains a method with a single act. This act will encode the
presented in Clarke et al. (1986) to check the properties. It also sequencing specication. However, the process cannot be
uses compression and hashing techniques to manage the states performed directly because of the impossibility of changing
explored and to save space, and it focuses only on the relevant the state of an activity from completed to uncompleted in the
states. When it discovers a violation of a property, it produces IMS LD language. In order to approximate designs with loops,
an execution trace of the learning ow describing this one needs to unfold these loops in a pre-established number of
violation. The current algorithm is able to deal with several iterations. In /e-LDS a wizard helps the user with this
million states in a typical modern personal computer, which is unfolding process. The result is an IMS LD approximation of
enough for most of the practical applications. the original design. Therefore, specications in the /e-LDS
language can be understood as templates that can be used to
generate an unlimited number of IMS LD designs. In addition,
5.4. Exportation and importation an incidence report will be generated describing those aspects
that must be revised/completed (e.g. the activities cloned
One of the main aims of standardization efforts in e-learning is during the unfolding process, or the activities added to end
to facilitate the interoperability of heterogeneous applications and the last iteration when the termination condition has failed). In
systems, as previously stated. For this purpose, the different Fig. 12a we illustrate this process. We sketch a simple /e-LDS
aspects of an e-learning system can be expressed using standard sequencing specication (actually, a fragment of the example
descriptive languages such as the IMS specications mentioned at specication in Fig. 2), and we show the result of unfolding two
the beginning of this paper. Nevertheless, standard languages and iterations of the loop. After being revised by the instructors,
notations can be very general for a specic problem domain, and this specication will be directly describable in IMS LD
they can also be more difcult to use from an authoring (Martnez-Ortiz et al., 2009).
perspective. For this purpose, suitable import and export processes  The importation process will produce a separate initial
can be dened relating domain-specic notations and standard sequencing specication for each role.1 In addition, the process
ones. Importation consists of producing specications in the will be hindered by the different sequencing paradigms, such
domain-specic language from specications in a different as the one we indicated in Section 3. The incidence report will
(possibly standard) external language. On the other hand, use conditions and notications to annotate the initial
exportation consists of the inverse step: producing specications sequencing specications with the different aspects to be
in the external language from specications in the local one. revised. This leads to a learning design reengineering approach,
The language engineering methods applied during importation where instructors and developers can then work on refactoring
and exportation are similar to those used during the provision of the original design in an /e-LDS compliant one, which can be
authoring notations, since suitable translations between notations re-exported into an improved IMS LD design (Martnez-Ortiz
must be provided. Nevertheless, in this case one needs to face a et al., 2008b). The process is illustrated in Fig. 12b. This
lack of expressive power in the target notation. This problem illustration includes a schematic representation of a level B
arises when the target notation is not able to express all the IMS LD design, which actually captures a fragment of the
features that can be described using the source one. Therefore, the example introduced in Section 3. The importation process
results of the translation process will be: takes the IMS LD level A part as an initial skeleton, and then
uses the conditions to produce the incidence report. This
 A (possibly partial) specication in the target notation. report annotates the skeleton with aspects to be taken into
 A (possibly empty) report of incidences discovered during account during refactoring. Notice how the refactoring process
translation. must also involve developers, since the learning ow sequen-
cing depends on a real-valued property. Therefore, the actual
We have followed this approach in the work reported by Sierra implementation of the Do Work activity must be revised by the
et al. (2007b), and Sierra and Fernandez-Valmayor (2007). The developers to produce an equivalent achievement instead.
rst of these papers describes an agenda-based importation Meanwhile, developers could decide to extend the domain-
system for IMS Content Packaging. The second one reports how specic linguistic support with mapping capabilities to facil-
a exible importation/exportation system is added to a system for itate this kind of ne-tuning.
building repositories of learning objects in specialized domains.
Also, as reported by Martnez-Ortiz et al. (2008b) the approach is
5.5. Deployment
a core feature of our /e-LDS environment. In this context
translation is conceived as a semi-automatic process, since
instructors can use the incidence report to refactor the original The deployment infrastructures that result from the language-
specication in terms of the new expressive means. Also, due to driven approach are amenable to being architected following the
the differences between the languages, the translation processes MVC pattern. Semantic rules in the languages operational
are not ensured to be complete, but only to produce satisfactory semantics are useful in order to structure the applications
approximations to the original specications. Finally, developers
also play an active role during refactoring. On one hand, they can 1
In the actual /e-LDS language these specications are not separated, since
change or ne-tune the underlying software infrastructure to the real language is able to deal with multiple roles.
ARTICLE IN PRESS

I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105 1103

Conditions:
grade_in_work 5
no hide S1
Do Work grade_in_work < 5
Assignment hide End
number to
Do Work select =1
Assignment work-is-successful
yes

S1
End
Exportation
Revise Work
Assignment
Do Work
Assignment
This activity is a Importation
clone of Do Work End
work-is-successful Assignment. It
no should be revised

yes #Do Work


Assignment(2)
New activity
created. It should Do Work
work-is-successful be completed In this fork only Assignment
yes 1 path must be
no
followed

#end1 This path must be


hidden when
grade_in_work 5
Revise Work End
Assignment
This activity must
be hidden when
End grade_in_work < 5

Fig. 12. (a) An example of the exportation process; (b) an example of the importation process.

to the learner, as well as the processing of the interaction


View Interaction results.
actions
 The stream-based communication between the controller and
the view is rened by function/method invocations. Input and
output data is communicated using appropriate learner
Presentation Learners responses and presentation commands.
commands responses  The controller is congured with a suitable set of control rules,
Controller Control which are implementations of the semantic rules. The
rules Computation computation state is in turn kept as a globally available
state structure which in turn points to information elements in the
model.
 Finally the model is an appropriate representation of a
Model description in the domain-specic language.
Specification
For more details regarding implementation strategies in the
context of the language-driven approach see the works of Sierra
et al. (2008a, 2008b).
Fig. 13. MVC organization of the nal deployment.

6. Conclusions and future work


controller. The languages structural characterization is in turn
useful to structuring the applications model. Finally, the structure In this paper we have presented how language engineering can
of the different streams involved in the semantics is useful to be applied in order to improve and systematize the development
identifying, for instance, the basic presentation commands and of e-learning applications. The core of this approach is the
user actions. In Fig. 13 we sketch the resulting organization: structural and operational specication of a domain-specic
language used to describe key aspects of the nal learning
 The view contains suitable interactions actions, which application. This specication is governed by well-established
are components governing the presentation of information language engineering methods, techniques and tools, which also
ARTICLE IN PRESS

1104 I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105

apply to several other enabled activities. In particular, we have Clement D, Despeyroux J, Despeyroux T, Hascoet L, Kahn G. Natural semantics on
illustrated how rapid prototyping, provision of author-oriented the computer. In: Fuchi K, Nivat M, editors. Proceedings of the FranceJapan AI
and CS symposium, Japan, 1986. p. 4989.
notations, verication of properties, connection with standards Comon H, Dauchet M, Gilleron R, Jacquemanrd F, Lugiez D, Loding C, et al. Tree
through exportation and importation processes, and deployment automata techniques and applications [Online]. 2007 October 17. 262p.
of the nal running applications can be achieved, driven by the Retrieved January 19, 2009 from: /http://tata.gforge.inria.fr/S.
Deursen A, Klint P, Visser J. Domain-specic languages: an annotated bibliography.
domain-specic language and its specication. As has been tested ACM SIGPLAN Notices 2000;35(6):2636.
in several developments, and as we have discussed throughout Emerson EA. Temporal and modal logic. In: Leeuwen JV, editor. Handbook of
the paper, this approach promotes an innovative way of theoretical computer science, vol. B: formal models and semantics. MA: MIT
Press; 1990. p. 9951072.
collaboration between instructors and developers during the
Fernandez-Manjon B, Fernandez-Valmayor A. Improving world wide web educa-
design and development of e-learning applications. tional uses promoting hypertext and standard general markup languages.
Currently we are enhancing and further systematizing the Education and Information Technologies 1997;2(3):193206.
approach in the context of our /e-LDS environment. We are also Friedman D, Wand M, Hayes CT. Essentials of programming languages, 2nd ed. MA:
MIT Press; 2001 389p.
experimenting with some aspects of the approach in different Friesen N. Interoperability and learning objects: an overview of e-Learning
application domains. In particular, we are applying the ideas standardization [Online]. Interdisciplinary Journal of Knowledge and Learning
regarding model-checking in the development of multi-agent Objects 2005;1:2331 Retrieved January 19, 2009 from /http://ijklo.org/
Volume1/v1p023-031Friesen.pdfS.
systems based on activity theory (Fuentes-Fernandez et al., 2007). Fuentes-Fernandez R, Gomez-Sanz J, Pavon J. Managing contradictions in multi-
As a future work we want to provide better meta-linguistic agent systems. IEICE Transactions on Information and Systems 2007;E90-D(8):
support to help in the maintenance and evolution of the different 124350.
Goodwill J, Hightower R. Professional jakarta struts. Indianapolis: Wiley; 2003
linguistics specications and by-products during the achievement 429p.
of the language design and the other enabled activities. Ibrahim B. Software engineering techniques for CAL. Education and Computing
1989;5(4):21522.
IMS. IMS learning design information model version 1.0 nal specication
[Online]. 2003a January 20. Retrieved January 19, 2009 from: /http://
www.imsglobal.org/learningdesign/ldv1p0/imsld_infov1p0.htmlS.
Acknowledgements IMS. IMS Simple sequencing information and behavior model version 1.0 nal
specication [Online]. 2003b March 3. Retrieved January 19, 2009 from:
/http://www.imsglobal.org/simplesequencing/ssv1p0/imsss_infov1p0.htmlS.
The Spanish Committees of Science and Innovation and of IMS. IMS Content packaging information model version 1.1.4 nal specication
Industry, Tourism and Commerce (Projects TIN2005-08788-C04- [Online]. 2004 October 4. Retrieved January 19, 2009 from: /http://
www.imsglobal.org/content/packaging/cpv1p1p4/imscp_infov1p1p4.htmlS.
01, Flexo-TSI-020301-2008-19 and TIN2007-68125-C02-01) and
IMS. IMS learner information package summary of changes version 1.0.1 nal
the Regional Government/Complutense University of Madrid specication [Online]. 2005 January 5. Retrieved January 19, 2009 from:
(research group 921340), as well as the Santander/UCM project /http://www.imsglobal.org/proles/lipv1p0p1/imslip_sumcv1p0p1.htmlS.
IMS. IMS question and test interoperability assessment test, section, and item
PR34/07-15865 and the EU Alfa project CID (II-0511-A) have
information model Version 2.1 public draft revision 2 specication [Online].
partially supported this work. 2006 June 8. Retrieved January 19, 2009 from: /http://www.imsglobal.org/
question/qtiv2p1pd2/imsqti_infov2p1pd2.htmlS.
Klint P, Lammel R, Verhoef C. Toward an engineering discipline for grammarware.
References
ACM Transactions on Software Engineering and Methodology 2005;14(3):
33180.
Aalst W, Kees H. Workow management: models, methods, and systems. MA: MIT Koper R, Manderveld J. Educational modelling language: modelling reusable, rich
Press; 2004 320p. and personalised units of learning. British Journal of Educational Technology
Aho AV, Lam MS, Sethi R, Ullman JD. Compilers: principles, techniques and tools, 2004;35(5):53751.
2nd ed. Boston, MA, USA: Addison-Wesley; 2007 1009p. Koper R, Olivier B. Representing the learning design of units of learning. Journal of
Allen CW. Overview and evolution of the ADDIE training system. Advances in Educational Technology & Society 2004;7(3):97111.
Developing Human Resources 2006;8(4):43041. Krasner GE, Pope TS. A description of the model-view-controller user interface
Baldoni M, Baroglio C, Brunkhorst I, Marengo E, Patti V. Reasoning-based paradigm in the smalltalk 80 system. Journal of Object Oriented Programming
curriculum sequencing and validation: integration in a service-oriented 1988;1(3):2649.
architecture. In: Duval E, Klamma R, Wolpers M, editors. Creating new learning Makoto M, Lee D, Mani M, Kawaguchi K. Taxonomy of XML schema languages
experiences on a global scale. 2nd European conference on technology using formal language theory. ACM Transactions on Internet Technology
enhanced learning (EC TEL 2007); 2007 September 1720, Crete, Greece. 2005;5(4):660704.
Berlin: Springer; 2007. p. 42631. Marriott K, Meyer B, Wittenburg KBA. Survey of visual language specication and
Baldoni M, Marengo E. Curriculum model checking: declarative representation and recognition. In: Marriot K, Meyer B, editors. Visual language theory. Berlin:
verication of properties. In: Duval E, Klamma R, Wolpers M, editors. Creating Springer; 1999. p. 585.
new learning experiences on a global scale. 2nd European conference on Martnez-Ortiz I, Moreno-Ger P, Sierra JL, Fernandez-Manjon B. Supporting the
technology enhanced learning (EC TEL 2007); 2007 September 1720, Crete, authoring and operationalization of educational modelling languages [Online].
Greece. Berlin: Springer; 2007. p. 4327. Journal of Universal Computer Science 2007a;13(7):93847 Retrieved January
Birbeck M, Kay M, Livingstone S, Mohr SF, Pinnock J, Loesgen B, et al. Professional 19, 2009 from: /http://dx.doi.org/10.3217/jucs-013-07-0938S.
XML, 2nd ed. Birmingham: Wrox Press; 2001 1159p. Martnez-Ortiz I, Moreno-Ger P, Sierra JL, Fernandez-Manjon B. Educational
Booch G, Rumbaugh J, Jacobson I. The unied modeling language user guide. modeling languages: a conceptual introduction and a high-level classication.
Reading, MA: Addison Wesley; 1998 482p. In: Fernandez-Manjon B, Sanchez-Perez JM, Gomez-Pulido JA, Vega-Rodrguez
Bork A. Personal computers for education. New York, NY, USA: Harper & Row MA, Bravo-Rodrguez J, editors. Computers and education: E-learning-from
Publishers, Inc.; 1985 179p. theory to practice. Berlin: Springer; 2007b. p. 2740.
Burch JR, Clarke EM, McMillan KL, Dill DL, Hwang LJ. Symbolic model checking: Martnez-Ortiz I, Moreno-Ger P, Sierra JL, Fernandez-Manjon B. A ow-oriented
10420 states and beyond. Information and Computation 1992;98(2):14270. visual language for learning designs. In: Li F, Zhao J, Shih TK, Lau R, Li Q,
Burgos D, Moreno-Ger P, Sierra JL, Fernandez-Manjon B, Koper R. Authoring game- McLeod D, editors. Advances in web based learning-ICWL 2008. 7th
based adaptive units of learning with IMS learning design and /e-AdventureS. International conference on web-based learning (ICWL 2008). 2008 August
International Journal of Learning Technology 2007a;3(3):25268. 2022, Jinhua, China. Berlin: Springer; 2008a. p. 48696.
Burgos D, Tattersall C, Koper R. Representing adaptive and adaptable units of Martnez-Ortiz I, Sierra JL, Fernandez-Manjon B. Enhancing reusability of IMS LD
learning. How to model personalized eLearning in IMS learning design. In: units of learning: the e-LD approach. In: Proceedings of 8th IEEE international
Fernandez-Manjon B, Sanchez-Perez JM, Gomez-Pulido JA, Vega-Rodrguez conference on advanced learning technologies (ICALT 2008). 2008 July15,
MA, Bravo-Rodrguez J, editors. Computers and education: E-learning-from Santander, Spain. Washington DC, USA: IEEE Computer Society; 2008b.
theory to practice. Berlin: Springer; 2007b. p. 4156. p. 4024.
Cimatti A, Clarker E, Giunchiglia F, Roveri M. NUSMV: a new symbolic model Martnez-Ortiz I, Sierra JL, Fernandez-Manjon B. Translating e-learning ow-
checker. International Journal on Software Tools for Technology Transfer oriented activity sequencing descriptions into rule-based designs. In: Proceed-
2000;2(4):41025. ings of the 6th international conference on information technology: new
Clarke EM, Emerson EA, Sistla AP. Automatic verication of nite-state concurrent generations (ITNG 2009). 2009 April 2729, Las Vegas, USA. Washington DC,
systems using temporal logic specications. ACM Transactions on Program- USA: IEEE Computer Society; Forthcoming 2009.
ming Languages and Systems 1986;8(2):24463. Mernik M, Heering J, Sloane AM. When and how to develop domain-specic
Clarke EM, Grumberg O, Peled DA. Model checking. MA: MIT Press; 2000 314p. languages. ACM Computing Surveys 2005;37(4):31644.
ARTICLE IN PRESS

I. Martnez-Ortiz et al. / Journal of Network and Computer Applications 32 (2009) 10921105 1105

Molenda M. In search of the elusive ADDIE model. Performance Improvement Sierra JL, Fernandez-Valmayor A, Fernandez-Manjon B. A document-oriented
Journal 2003;42(5):346. paradigm for the construction of content-intensive applications. Computer
Moreno-Ger P, Martnez-Ortiz I, Sierra JL, Fernandez-Manjon B. A descriptive Journal 2006b;49(5):56284.
markup approach to facilitate the production of e learning contents. In: Sierra JL, Fernandez-Valmayor A, Guinea M, Hernanz H. From research resources to
Proceedings of the 6th international conference on advanced learning virtual objects: process model and virtualization experiences. Journal of
technologies (ICALT 2006). 2006 July 57, Kerkrade, The Netherlands. Educational Technology & Society 2006c;9(3):5668.
Washington DC, USA: IEEE Computer Society; 2006. p. 1921. Sierra JL, Fernandez-Valmayor A, Fernandez-Manjon B. How to prototype an
Moreno-Ger P, Sierra JL, Martnez-Ortiz I, Fernandez-Manjon B. A documental educational modeling language. In: Proceedings of the IX International
approach to adventure game development. Science of Computer Programming symposium on computers in education. 2007 November 1416, Porto,
2007;67(1):331. Portugal, 2007a. p. 97102.
Moreno-Ger P, Fuentes-Fernandez R, Sierra JL, Fernandez-Manjon B. Model- Sierra JL, Fernandez-Valmayor A. Universalizing chasqui repositories with a exible
checking for adventure videogames. Information and Software Technology importation/exportation system. In: Fernandez-Manjon B, Sanchez-Perez JM,
2009;51(3):56480. Gomez-Pulido JA, Vega-Rodrguez MA, Bravo-Rodrguez J, editors. Computers
Mosses PD. Modular structural operational semantics. Journal of Logic and and education: E-learning-from theory to practice. Berlin: Springer; 2007.
Algebraic Programming 2004;6061:195228. p. 99110.
Mosses PD. Formal semantics of programming languages: an overview. Electronic Sierra JL, Moreno-Ger P, Martnez-Ortiz I, Fernandez-Manjon B. A highly
Notes in Theoretical Computer Science 2006;148(1):4173. modular and extensible architecture for an integrated IMS-based authoring
Paakki J. Attribute grammar paradigmsA high-level methodology in language system: The /e-AulaS experience. Software-Practice & Experience 2007b;
implementation. ACM Computing Surveys 1995;27(2):196255. 37(4):44161.
Parr T. The denitive ANTLR reference: building domain-specic languages. Sierra JL, Fernandez-Manjon B, Fernandez-Valmayor A. A language-driven
Pragmatic Bookshelf; 2007 376p. approach for the design of interactive applications. Interacting with Computers
Pereira FCN, Warren DHD. Denite clause grammars for language analysis-a survey 2008a;20(1):11227.
of the formalism and a comparison with augmented transition networks. Sierra JL, Fernandez-Manjon B, Fernandez-Valmayor A. Language-driven develop-
Articial Intelligence 1980;13(3):23178. ment of web-based learning applications. In: Leung H, Li F, Lau F, Li Q, editors.
Plotkin GD. A structural approach to operational semantics. Journal of Logic and Advances in web based learningICWL 2007. 6th International conference on
Algebraic Programming 2004;6061:17139. web-based learning, 2007 August 1517, Edinburgh, United Kingdom. Berlin:
Sarasa-Cabezuelo A, Navarro-Iborra A, Sierra JL, Fernandez-Valmayor A. Building a Springer; 2008b. p. 52031.
syntax directed processing environment for XML documents by combining Sierra JL, Fernandez-Valmayor A, Fernandez-Manjon B. From documents to
SAX and JavaCC. In: Proceedings of the 3rd international workshop on XML applications using markup languages. IEEE Software 2008c;25(2):6876.
Data Management Tools & Techniques (XANTEC 2008) - DEXA 2008 work- Stahl T, Voelter M, Czarnecki K. Model-driven software development, technology,
shops. 2008 September 15, Turin, Italy. Washington DC, USA: IEEE Computer engineering, management. Chichester, West Sussex, UK: Wiley; 2006
Society; 2008. p. 25660. 444p.
Sethi R. Programming languages: concepts and construct. Boston, MA, USA: Stancheld S. ANTXR: easy XML parsing, based on the ANLR parser generator
Addison Wesley; 1996 640p. [Online]. Retrieved January 19, 2009 from: /http://javadude.com/tools/antxr/
Sierra JL, Fernandez-Valmayor A, Guinea M. Exploiting author-designed domain- index.htmlS.
specic descriptive markup languages in the production of learning content. Steinber D, Budinsky F, Paternostro M, Merks E. EMF: eclipse modeling framework,
In: Proceedings of the 6th international conference on advanced learning 2nd ed. Boston, MA, USA: Addisson-Wesley; 2003 744p.
technologies (ICALT 2006). 2006 July 57, Kerkrade, The Netherlands. Sterling L, Shapiro E. The art of prolog, second edition: advanced programming
Washington DC, USA: IEEE Computer Society; 2006a. p. 51519. techniques. MA, USA: MIT Press; 1994 549p.

You might also like