=Paper=
{{Paper
|id=Vol-153/paper-4
|storemode=property
|title=Defining a UML Profile for Web-based Educational Applications
|pdfUrl=https://ceur-ws.org/Vol-153/paper4.pdf
|volume=Vol-153
|dblpUrl=https://dblp.org/rec/conf/caise/PapasalourosR05
}}
==Defining a UML Profile for Web-based Educational Applications==
Defining a UML Profile for Web–based Educational Applications
Andreas Papasalouros Symeon Retalis
National Technical University of Athens University of Piraeus
Software Engineering Laboratory 80 Karaoli & Dimitriou,
9 Heroon Polytechneiou, 15780, Zografou, Greece 18534, Piraeus, Greece
andpapas@softlab.ntua.gr retal@unipi.gr
Abstract document the decisions concerning various aspects of such
applications, from the implementation of pedagogic and
This paper presents a UML profile for web–based educa- instructional design to subtle technical decisions of such
tional applications. The definition of the profile is provided applications and to facilitate the communication between
by applying a certain formalism which is based on the meta- the members of usually heterogeneous development teams
modeling architecture of the UML language. An example is there is a need for a design model. Experience from tradi-
given throughout the paper for the illustration of an instan- tional software engineering has shown that the adoption use
tiated model based on the profile. of such a model in the context of a systematic process for
the development is beneficial for the quality of the product,
namely educational applications and the efficient manage-
1. Introduction ment of the resources, time and effort. Thus, a number of
modeling approaches for web–based applications have been
The World Wide Web is becoming the basis of ubiqui- proposed, e.g. OOHDM [11], RMM [4], WebML [2]. Fur-
tous, learner–centered learning. Time and space indepen- thermore, specific models for educational applications exist.
dence and the ability for multiple representations of learn- EML [5], which has evolved to the Learning Design speci-
ing material due to enhanced multimedia presentation capa- fication [3] proposes a modeling formalism for educational
bilities are among the characteristics of the Web that enforce environments. EML does not aim to support the design but
its potential as a medium for education and training. rather to provide a conceptual framework for the description
Web–based Educational Applications (WEA) are impor- of educational settings as a set of “units of study”. LMML
tant components for web–based learning. By the term ‘edu- [12] is another modeling language for educational content,
cational application’ we mean properly structured and pre- which can be used for design in this domain.
sented hypermedia material composed of educational re-
sources and delivered through the web. The presentation
of these resources is usually performed by specialized run-
time environments, web applications or integrated systems This paper presents a formal definition of a modeling
for the support of learning through the web called Learning language for design models for WEA. This language is de-
Management Systems. An trivial case of an educational ap- fined as a sub–set, i.e. a profile of the Unified Modeling
plication is an electronic book containing resources as web Language (UML), a de facto standard for the modeling of
pages with educational content. The delivery of resource software systems. It focuses on the formalism used for the
can be static or dynamic, that is, adapted to the user in- definition of this new modeling language and not in the lan-
teraction with the application, though the latter case is not guage itself, which is described elsewhere [10]. The pur-
considered in this paper. pose of the paper is to provide an overview and not a full
The development of WEA is a complex task. It involves specification of this language. The structure of the paper is
people with different background such as software devel- as follows: In the next section a discussion of UML profil-
opers, web application experts, content developers, domain ing and the approach adopted for defining this profile is pre-
experts, instructional designers, etc. Furthermore, WEA are sented. Next, the modeling language for WEA is described
complex dynamic web–based applications with presenta- together with the definition of the profile for this language.
tional, behavioral, architectural aspects. In order to effec- The paper ends with a discussion of the consequences of
tively capture and specify the various aspects of a WEA, to formal modeling and some extensions of this work.
2. UML metamodels and profiles Our purpose is to define a language for describing mod-
els for the application domain of web-based educational ap-
The proposed modeling language is based on the UML. plications. The structure of these models and the concepts
It is an extension of the UML by introducing new modeling in use are designated by the application domain under con-
elements and specified as a UML Profile. According to the sideration. As mentioned above, this language is defined
UML specification a UML profile is “a coherent set of ex- by means of a UML profile. The establishment of a UML
tensions, defined for specific purposes” [9]. More generally, profile is provided by extending the metamodel layer in the
profiling is the customization of a general purpose technol- four–layered architecture. This extension is provided by us-
ogy for a particular domain [6]. This is a process involving ing the standard extension mechanisms of UML, namely
the elicitation of relevant only elements of the generic tech- stereotypes, tagged values and constraints. The basic ex-
nology and the extension of the semantics of these elements tension mechanism, stereotypes, extends the existing UML
towards the particular domain of application. In this way, elements, belonging to the metamodel layer, thus widening
the generic technology becomes more efficient and easy to the vocabulary of the language. However, the mere defini-
apply. tion of the UML extension mechanisms mentioned before
The UML is a visual language. The definition of the lan- does not provide a complete Profile, adequate for model-
guage itself is based on a ‘Four–Layer Metamodel Archi- ing a new domain by capturing both its concepts and their
tecture’ [9]. According to this approach, the definition of relationships in a consistent and meaningful manner. The
the language is structured in four layers: Meta–metamodel, approach that we follow for defining a profile for WEA is
metamodel, model and user objects. Each layer acts as a based on the UML Profile for CORBA Specification [8].
meta–language for the definition of the next layer. From According to the latter, a profile consists of the following:
another perspective, each layer is an instance of the previ-
ous one. • The extension of a subset of the UML metamodel with
new stereotypes and the assignment of these stereo-
• The meta–metamodel layer provides the abstract con- types to existing UML (metamodel) elements. This
structs for the definition of the metamodel layer, e.g. constitutes a “Virtual Metamodel”.
MetaClasses, MetaAttributes, MetaOperations, etc.
The definition of this layer is based on the Meta– • The definition of additional of well–formedness rules,
Object Facility (MOF) [7] which is a specification for beyond these defined in the UML metamodel, for the
the definition and interchange of metamodels. new modeling elements. These rules impose additional
constraints to the new elements so as to express the re-
• The metamodel layer provides a language for specify- quirements of the particular domain. These rules refine
ing actual models. Examples of metamodel elements and do not contradict with the rules that apply to their
are Classes, Attributes, Operations, etc. Metamodel base metamodel elements, so as not to alter their se-
elements are represented as (meta) classes. The meta- mantics.
model contains a set of UML class diagrams which
contain metaclasses connected with association and • The specification of the semantics of the model in nat-
generalisation relationships. Furthermore, for the def- ural language.
inition of valid models additional rules and constraints
must be provided. These rules and constraints are ap- The well-formedness rules for the elements of the pro-
plied as “well–formedness” rules, which are also part file are defined as constraints expressed in the OCL and,
of the UML metamodel. These rules are expressed in a in few occasions, in natural language. OCL is a language
Object Constraint Language (OCL) [13], which is also for the expression of constraints in UML model elements.
part of the UML specification, and, in few occasions, As mentioned before, new constraints are defined for the
in natural language. new elements defined in the profile. The well–formedness
• The model layer contains instances of the modeling el- rules expressed using OCL invariants. An invariant expres-
ements of the metamodel which are actually models of sion applies to a particular context. The context in which
a particular application or domain, for example a class an invariant condition applies is denoted by the following
Course belongs to the model of a learning system and expression which is in the start of every invariant:
it is an instance of the Class element of the metamodel
layer. context [Element Name] inv:
• Finally, the user objects layer defines specific informa- where [Element Name] is the name of the element
tion for the application domain into consideration, for under consideration to which the invariant applies. In
example the particular state of a Course class instance. order to define these rules proper OCL operations are
2
needed. The operations used are OCL ‘built–in’ opera- 3.1. The Conceptual Model
tions, operations defined in specification documents such
as [9] and [8] or new operations defined for the purpose The Conceptual Model captures design decisions during
of defining the profile. These operations are presented Instructional Design. These decisions are described as a
next. The OCL expressions which define these opera- hierarchy of learning activity and associated resources. An
tions are referring to the UML Relationships metamodel. example of such a model is illustrated in Figure 1.
The aggregatedClasses operation returns the set of
<>
classes (classifiers in the UML metamodel more generic ter- HTML Lessons
minology) that are connected with the class under consider- - title = Introduction to Web Technologies
ation through composite aggregation associations:
<>
Internet - WWW <>
HTML Structure
aggregatedClasses: Set(Classifier) title = Internet and WWW Introduction
- title = Structure and Syntax of HTML
type = Information
aggregatedClasses = - type = Information
self.associations->
select(a | a.connection-> <> <>
HTMLStructureTheory
Internet
select (ae | - title = Internet Basics title = HTML Structure and Syntax Description
- type = Information type = Information
ae.participant = self
and
<> <>
ae.aggregation = <> WWW HTML Excercise
- title = WWW Basics - title = An examle of HTML tags
#composite))-> - type = Information - type = Excercise
collect (ae | <>
ae.connection-> <>
theory02 <>
select(ae | - url = Content/theory02.html TagsExcercise
- mime-type = text/html
ae.participant <> self)-> - url = Content/example05.html
- mime-type = text/html
collect(p |
p.participant)).asSet
Figure 1. Example of a Conceptual Model
The aggregateClasses operation returns a set of
Classes that are at the opposite side of aggregation asso- The virtual metamodel for the conceptual model is
ciations, i.e. they contain the particular class: shown in Figure 2. In this figure the Conceptual Model
is shown as a class with stereotype named stereotype.
aggregateClasses: Set(Classifier) This (meta)class is connected with a dependency relation-
aggregateClasses = ship with stereotype baseElement with a base class
self.associations-> named ModelManagement::Model. This configura-
select(a | a.connection-> tion denotes the fact that the element Conceptual Model
select (ae | ‘instantiates’ the element Model of the UML metamodel,
ae.participant = self ))-> i.e. it is a Model extended by stereotyping. The pre-
collect (ae | fix ModelManagement states the fact that the meta-
ae.connection-> class Model belongs to the ModelManagement pack-
select(ae | age of the UML metamodel. Figure 3 shows the el-
ae.participant <> self ements of the Conceptual Model, namely Activity,
and Composite Activity, and Resource, which are
ae.aggregation = stereotyped classes. Abstract Activity is a generic
#composite))-> type of activity defined as an abstract metaclass, which
collect(p | means that Abstract Activity does not appear as a
p.participant)).asSet modeling element. The subclassing mechanism is used for
organisation purposes. Rules and constraints applied to su-
perclasses are inherited to the subclasses, unless overrid-
3. Description of the profile for WEA den by new rules applied to the descendant classes. Com-
posite activities contain other activities by connecting with
In the next sections the following sub-models are defined them with aggregate associations. In this way, hierarchies
as UML Packages: Conceptual Model, Navigation Model of activities are defined in the Conceptual Model. A special
and User Interface Model. type of composite activity with stereotype Courseware
3
is the root in the activity hierarchy. In addition, atomic Core::Association
activities are related with one or more Resources with
AssocResource associations (See Figure 4).
<>
ModelManagement::Model
<>
AssocResource
<>
Figure 4. Conceptual Model Associations Vir-
<> tual Metamodel
ConceptualModel
context AbstractActivity inv:
Figure 2. Conceptual Virtual Metamodel self.features->
select(a |
a.oclIsKindOf(Attribute)
Core::Class and
a.name = ’name’).
size = 1
<> and
<>
self.features->
select(a |
<> <>
Abstract Activity Resource a.oclIsKindOf(Attribute)
and
a.name=’type’).
size = 1
<> <>
Activity Composite Activity • A Resource has a mime-type and a url attribute.
The expression for this constraint is syntactically sim-
ilar to the above and it is omitted.
<> • Composite Activities are associated (through aggrega-
Courseware tion associations) with activities, either atomic either
composite.
Figure 3. Conceptual Model Classes Virtual context CompositeActivity inv:
Metamodel self.aggregatedClasses->forAll(c |
c.isStereokinded("AbstractActivity"))
• The Conceptual Model contains only Activity and Re- • Atomic activities do not contain other classes through
source classes aggregation associations.
context ConceptualModel inv: context Activity inv:
self.ownedElement->forAll(e | self.aggregatedClasses.isEmpty
e.oclIsKindOf(Class)
implies ( • A Courseware is not contained by any other classes
e.isStereokinded("AbstractActivity") through aggregation associations.
or
e.isStereokinded("Resource"))
context Courseware inv:
• Abstract Activities have a name and a type attribute. self.aggregateClasses.isEmpty
4
• AssocResource associations connect one Again, Abstract Node is an abstraction of a composite
Resource stereotyped class with a Concept or atomic Node. The structure of the nodes is hierarchi-
stereotyped class. cal, as the Conceptual Model. In addition, Link elements
can connect nodes of the navigation model. Note that these
context AssocResource inv: links are associative links that define arbitrary navigation
self.connection.size = 2 between nodes of the educational hypertext. Besides these,
and implicit structural links exist. These links denote the tran-
self.connection.participant-> sitions to the previous or next node in the traversal of the
exists(c | hierarchical structure of nodes or the selection of a certain
c.isStereokinded("Activity")) node. The presentation of these links is supported by the
and run–time system which delivers the educational application.
exists(c | Although both conceptual and navigational model diagrams
c.isStereokinded("Resource")) are hierarchical, the corresponding graphs are not neces-
sarily isomorphic. Nodes are realisations in the navigation
3.2. Navigation Model space of one or more learning activities. Thus, one node
can be related to one or more activities. Figure 5 illustrates
The Navigation Model captures the design decisions an example of a Navigation Structure Model, which is an
concerning the definition of the actual web pages of the instantiation of the above virtual metamodels. The trace re-
learning content, as well as the links that facilitate the navi- lationships between elements of this diagram and the Con-
gation through these pages. ceptual Model are not depicted, since they are obvious from
the names of the elements.
<>
HTMLLessons ModelManagement::Model
- title = Educational Content on HTML
<>
InternetWWW <>
- title = Internet and WWW
<> <>
HTMLStructure NavigationStructureModel
- title = Structure of HTML documents
<> <>
Figure 6. Conceptual Virtual Metamodel
Internet WWW
- title = Introduction to Internet - title = Introduction tthe WWW
The following constraints are applied to elements of the
Navigation Structure Model:
Figure 5. Example of a Navigation Structure • As mentioned above, the structure of nodes is hier-
Model archical, as is the Conceptual Model. Thus, simi-
lar constraints apply to its elements as regards to ag-
gregation. A Composite Node stereotyped class
The navigation model is separated with two sub-models:
is connected through aggregation associations with
The Navigation Structure Model deals with the definition
Abstract Node classes, Content class has no
of the actual web pages, the links that facilitate navigation
aggregate classes, i.e. it is not contained by any other
as well as the definition of the actual content of these pages.
node, and, finally, atomic nodes do not contain other
The Navigation Behavior Model defines the dynamic, adap-
nodes. The OCL expressions for these rules are omit-
tive behavior of the WEA. In this version of the profile
ted for the sake of brevity.
deals with static applications only so the Behavior Model
is not considered. The Navigation Structure Model de- • The Navigation Model contains only
fines the (static) navigation structure of a WEA by means Abstract Node classes.
of the following elements: Content, which is a top-level
container, Composite Node, which is a composite ele- • A Link stereotyped association connects Nodes. A
ments containing other elements, such as a chapter in an link represents a unidirectional link from a source to
electronic book, Nodes, which are the actual web pages. one or more destinations. It denotes the direction of
5
Core::Class ae.isNavigable = false).
size = 1
<>
• Abstract Node elements have an attribute named
title.
<>
Abstract Node
• An Abstract Node is related to one or more
Abstract Activity elements of the Activity
Model with a Trace dependency. This is a standard
UML element, a special kind of relationship which de-
<> <> picts dependencies model elements between different
Node Composite
models. This constraint is provided in natural language
only.
<>
Content
3.3. User Interface Model
The User Interface Model deals with the presentation
aspects of the elements defined in the Navigation Model
Figure 7. Navigation Model Classes Virtual i.e. their layout and style. In particular, nodes of the
Metamodel Navigation Model are associated with an element of the
User Interface model. Multiple navigation elements can
be associated with the same presentation specification, thus
Core::Association promoting uniformity and maintenability of the user in-
terface. The User Interface Model elements have their
<> counterparts in corresponding elements of web technology
specifications, namely HTML and Cascading StyleSheets
<> (CSS) elements. The basic element in this model is named
Link Template. A template contains the following stereo-
typed UML classes with aggregation associations: Html,
that represents HTML elements or aggregations of HTML
elements and Css that represent Cascading Style Sheet
Figure 8. Navigation Model Associations Vir- classes. Attributes of these classes and their values are at-
tual Metamodel tributes and values of CSS elements. Elements defined in
the User Interface model are related with Trace dependen-
cies to particular nodes of the Navigation Model thus as-
a link in the following way: In the UML metamodel signing specific presentation attributes to these nodes, as
an association contains two or more association ends. well to their children in the navigation structure hierarchy.
These ends have a navigability attribute. Navigability No metamodel diagrams are shown, since they are similar
is graphically depicted with an arrow at the navigable to those of the Conceptual and Navigation Structure mod-
end of the association. The navigability of the associa- els. Figure 9 shows an example of a User Interface Model
tion end, that is the direction of the arrow in the visual for the HTML educational application under consideration.
presentation of the association, denotes the direction The trace relationship between the template and the root ele-
of the link. Thus, there is exactly one end which is ment of the navigational model means that all nodes (pages)
not navigable, which corresponds to the “source” of share the same template.
the link and one or more navigable ends, which corre- The following constraints are applied to the User Inter-
spond to the “destination” of the link. face Model elements:
context Link inv: • The Presentation Model contains Template, Css
self.connection.participant-> and Html classes.
forAll( p | • Template classes contain, through composite aggre-
p.isStereokinded("Node")) gations, Css and Html elements.
and
self.connecions-> • Template classes are connected with Abstract Nodes
select(ae | of the Navigation Model through Trace relationships.
6
<> <> <> 5. Acknowledgements
HTMLLessons CourseTemplate
This work was partially supported by the “TELL: To-
wards effective network supported collaborative learning”
<> <>
project which is partly sponsored by the European Commis-
H1 P sion under e-learning program (ref num: 2003-4721 TELL).
- font-family = Arial - font-family = Verdana, Arial, Helvetica, sans-serif
- font-size = 14pt - font-size = 12pt
- font-weight = bold
References
[1] L. Baresi, F. Garzotto, L. Mainetti, and P. Paolini. Meta-
Figure 9. Example of a User Interface Model modeling techniques meet web application design tools. In
R.-D. Kutsche and H. Weber, editors, FASE, volume 2306
of Lecture Notes in Computer Science, pages 294–307.
4. Discussion Springer, 2002.
[2] S. Ceri, P. Fraternali, and A. Bongio. Web Modeling Lan-
The definition of a Design Model can facilitate the pro- guage (WebML): a modeling language for designing web
cess of developing software projects, regardless of the do- sites. Computer Networks, 33(1-6):137–157, 2000.
main of the application. This facilitation is even more im- [3] IMS. IMS Learning Design Information Model, Version 1.0
portant in fields where the people involved in the develop- Final Specification, Jan. 2003.
ment process come from different backgrounds so there is [4] T. Isakowitz, E. A. Stohr, and P. Balasubramanian. RMM:
A methodology for structured hypermedia design. Commu-
an increased need for a means of communicating design de-
nications of the ACM, 38(8):34–44, Aug. 1995.
cisions. However, this improvement is often confuted by [5] R. Koper. Modeling Units of Study from a Pedagogical Per-
the lack of formalism in the definition of such models. This spective: The Pedagogical Meta-Model Behind EML, 2001.
lack of formalism has certain negative aspects: [6] R. Malveau and T. J. Mowbray. Software Architect Boot-
camp. Prentice Hall PTR, Upper Saddle River, NJ, 2001.
• Poorly defined models, which are based on the intu- [7] OMG. Meta Object Facility (MOF) Specification, Version
ition of the designers rather than in predefined ‘rules’. 1.4, Apr. 2002.
[8] OMG. UML Profile for CORBA, Version 1.0, Apr. 2002.
• It is impossible to automate the authoring of models by [9] OMG. Unified Modeling Language Specification, Version
means of specific CASE tools. 1.5, Mar. 2003.
[10] S. Retalis and A. Papasalouros. Designing and automati-
• It is impossible to automate the process of automatic cally generating educational adaptive hypermedia applica-
code generation based on the models created (forward tions. Educational Technology & Society, to appear.
engineering). [11] D. Schwabe and G. Rossi. The object-oriented hypermedia
design model. Communications of the ACM, 38(8):45–46,
Rigor definitions of modeling languages alleviates the 1995.
aforementioned problems. A definition of a modeling lan- [12] C. Süß and B. Freitag. Metamodeling for web-based
guage is usually provided by means of a metamodel, i.e. teachware management. In P. P. Chen, D. W. Embley,
a model of the set of all valid models in the language. J. Kouloumdjian, S. W. Liddle, and J. F. Roddick, editors,
Such a MOF-based metamodel for web application design Advances in Conceptual Modeling: ER ’99 Workshops on
is proposed in [1]. Furthermore, EML and LMML pre- Evolution and Change in Data Management, Reverse En-
sented earlier, are defined by means of a metamodel, i.e. gineering in Information Systems, and the World Wide Web
a normal UML model that describes the modeling primi- and Conceptual Modeling, Paris, France, November 15-18,
1999, Proceedings, volume 1727 of Lecture Notes in Com-
tives of the language. Besides modeling primitives, EML
puter Science, pages 360–373. Springer, 1999.
and LMML provide an XML definition and provide appro- [13] J. Warmer and A. Kleppe. The Object Constraint Language:
priate schemas, as an additional formalism. Conversely, our Precise Modeling with UML. Addison Wesley, Reading,
approach is based on the extension mechanisms of UML MA, 1999.
for the creation of a profile, thus it does not define a new
metamodel but rather refines the existing metamodel of the
language using a specific formalism.
We are in the process of extending the definition of the
profile so as to include dynamic features of WEA. Further-
more, this profile was defined based on version 1.5 of the
UML and OCL. We intend to update it by using the version
2.0 of these languages.
7