Software Engineering II - PowerPoint PPT Presentation

About This Presentation
Title:

Software Engineering II

Description:

Software Engineering II di Simon Lepore 22/05/2002 Index Index Terminology Scope What is Metamodeling - Metamodeling - Level architectures - Modeling levels ... – PowerPoint PPT presentation

Number of Views:89
Avg rating:3.0/5.0
Slides: 77
Provided by: Ferdinan4
Category:

less

Transcript and Presenter's Notes

Title: Software Engineering II


1
Software Engineering II

Metamodeling
di
Simon Lepore
22/05/2002
2
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
3
Terminology
  • Model A semantically closed abstraction of a
    system
  • Meta-model A semantic information model
  • Meta-metamodel The language in which to express
  • meta-models
  • Metamodeling Is an activity, and this
    activity produces
  • meta-models

22/05/2002
4
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
5
Scope
  • An attempt at describing the world around us for
  • a particular purpose
  • As a schema for data that needs to be exchanged
    or
  • that needs to be stored
  • As a language that supports a particular
    methodology or process(the original purpose of
    the UML meta-model)
  • As a language to make information on the web
  • more semantic

22/05/2002
6
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
7
What is Metamodeling
  • To express kinds of things in order to model them
  • in a particular system
  • To define our concepts in terms of other concepts
  • It expresses various models that it wants to
    define
  • (the RELATIONSHIP are instances of E-R
    diagram)
  • Then model dictate the way in which the next
    level
  • would be expressed

22/05/2002
8
What is Metamodeling
  • Some traditional types of users for meta-models
  • CASE tool vendor / modeling tool vendor
  • In essence, what the chief architect does is
    extending the meta-model.The data structures in
    the tool are
  • the physical representation of the meta-model.
  • Repository vendor
  • For example, you may sell a repository (or
    database, or directory, ...) to customers who
    want to store
  • software/systems development information in it.
    They may call it "meta-data".
  • Systems integrator
  • One the first activities in such a project is to
    understand the meaning of the data in all the
  • systems that need to be integrated which data
    has the same meaning, which data is
  • complementary, and how everything relates.
    Performing this analysis yields a semantic
  • model for the types of data to be integrated, in
    other words, a meta-model.
  • End user
  • Functionality is one aspect ("this one has a nice
    shiny button over here"), but the supported
    meta-model
  • is even more important. After all, the meta-model
    determines what you can express with the software

22/05/2002
9
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
10
Metamodeling
meta-metamodel level
Obj.Type

metamodel level
ProcessType
Attribute Type
EntityType
model level

Product
Employee

data process level
Bob
Betty
22/05/2002
11
Metamodeling
  • A metamodel is a model of models.
  • It contains meta-obj. type.
  • Object types whose istances are also object
    types.

22/05/2002
12
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Maintaining modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
13
Levels
  • Each level is supposed to define the basis for
  • instantiating the next
  • The number of the levels adapted depends on
  • the points of view.
  • OMG organized hierarchies in four levels
  • meta-meta-model level description of the
    structure and
  • semantics of meta-meta-data
  • meta-model level the descriptions (i.e.,
    meta-meta-data) that define the structure and
    semantics of meta-data
  • model level meta-data that describes
    information
  • user level the information that we wish to
    describe

22/05/2002
14
Levels
Obj.Type

Process Type
meta-model level
Attribute Type
Entity Type

model level
Person
Inventory clerk s view
Product

data process level
model level
BOTurnt
SonyCDp
Salepersons view
data process level
V45728
?
V45729
22/05/2002
15
Levels
  • Metamodeling can define many levels of types
    whose
  • instances are also types
  • Two various needs of approach salespersons
  • object is the clerks object type

22/05/2002
16
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
17
Modeling levels
  • For change the kinds of object types that can be
    defined
  • at the model level, a metamodel must be
    modified.
  • These rigid structures are implemented in the
    most
  • CASEtool this is a problem

22/05/2002
18
Modeling levels
  • Most CASE tools maintain models and metamodels
  • as physically separate levels.

Metamodel
Model
defines Instances of
Data and process
defines Instances of
22/05/2002
19
Modeling levels
  • Problem solution

Model level
Metamodel level
Object
Object type
Model level
Metamodel level
Object type is now an Object and Object is an
Object type
22/05/2002
20
Modeling levels
  • This cannot be supported by most CASE tools.
  • Secondly, modifying separately maintained
    metamodels
  • is often impossible.
  • No metamodel customization features from sw
    vendors
  • or may consider the contents of its metamodel
    to be
  • proprietary.
  • Exist implicity as program code(difficult to
    modify).

22/05/2002
21
Modeling levels
  • Level modeling falters when the bottom level also
  • instances(such as exsample)and so on
  • The ability to instantiate at the model level
    were
  • allowed, any number of levels, could be
    defined within it
  • This ability could be supported by defining
    Object
  • is an instance of one or more Object types.

22/05/2002
22
Modeling levels
Object Type
  • Each Object type classifies
  • any number of Objects.
  • Each Object instance is
  • an instance of one or more
  • Object type.

classifies
Is an instance of
Object
22/05/2002
23
Modeling levels
  • In other worlds, by defining the is an instanced
    of
  • mapping at the metamodel level, all levels
    can have
  • types and instances.
  • Only difference between the model and the
    metamodel
  • levels is that one has instances of the
    other.

22/05/2002
24
Modeling levels
Obj.Type

Process Type
Is an instances of
Attribute Type
Entity Type

Is an instances of
Person
Product

Is an instances of
BOTurnt
SonyCDp
V45728
Is an instances of
V45729
22/05/2002
25
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
26
Modeling in one framework
  • Modeling in rigid, physically separate levels can
    create
  • problems.
  • These can remedied by modeling within a single
    frame-
  • work instead.
  • Model maintenance is performed on one coherent
  • and integrated model, not fragmented by
    levels.
  • Object type and instances share the same
  • model.
  • Any numbers of instantiates levels is possible.
  • since a rigid number of levels is not
    required.

22/05/2002
27
Modeling in one framework
  • A single framework model can be used to decribe
    it self
  • If a model is sufficently descriptive, it should
    be able to
  • specify its own object types.
  • A small subset of the model can then describe a
    much
  • larger subset and so on.
  • If a model can be a metamodel to describe itself,
    it can
  • be a metamodel to describe other models.

22/05/2002
28
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
29
Kernel Metamodel
  • An approach of this kind can both describe
    different
  • models and provide a common framework for
    expressing
  • and comparing models.

Kerenel metamodel
22/05/2002
30
Kernel Metamodel
  • The kernel metamoddel with which the model
    describes
  • itdelf would contain such primitive obj
    types as Object
  • Type, Object, Relation and Function.
  • Also contain Operation, Trigger Rule, Control-
  • Condition for support processing
    requirements.
  • These primitives, can be used to form
    foundational
  • construct for other structures.

22/05/2002
31
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
32
In last
  • In a single framework model, the boundaries are
    non-
  • existent.
  • The only reason for inhibiting changes to the
    kernel meta-
  • level is to maintain standardization.
  • The standards for the future are most important
    for the
  • interoperability

22/05/2002
33
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
34
MOF(Meta Object Facility)
  • It is a Standard of Object Management Group(OMG).
  • In September of 1997, finalized a standard.
  • MOF is the M3 levels (meta-meta-model)
  • Is Object Oriented.

Meta-meta-model
M3
Meta-model
M2
Model
M1
Object
M0
22/05/2002
35
Four levels(OMG)
  • M0 it represents the data busines level
  • (client n 1234.)used from DBMS, SO.
  • M1(model) describes the structure of M0 level
  • (identifier client1234)1234 is an instances
    of M1 level.
  • M2(metamodel) describes the structures of M1
    level
  • (atributeidentifier client) identifier
    client is an
  • instances of M2.
  • M3(meta-metamodel)its a model to decribe another
  • model and the structures of m2
    level(i.e.meta-atr atribute).

22/05/2002
36
OMG levels
M3
Specify meta-meta classes for metamodel.
Specify meta classes for metamodel. i.e. Class
M2
UML Package notation
M1
Specify classes for UML model of designer.
ltltinstanceOfgtgt
Object
M0
Secify a pure Object
22/05/2002
37
OMG levels
MOF Meta-metamodel
MetaOperation
Meta-Classes
Meta-Attributes
ltltusegtgt
ltltinstanceOfgtgt
ltltinstanceOfgtgt
UML metamodel
Atributes
Operation
Classes
ltltinstanceOfgtgt
ltltinstanceOfgtgt
ltltusegtgt
Girl
Name String
Analisys model UML
Age Integer
GetName() String
GetAge() Integer
ltltinstanceOfgtgt
ltltusegtgt
Maria Girl
Object
22/05/2002
38
Goal of MOF
  • M3 describe itself (MOF Model is formally defined
    using its own meta-modeling constructs).
  • UML is an instancies of MOF.
  • Defines a set of CORBA IDL interfaces that can be
    used to define and manipulate metamodels and
    their models
  • provides the infrastructure for implementing
    CORBA-based design and reuse repositories
  • specifies precise mapping rules to automatically
    generate CORBA interfaces for metamodels,thus
    encouraging consistency in manipulating metadata
    in all phases of the distributed application
    development cycle

22/05/2002
39
Goal of MOF
  • Interoperability, interchange of meta data in
  • distribuited systems, distribuited object
    systems.
  • Beyond to the repository MOF-based we can use(for
    inter-
  • change meta-data)the format
    stream-based(standard XMI).
  • XMI defines the rules for mapping from MOF to XML
    to generate automatic XML code.
  • Essentially a subset of the UML core
  • Class
  • attributes
  • operations (only name and functionality, no
    associated method)
  • Generalization
  • sub-Class inherits all features of its
    super-Classes
  • any explicit Constraints that apply to a
    super-Class and
  • any implicit behavior for the super-Class apply
    equally to the sub-Class
  • At the M1 level, an instance of an M2-level Class
    is type substitutable for instances of its
    M2-level super-Classes
  • Abstract classes
  • Root and leaf classes

22/05/2002
40
Goal of MOF
  • Association
  • Association links
  • Multiplicity specification
  • Navigability setting
  • Aggregationasymmetrical association Component
    is part of at most one composite
  • A component cannot be part of itself (also
    indirectly)
  • When a composite is deleted, all its components
    are deleted
  • References(attributes corresponding to navigable
    associations ends to offer a simple way to update
    links)
  • DatatypesMeta-model definitions often need to
    use attribute and operation parameter values that
    have ordinary types
  • Packages
  • Groups elements into a meta-model
  • Mechanisms to compose packages
  • Constraints
  • Used to attach consistency rules to other
    meta-model components
  • A Constraint comprises constraint name, a
    language used to express the consistency rules

22/05/2002
41
Description of Mof
  • Can be described by using the MOF model itself
  • circularity problem
  • Direct description by natural language and UML
    diagrams
  • Abstract and Concrete Mappings

22/05/2002
42
Description of Mof
  • The Abstract mapping (defined inThe MOF Abstract
    Mapping chapter)
  • fleshes out a MOF meta-model into an abstract
    information model (i.e., by spelling
  • out the logical structure of the meta-data
    described by the meta-model).
  • The IDL Mapping (Section 2.4.2, CORBA Meta-data
    Services - The MOF
  • IDL Mapping, on page 2-22) produces the standard
    OMG IDL and associated
  • behavioral semantics for meta-objects that can
    represent meta-data conforming to
  • the meta-model.
  • The XML Mapping (see Section 2.4.3, Meta-data
    Interchange - The MOF
  • XML Mapping, on page 2-22) produces the standard
    XML DTD for interchanging
  • metadata conforming to the meta-model.

22/05/2002
43
Index
  • Index
  • Terminology
  • Scope
  • What is Metamodeling
  • - Metamodeling
  • - Level architectures
  • - Modeling levels
  • - Modeling in one framework
  • - Kernel metamodel
  • - In last
  • Mof
  • Case Study

22/05/2002
44
Case study
  • Introduction
  • Feasibility Study
  • W2000 as a profilable MOF Meta-model
  • Technological solution
  • A p-meta-model for W2000
  • An example W2000 model
  • Conclusions and future work

22/05/2002
45
Introduction
  • Web-based hypermedia systems are becoming more
    and
  • more sophisticated, new modeling requirements
    constantly
  • arise, and design models must constantly
    evolve.(an example of this
  • evolutions is HDM Hyper text design model)
  • Since design tools should complement models to
    support an
  • efficient design process, model evolution raises
    technological
  • issue Design tools must be modified when their
    underlying
  • model changes. This is why the paper proposes a
    general
  • approach to efficiently update design tools in
    response
  • to model evolutions.

22/05/2002
46
Introduction
  • The key ideas are
  • the description of a hypermedia model
  • in terms of a general meta-model, powerful
    enough to
  • express the semantics of current and future
    design constructs.
  • the transformation of a hypermedia design tool
    into a meta-CASE tool, able to cope with model
    updates without requiring to be redefined and
    rebuil from scratch.

22/05/2002
47
Introduction
  • The approach is presented by discussing a case
    study, that is,
  • the feasibility study to transform the design
    toolkit, Jweb, into
  • a meta-CASE tool (Jweb3).
  • This tool will support the latest version of our
    model (called
  • W2000), and will easily evolve with the model it
    supports.
  • In this document it comes discussed the adoption
    of the OMG
  • metamodeling standards MOF and XMI as enabling
    technology
  • a sample of the representation of W2000 in terms
    of MOF, and
  • the sketch of the architecture of the
    under-implementation
  • Jweb3.

22/05/2002
48
Case study
  • Introduction
  • Feasibility Study
  • W2000 as a profilable MOF Meta-model
  • Technological solution
  • A p-meta-model for W2000
  • An example W2000 model
  • Conclusions and future work

22/05/2002
49
Feasibility Study
  • As to the first aspect, they decided to probe the
    possibilities of
  • using existing UML CASE tools as temporary
    front-ends for
  • the forthcoming schema editor.
  • The idea was not to select the best available
    tool, but simply
  • do some experiments and delay the implementation
    of a special
  • purpose editor to better refine W2000 constructs.
    As side effect,
  • this implied that they did not want to work with
    proprietary
  • formats to store models(W2000 schemas), but they
    needed a
  • cross -platform standard to be able to change the
    front-end
  • according to our needs.
  • They decided to exploit the OMG novel
  • way to meta-modeling to find a cumulative
    solution.

22/05/2002
50
Feasibility Study
  • Using the OMG jargon, they can say that each
    model (i.e.artifact)
  • must be compliant to a given meta-model (i.e.,
    notation).
  • This definition allows their to decompose a CASE
    tool into a
  • provider of modeling features, which depends on
    the supported
  • meta-model, and a consistency checker between
    defined models
  • and their meta-model. Meta-CASE tools do a
    similar job at a
  • meta-meta-level. Meta-CASE tools let the
    developer define his
  • own meta-model and express the semantics of the
    primitives of
  • this meta-model in terms of a meta-metamodel.

22/05/2002
51
Feasibility Study
  • Describing a new modeling feature of a meta-model
    (e.g., a new
  • primitive for W2000) with a meta CASE tool would
    require the
  • designer to describe the semantics of the new
    construct in terms
  • of the meta-meta-model.
  • The key point is that a meta-metamodel
  • (MOF) supplies all modeling features to render
    extensions and
  • mechanisms to (automatically) update the tools
    with respect to
  • consistency checking and manipulation operations.

22/05/2002
52
Case study
  • Introduction
  • Feasibility Study
  • W2000 as a profilable MOF Meta-model
  • Technological solution
  • A p-meta-model for W2000
  • An example W2000 model
  • Conclusions and future work

22/05/2002
53
W2000 as a Profilable MOF Meta-model
  • W2000 can be seen as a UML extension (profile,
    according to
  • the UML terminology).UML, in fact, supplies
    ad-hoc features
  • (stereotypes, tagged values, and constraints) to
    extend the
  • Original UML to cope with particular needs and
    specific
  • application domains.
  • Defining W2000 as a UML profile allows us to
    exploit
  • UML commercial tools, but also XMI-UML, that is,
    the UML
  • instantiation of XMI , which is rapidly becoming
    the lingua
  • franca to exchange UML models in a
    vendor-independent way.

22/05/2002
54
W2000 as a Profilable MOF Meta-model
  • The adoption of UML profiles is enough to use UML
    CASE
  • tools as front-ends for the schema editor, but
    does not allow
  • semantic checks. Currently, available CASE tools
    support
  • profiles partially(only Objecteering provides
    some support)
  • Evolution and consistency checks would not be
    possible. This is
  • why they decided to adopt MOF to describe the
    W2000 meta-
  • model, that is,to give a precise definition of
    W2000 concepts in
  • terms of a flexible meta-metamodel.

22/05/2002
55
W2000 as a Profilable MOF Meta-model
  • The W2000 meta-model reuses many UML concepts,
    and this
  • means that we can see W2000 as a UML profile and
    all possible
  • versions of W2000 constructs can always be mapped
    onto
  • instances of UML primitives, but with respect to
    conventional
  • UML profiles it satisfies also an additional
    condition
  • All concepts (both new and borrowed ones) are
    defined using
  • MOF. Thus, they can say that W2000 is a
    profilable MOF meta
  • -model (hereafter, p-meta-model). The reason for
    introducing
  • the concept of p-meta-model is that if the UML
    metamodel can
  • be described in terms of MOF, the opposite does
    not hold true,
  • not all meta-models described in MOF can be
    mapped onto
  • the UML meta-model.

22/05/2002
56
Case study
  • Introduction
  • Feasibility Study
  • W2000 as a profilable MOF Meta-model
  • Technological solution
  • Remarks
  • A p-meta-model for W2000
  • An example W2000 model
  • Conclusions and future work

22/05/2002
57
Technological solution
  • The gray box in the upper left corner identifies
    meta-modeling technology
  • all other tools belong to the usual modeling
    chain, which must be enabled by
  • a set of preliminary meta-modeling steps. They
    start by defining the W2000
  • p-meta-model

  • Usually they do this using Rational Rose
    integrated with the Unisys add-on
  • for XMI. This model, stored in XMI-MOF, is the
    main input to the two meta-
  • modeling tools.

22/05/2002
58
Technological solution
  • The translator generator produces a translator
    from XMI-UML to XMI-
  • W2000 as a set of XSLT rules.
  • The checker generator uses the same meta-model to
    produce a set of
  • Schematron rules.
  • The designer specifies his W2000 models using his
    preferred UML editor
  • and stores them in XMI-UML. The translator,
    through the XSLT rules,
  • transform the XML file compliant to XMI-UML to
    another XML file, but
  • compliant to XMI-W2000. This file is then the
    input to the checker that
  • validates it through the Schematron rules.

22/05/2002
59
Remarks
  • Even if p-meta-models have been defined to solve
    a specific problem,
  • that is, to define the meta-model of W2000, they
    are absolutely general
  • and can be used in all those cases where either
    we need (want) a MOF
  • definition of an extended UML notation or simply
    we want to integrate
  • MOF-based and UML-based tools.
  • They implemented all logical components of Figure
    through special-
  • purpose scripts and XSLT sheets, all coordinated
    by HTML interfaces.
  • This implementation style should better fit
    evolution and simplify
  • maintenance.

22/05/2002
60
Case study
  • Introduction
  • Feasibility Study
  • W2000 as a profilable MOF Meta-model
  • Technological solution
  • A p-meta-model for W2000
  • An example W2000 model
  • Conclusions and future work

22/05/2002
61
A p-meta-model for W2000
  • This section presents an example application of
    the p-meta-model of
  • W2000 . The p-meta-model for W2000 (Figure 2)
    comprises the three
  • standard UML packages, and the new W2000 package.

  • Foundation package supplies all basic

  • modeling elements(classes,attributes,

  • associations, etc.)

  • BehavioralElements package supplies
    the

  • elements to specify the dynamic
    behavior
  • of a model. ModelManagement package supplies the
    means to cope with
  • complexity and organize a model into submodels
    according to the different
  • viewpoints. The new package, W2000, defines how
    we extended UML to
  • represent W2000 constructs.

22/05/2002
62
A p-meta-model for W2000
  • The profilability of the p-meta-model implies
    that all new W2000 concepts
  • be specified as extensions to standard UML
    elements, that is, W2000
  • elements are subclasses of standard UML
    meta-model classes.
  • This organization is partially shown in
    Figure,which collects some excerpts
  • from the W2000 package
  • Information Model Design(fig. a) classes Entity
    and Component are both
  • subclasses of class Class (defined in the Core
    subpackage of the UML
  • Foundation package). Both classes are abstract
    classes because Entity are
  • always specialized in either EntityTypes or
    SpearEntities, while
  • Components become ComponentTypes or
    SpearComponents. Types are
  • similar to classes They will be instantiated as
    many times as needed in the running
  • application spear elements correspond to
    singletons They specify special-purpose
  • elements singularly instantiated in the
    application.

22/05/2002
63
A p-meta-model for W2000
  • Access Layer Design(fig. b) has a similar
    organization. A Collection,
  • abstract concept, comes from a Class and is
    specialized in SpearCollections
  • and CollectionTypes. Moreover, each collection
    has a
  • CollectionCenterType,which is a subclass of
    Center-Type.
  • Navigation Design(fig. c)
  • Once more, Nodes must be either NodeTypes or
    SpearNodes. Links must be
  • either CollectionLinks or SemanticLinks, or
    StructuralLinks.
  • Collection links relate the elements of a
    collection with their center, semantic links
  • correspond to semantic associations, and
    structural links render the component-based
  • decomposition of complex entities.

22/05/2002
64
A p-meta-model for W2000
22/05/2002
65
Case study
  • Introduction
  • Feasibility Study
  • W2000 as a profilable MOF Meta-model
  • Technological solution
  • A p-meta-model for W2000
  • An example W2000 model
  • Impact on Jweb
  • Conclusions and future work

22/05/2002
66
An example W2000 model
  • Figure presents the information model for the
    paper entity type. The entity
  • is structured in three main components The
    abstract is always part of the
  • paper and it presents some basic information,
    like the paper title, authors,
  • and affiliation, along with other information
    required by the conference, that
  • is, paper id (number) and review status.

22/05/2002
67
An xample W2000 model
  • Either we have a first submission, or after
    accepting the paper, we have
  • its camera-ready version.
  • These components reuse also some information
    already defined in the abstract.
  • Each time an attribute (slot) is reused in a
    component, we simply refer to its original
  • definition, instead of re-specifying it.
  • This way, we avoid inconsistent redefinitions
    and we maximize reuse.

22/05/2002
68
An xample W2000 model
  • When we move to navigation design, Figure 6(a),
    we see that the paper has
  • been decomposed in three nodes. Once more, the
    main one contains all base
  • information, while the other two nodes correspond
    to the first submission
  • and camera-ready respectively. The actual
    contents of these nodes is
  • specified using the keyword body, which make
    readers refer to the
  • information design to understand the actual
    contents.

a)
b)
22/05/2002
69
An xample W2000 model
  • For example, the contents of the AbstractNode
    node is defined by the
  • body of the Abstract component. The
    correspondence between nodes
  • and components is not mandatory, but it helps
    modularize the design.
  • Users are free to specify the contents of nodes
    as lists of attributes taken
  • from the entities and components that they
    embody.
  • Figure 6(b) shows how the user of the Web
    application can navigate among
  • papers and authors.

22/05/2002
70
Impact on Jweb
  • A briefly introduce on toolset for clarify its
    main components.
  • Jweb assists designers during the whole design
    process from information
  • design to prototype and enactment. Figure shows
    its main logical
  • components
  • The editor lets designers design their
    applications using HDM/W2000 and produces a
    HDM/W2000 schema.
  • The mapper takes this schema and automatically
    generates the relational
  • schema for the editorial repository, suitable
    interfaces for populating the repository,
  • and a general description (XML mapping) of the
    relational schema.

22/05/2002
71
Impact on Jweb
  • The configurator reads the HDM
  • schema, the description of the editorial
    repository, and the editorial contents and
  • allows for the creation of special-purpose
    filters to select data the description of
  • these filters is rendered in XML.
  • The generator uses the HDM/W2000 schema, the
    description of the editorial
  • repository and its contents, together with the
    filters defined to select data, and
  • generates the run-time database, populating it
    with the editorial contents suitably
  • filtered.
  • The engine reads the contents from the run-time
    database, presents this contents
  • to user and is responsible formanaging the
    interaction between the user and the
  • application.

22/05/2002
72
Case study
  • Introduction
  • Feasibility Study
  • W2000 as a profilable MOF Meta-model
  • Technological solution
  • A p-meta-model for W2000
  • An example W2000 model
  • Conclusions and future work

22/05/2002
73
Conclusions and Future Work
  • The group experiments in using the meta-modeling
    technology to support
  • design tools are so far limited to the editor,
    but starting from the p-meta-
  • model they induced a non-trivial modification and
    they studied the impact of
  • these modifications.
  • The main bottleneck was the definition and test
    of all (new) constraints in
  • Schematron, but all other changes were almost
    trivial and they could be
  • obtained automatically.

22/05/2002
74
Conclusions and Future Work
  • This exercise suggested two interesting
    considerations
  • The availability of a real MOF repository
    together with a friendlier notation
  • for specifying constraints would further
    shorten the maintenance process.
  • If we had done the same exercise using our
    standard way, we would have
  • used the following process
  • 1. The new meta-model would have been coded
    directly using a DTD, with
  • suitable comments to explain the meaning of
    the new/changed features
  • 2. The implementer in charge of working on the
    new editor (component)
  • would have taken this definition as the
    reference for his work.

22/05/2002
75
Software Engineering II
  • The End

22/05/2002
76
References
  • www.metamodel.com
  • Site for to learn much about model metamodel end
    modeling
  • Theres many definition about models
  • www.omg.org
  • Object Managment Group, leader of O-Otechniques
  • Unified Modeling Language Specification version
    1.4, Beta 1, November 2000.
  • Meta Object Facility Specification version 1.3
    New Edition March 2000.
  • www.jamesodell.com
  • Is a consultant, writer, and educator in the
    areas of object-oriented and agent-based systems,
    business reengineering, and complex adaptive
    systems.
  • Meta-modelling 1995
  • saturne.info.uqam.ca/Labo_Recherche/Larc/Metamode
    lingWorkshop/Odell/metamodeling/metamodeling.ps
  • baresigarzottomainettipaolini_at_elet.polimi.it
  • Meta-modeling Techniques Meet Web Application
    Design Tools, L. Baresi, F.
  • Garzotto, L. Mainetti, and P. Paolini
    Dipartimento di Elettronica e Informazione
  • Politecnico di Milano www.elet.polimi.it

22/05/2002
77
Schematron
  • Schematron is a structural schema language that
    differs from other schema
  • languages since it not based on grammars but on
    finding tree patterns in
  • the parsed document. This approach allows for the
    definition of simple
  • and powerful validation engines.
  • Schematron can be used to find specific patterns
    in an XML document in
  • this case it is used to validate W2000 models
    against the constraints
  • identified in the metamodel.

22/05/2002
78
Schematron Rules
  • ltpattern name"SemanticAssociation"gt
  • ltrule context"
  • //W2000.SemanticAssociation
  • /Foundation.Core.Association.connection
  • /Foundation.Core.AssociationEnd
  • /Foundation.Core.AssociationEnd.type/
  • //W2000.SemanticAssociationCenterType
  • /Foundation.Core.Association.connection
  • /Foundation.Core.AssociationEnd
  • /Foundation.Core.AssociationEnd.type/
  • "gt
  • ltassert test"
  • (local-name(id(_at_xmi.idref))
  • W2000.EntityType) or
  • (local-name(id(_at_xmi.idref))

W2000.SemanticAssociationCenterType)
or (local-name(id(_at_xmi.idref)) W2000.CollectionT
ype) or (local-name(id(_at_xmi.idref)) W2000.Compo
nentType) "gtA SemanticAssociation link only
EntityTypes, ComponentType, SemanticAssociationCen
terType, and CollectionTypelt/assertgt lt/rulegt
22/05/2002
79
Logical architecture of Jweb

22/05/2002
80
Hypertext Design Model
  • Since its first definition in 1991, HDM has
    originated a family of
  • variants (HDM2, HDMlite) and, more recently,
    W2000.
  • W2000 has been defined in response to the
    transformation
  • ofWeb-based hypermedia from read-only
    navigational
  • repositories to complex applications that
    combine navigation
  • and operations in a sophisticated way.
  • W2000 enriches the latest version of HDM with
    concepts and
  • notations for modeling richer information
    structures as well as
  • operations and services accessible through the
    Web.
  • It exploits the Unified Modeling Language UML and
    its
  • customizability to ascribe W2000 with a standard
    graphical
  • syntax.

22/05/2002
Write a Comment
User Comments (0)
About PowerShow.com