=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== https://ceur-ws.org/Vol-153/paper4.pdf
            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
           <>       <>       <