UML-BASED
             WEB
     ENGINEERING




Towards a Common Metamodel
   for the Development of
      Web Application...
UML-BASED
        WEB
ENGINEERING        Motivation
                  Overwhelming diversity of Web methodologies

       ...
UML-BASED
        WEB
ENGINEERING         Overview


    n         About UWE
    n         A Step Towards the Common Metam...
UML-BASED
        WEB
ENGINEERING              About UWE
         n    UML-based Web Engineering (UWE) is an object-orient...
UML-BASED
        WEB
ENGINEERING            UWE Metamodel
    n         Definition of concepts and relationships         ...
UML-BASED
        WEB
ENGINEERING            Conservative Extension
    n         UML modeling elements
              n   ...
UML-BASED
        WEB
ENGINEERING          Package Structure
                                                   UWE

     ...
UML-BASED
        WEB
ENGINEERING         Package Structure                                      (cont.)


               ...
UML-BASED
        WEB
ENGINEERING                Conceptual Package
                          Feature
                    ...
UML-BASED
        WEB
ENGINEERING            Navigation Package

                            Class
                       ...
UML-BASED
        WEB
ENGINEERING          Navigation Package                                             (cont.)

       ...
UML-BASED
        WEB
ENGINEERING            Mapping to the Notation
    n             Mapping to extended UML syntax in a...
UML-BASED
        WEB
ENGINEERING             Mapping to the Notation                                             (cont.)
...
UML-BASED
        WEB
ENGINEERING             Mapping Rules
    Systematic rules for mapping a metamodel to a UML profile:...
UML-BASED
        WEB
ENGINEERING              Example UWE Model

                                                        ...
UML-BASED
        WEB
ENGINEERING             Conclusions / Future Work
    n         Definition of the UWE metamodel
    ...
UML-BASED
                WEB
        ENGINEERING




Thank you for your attention
           Further questions?

Nora Koc...
Upcoming SlideShare
Loading in...5
×

Towards a Common Metamodel for the Development of Web Applications

1,253

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,253
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Towards a Common Metamodel for the Development of Web Applications

  1. 1. UML-BASED WEB ENGINEERING Towards a Common Metamodel for the Development of Web Applications Nora Koch and Andreas Kraus Ludwig-Maximilians-Universität Munich, Germany
  2. 2. UML-BASED WEB ENGINEERING Motivation Overwhelming diversity of Web methodologies n Different views (models) and modeling elements n Different notations Goal: Unification at high level of abstraction ⇓ Common metamodel for Web methodologies n Better comparison and integration n Fundamental for tool support and code generation n Allows different development processes n Allows use of subsets of modeling elements (like UML) n Allows different notations (concrete syntax) Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 2
  3. 3. UML-BASED WEB ENGINEERING Overview n About UWE n A Step Towards the Common Metamodel: UWE Metamodel n Mapping to the Notation n Conclusions and Future Work Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 3
  4. 4. UML-BASED WEB ENGINEERING About UWE n UML-based Web Engineering (UWE) is an object-oriented approach based on UML and the Unified Process n Main focus of UWE is the systematic design followed by a semi- automatic generation of Web applications n Systematic design supported by CASE- OpenUWE tool ArgoUWE – an extension of development ArgoUML environment n Semi-automatic generation supported by UWEXML – a model-driven Code Generator for deployment to an XML publishing framework UWE metamodel Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 4
  5. 5. UML-BASED WEB ENGINEERING UWE Metamodel n Definition of concepts and relationships MOF M3 among concepts n Compatibility with the OMG metamodeling architecture n MOF meta-metamodel UML n XMI interchange format → tool compatibility M2 n Conservative extension of the UML UWE metamodel n Static semantics given by OCL constraints (Well-formedness rules) n Basis for the open tool suite OpenUWE ApplicationModel M1 Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 5
  6. 6. UML-BASED WEB ENGINEERING Conservative Extension n UML modeling elements n are not modified, e.g. by adding additional features n are extended by inheritance n Valid UML model ⇒ valid UWE model Class Class ConceptualClass NavigationClass NavigationClass Not allowed for conservative extensions! Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 6
  7. 7. UML-BASED WEB ENGINEERING Package Structure UWE Behavioral Behavioral Model Model Elements Elements Behavioral Management Model Management Elements Management Foundation Foundation Foundation = UML Metamodel = UWE Metamodel Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 7
  8. 8. UML-BASED WEB ENGINEERING Package Structure (cont.) Foundation Foundation Behavioral Elements Elements Core Adaptation Task Conceptual Navigation Presentation Context Model User Environment Management „Separation of Concerns“ Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 8
  9. 9. UML-BASED WEB ENGINEERING Conceptual Package Feature Feature {ordered} Classifier AssociationEnd (Foundation.Core) * 0..1 (Foundation.Core) 1 * (Foundation.Core) (Foundation.Core) +feature +owner +participant +association 2..* +connection {ordered} BehavioralFeature StructuralFeature (Foundation.Core) (Foundation.Core) 1 Operation Attribute Class Association (Foundation.Core) (Foundation.Core) (Foundation.Core) (Foundation.Core) ConceptualOperation ConceptualAttribute ConceptualClass ConceptualAssociation = UML Metamodel = UWE Metamodel Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 9
  10. 10. UML-BASED WEB ENGINEERING Navigation Package Class Class Association Association (Foundation.Core) (Foundation.Core) (Foundation.Core) +source +outLinks +outLinks NavigationNode NavigationNode 1 * Link isLandmark : Boolean {derived} {derived} isAutomatic : Boolean +target +inLinks +inLinks 1..* 1..* {derived} {derived} * NavigationClass Menu ExternalNode ExternalLink NavigationLink TaskLink url : String 0..1 * * Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 10
  11. 11. UML-BASED WEB ENGINEERING Navigation Package (cont.) NavigationNode ConceptualClass +derivedFrom NavigationClass (UWE.Foundation.Core.Conceptual) 1 * * <<implicit>> ConceptualAttribute +derivedFromAttributes NavigationAttribute Attribute (UWE.Foundation.Core.Conceptual) * * (Foundation.Core) Same example constraint in OCL: Example of a well-formedness rule: context NavigationClass “Navigation attributes are derived from from conceptual attributes. inv: self.feature->select( oclIsKindOf(NavigationAttribute) ).derivedFromAttributes-> These navigation attributes have to be reachable by navigation forAll( f | self.derivedFrom.transitiveClosure->exists( feature = f ) ) through the model“ Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 11
  12. 12. UML-BASED WEB ENGINEERING Mapping to the Notation n Mapping to extended UML syntax in a non-standard way n i.e. not using extension mechanisms of the UML n Standard UML CASE tools can not be used n Good documentation required Example: isLandmark NavigationNode isLandmark : Boolean MyNavigationClass NavigationClass abstract syntax notation Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 12
  13. 13. UML-BASED WEB ENGINEERING Mapping to the Notation (cont.) n Mapping to a UML Profile n Mapping uses standard extension mechanisms like stereotypes, tagged values and OCL constraints n Standard UML CASE tools can be used n Compatibility with the UML XMI interchange format n Profile support n Active: by plug-ins, tool extensions n Passive: by an external tool Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 13
  14. 14. UML-BASED WEB ENGINEERING Mapping Rules Systematic rules for mapping a metamodel to a UML profile: § Classes → Elements with stereotype § Attributes → Tagged values § Inheritance → Inheritance among stereotypes Repeated mapping of attributes and associations § Associations → Tagged values or associations (for Classifiers) NavigationNode <<navigation class>> «navigation node» isLandmark : Boolean <<navigation class>> MyNavigationClass <<navigation class>> MyNavigationClass {isLandmark, MyNavigationClass {isLandmark} derivedFrom=MyCClass} NavigationClass «navigation class» abstract syntax notation Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 14
  15. 15. UML-BASED WEB ENGINEERING Example UWE Model <<navigation class>> Conference {isLandmark, derivedFrom=Conference} reviewDeadline : Date{derivedFromAttributes=reviewDeadline} submissionDeadline : Date{derivedFromAttributes=submissionDeadline} title : String{derivedFromAttributes=title} <<navigation link>> <<navigation link>> <<navigation class>> * * <<navigation class>> <<navigation link>> Author <<navigation class>> Paper 1..* {derivedFrom=Author} Author {derivedFrom=Paper} {derivedFrom=Author} affilation<<navigation link>> affilation : String{derivedFromAttributes=affilation} keywords[*] : String{derivedFromAttributes=keyword.key}i : String{derivedFromAttributes=affilation} title : String{derivedFromAttributes=title} name : String{derivedFromAttributes=name} name : String{derivedFromAttributes=name} 1..* SubmittedPapers Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 15
  16. 16. UML-BASED WEB ENGINEERING Conclusions / Future Work n Definition of the UWE metamodel ⇒ a first step towards a common metamodel for Web applications n Systematic mapping to the UWE notation (UML profile) Future Work n Refinement of the UWE metamodel and unification with other methodologies, especially concerning dynamic aspects n Meta tool suite OpenUWE n CASE tool ArgoUWE n Code generators n Model checking Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 16
  17. 17. UML-BASED WEB ENGINEERING Thank you for your attention Further questions? Nora Koch kochn@informatik.uni-muenchen.de Andreas Kraus krausa@informatik.uni-muenchen.de
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×