UML-based Web Engineering (UWE)

9.352 visualizações

Publicada em

Publicada em: Tecnologia

UML-based Web Engineering (UWE)

  1. 1. UML-based Web Engineering (UWE) Software engineering approach for Web domain Based on OMG standards, such as UML, MDA, OCL, XMI, … Domain specific modeling language (DSL) MOF-based metamodel, OCL constraints Open source CASE tool support Sevilla – June 2007 – Nora Koch © 15
  2. 2. UWE in a Nutshell UWE is a an engineering approach for the development of Web applications Main characteristic is the use of UML for all models “pure” UML whenever possible UML extension for Web specific features UML profile Focuses on systematisation and automatic generation UWE comprises a modelling language for the graphical representation of models of Web applications a method (technique) supporting semi-automatic generation a metamodel for UWE modelling elements a process supporting the development life-cycle of Web applications a case-tool supporting the development of Web applications ArgoUWE editor for the design set of transformations for model-to-model and model-to-code transformations Sevilla – June 2007 – Nora Koch © 16
  3. 3. Modelling Language UWE Sevilla – June 2007 – Nora Koch © 17
  4. 4. Why UML? UML is a graphical language for specifying, constructing and documenting software artifacts UML is a de facto industry standard and an OMG standard UML includes notation diagram types Object Constraints Language (OCL) metamodel well-formedness rules UML does not provide a development process How expressive is UML for the development of Web applications? UML does not include specific Web model elements UML defines extension mechanisms UML profiles Sevilla – June 2007 – Nora Koch © 18
  5. 5. “Pure” UML for Modelling Web Applications Use of UML (without extension) whenever possible Example: UML deployment diagram used to : Web Browser document physical nodes Client distribution of web components ShoppingCart physical node UML dependency «use» : Application : Web Server Server «use» DB JSP ShoppingCart ShoppingCart UML component «realize» «realize» design class «trace» «presentation class» ShoppingCart ShoppingCart Sevilla – June 2007 – Nora Koch © 19
  6. 6. UML Profiles UML extension is called a UML profile if based on extension mechanisms provided by UML stereotypes for new metaclasses domain specific: EJB «bean», «session», «entity», … defined in the UML: «metaclass», «trace», «file», … tagged values for metaattributes OCL constraints for invariants, pre- and postconditions eases UML profile = light weight extension tool support Heavy weight extension uses other diagram types not defined in the UML uses different notation Sevilla – June 2007 – Nora Koch © 20
  7. 7. Analysis and Design Models in UWE Analysis models of a Web application functional requirements are specified by use case model workflows data (content) requirements are specified by domain model Design models of a Web application information aspects content model hypertext structure and navigation functionality navigation model layout schema presentation model functionality process model adaptivity model Sevilla – June 2007 – Nora Koch © 21
  8. 8. Example: Simple Music Portal Inspired by offers albums for downloading contains information about albums, songs, singer, composer, and publisher this information is available for free registered users can search albums and download them for downloading they need to have enough credit on their prepaid account accounts are rechargeable provides a guided tour through the Web application Sevilla – June 2007 – Nora Koch © 22
  9. 9. Modelling Requirements with UWE Use cases are the most appropriate/used technique for modelling requirements Graphical visualization by UML use case diagram to model required functionality distinguishes between navigation and process use cases Modeling constructs «navigation» «web process» (in ArgoUWE normal use case) Sevilla – June 2007 – Nora Koch © 23
  10. 10. Modelling Business Processes Business process can be modelled as workflows Workflows are visualized by UML activity diagram set of actions control flow elements as decisions, merges, forks, joins, etc. object flows including relevant objects (instance of classes) Example: Download Album RE UML Icon Element Metaclass ? Sevilla – June 2007 – Nora Koch © 24
  11. 11. Content Modelling Representation with “pure” UML is sufficient no additional semantics required UML class diagram UML class diagrams used at analysis-level and design-level domain concepts represented by classes units of information users of the system (user model) relationship between concepts represented by associations whole/part relationship shown by aggregations and composition hierarchical dependencies depicted by generalization/specialization (inheritance) multiplicities … Sevilla – June 2007 – Nora Koch © 25
  12. 12. Navigation Modelling Goals to represent nodes and links of the hypertext structure to design navigation paths to avoid disorientation and cognitive overload Result: navigation model represented by a UML class diagram uses specific modelling elements for Web concepts Modelling elements basic elements access primitives Other methodologies own notation for hypertext elements different diagram types: UML state diagram or own diagram type Sevilla – June 2007 – Nora Koch © 26
  13. 13. Basic Navigation Elements Navigation elements used to model the core hypertext structure navigation class specifies a hypertext node visited by a user through browsing (related to a content class) navigation link specifies a hyperlink used to access the target navigation object from the source navigation object Stereotypes for basic navigation elements «navigation class» «navigation link» Sevilla – June 2007 – Nora Koch © 27
  14. 14. Navigation Model: Hypertext Structure Sevilla – June 2007 – Nora Koch © 28
  15. 15. Access Primitives Additional elements for the selection of one target navigation element from a set of instances of a navigation element index guidedTour query Shortcuts for more complex constructs (if represented in UML without extension) Sevilla – June 2007 – Nora Koch © 29
  16. 16. Access Primitive: Index Index specifies direct access to all instances of the target by providing a list of all elements from which one can be selected to continue navigating in the Web application contains an arbitrary number of index items each index item is an object which has a name and owns a link to an instance of a navigation class UML stereotype: «index» Sevilla – June 2007 – Nora Koch © 30
  17. 17. Access Primitives: Query and Guided Tour Query represents the possibility to search for instances of the target node where instances are selected based on the property FilterExpression UML stereotype: «query» GuidedTour provides sequential access to instances of the target node order in the sequential access is given by a property SortExpression different options may be specified circular access to the instances access is triggered by a user-interaction UML stereotype: «guidedTour» Sevilla – June 2007 – Nora Koch © 31
  18. 18. Navigation Model Elements: Menu and External Links Menus are used to structure the outgoing links from a node associated to a navigation class by composition consists of a set of links to heterogeneous elements, such as indexes, guided tours, queries, instances instances of navigation classes or other menus UML stereotype: «menu» External Links are links pointing to nodes that do not belong to the Web application UML stereotype:«external link» Sevilla – June 2007 – Nora Koch © 32
  19. 19. Navigation Model: Hypertext Structure Sevilla – June 2007 – Nora Koch © 33
  20. 20. Modelling Navigation Systematic enhancement of the navigation structure model by indexes for all navigation links which have multiplicity > 1 at the directed association end menus for all navigation classes with more than 1 outgoing association Design decision to include guided tour instead of index queries tagged value home to indicate starting point of the application (node without ingoing links) tagged value landmark to indicate that a node is reachable from everywhere (all other nodes include a link to the landmark node) Construction of views of the navigation space partial views if the number of nodes is large different views for different users different views for different environments Sevilla – June 2007 – Nora Koch © 34
  21. 21. Modelling Processes in UWE Navigation model of a Web application represents the static information structure accessible to a user of the system specifies browsing (navigation) functionality Process model represent the dynamic aspects of a Web application specifies functionality, such as transactions and complex workflows of activities Process modelling consists of definition of process classes (for non-navigation use cases) integration of these process classes in the navigation model description of the behaviour through a process flow represented as UML activity diagram Sevilla – June 2007 – Nora Koch © 35
  22. 22. Process Elements Process class represents the process through which the user will be guided in the Web application for complex process that require more than a single class, an additional process model is built UML stereotype: «process class» Process link is used to model the association between a «navigation class» and a «process class» indicates entry points and exit points of processes within the navigation structure UML stereotype: «process link» Sevilla – June 2007 – Nora Koch © 36
  23. 23. Navigation Model: Including Web Processes Sevilla – June 2007 – Nora Koch © 37
  24. 24. Modelling the Process Flow The behavior of a Web process is defined by the process flow model represented by an UML activity diagram result of the refinement of the activity diagram drawn for requirements specification no need of use of stereotypes Process flow consists of flow of execution represented by activity nodes connected by activity edges control nodes that provide flow-of-control constructs, such as decisions and synchronization object nodes that represent data flowing along object flow edges or pins associated to the actions semantic of activities is based on control and data token flows, similar to Petri nets Sevilla – June 2007 – Nora Koch © 38
  25. 25. Requirements: UML Activity Diagrams for Login Sevilla – June 2007 – Nora Koch © 39
  26. 26. Process Model: UML Activity Diagram: Login Sevilla – June 2007 – Nora Koch © 40
  27. 27. Modelling Presentation Representation of layout for the underlying navigation and process models is an abstract presentation concrete presentation requires specification of additional physical properties of the layout colour position Presentation classes represent Web pages or part of pages composition of user interface elements hierarchical composition of presentation elements UML class diagram for the structure of the presentation using UML container notation UML interaction diagram (sequence diagrams) used for modelling behaviour of presentation classes (classical UML) Alternative: development of a prototype Sevilla – June 2007 – Nora Koch © 41
  28. 28. Presentation Model Elements «presentation class» groups a set of user interface elements representing a logic unit of presentation «page» is a presentation class that contains all elements that will be presented together to the user as response to one request user interface elements «anchor» «text» «image» «form» «anchored collection» … Sevilla – June 2007 – Nora Koch © 42
  29. 29. Modelling Adaptivity UWE uses a technique called Aspect-Oriented Modelling (AOM) for the construction of models to specify adaptive Web applications What are adaptive Web applications? What is AOM? Sevilla – June 2007 – Nora Koch © 43
  30. 30. Adaptive Web Applications Adaptation for user properties: knowledge, tasks, preferences, interests context properties: location (place and time) & platform (HW, SW, network) Update of a user model / context model observation of the user behaviour or environment by the system Techniques for adaptation content adaptation inserting and removing text/multimedia features content variants navigation adaptation link ordering link annotation link hiding link generation presentation adaptation modality adaptation (audio or text) language selection layout variants (resizing of fonts, images, changing colours) Sevilla – June 2007 – Nora Koch © 44
  31. 31. Aspect-Oriented Modelling (AOM) in a Nutshell AOM identifies and defines join point: well-defined place in a model / program where additional features can be attached pointcut: set of join points advices: feature to add/execute at a join point AOM specifies a weaving process (composition) of core functional modules (elements of a pointcut) aspects (defined by an advice) Sevilla – June 2007 – Nora Koch © 45
  32. 32. Modelling Adaptivity Specification of pointcuts (including conditions) and advices Weaving the result into the web application based on current state of the user model information provided by link traversal Example: links only visible for registered users to download album recharge Sevilla – June 2007 – Nora Koch © 46
  33. 33. Outline Web Engineering Methodologies Modelling of Web Applications UWE Approach Modelling Language CASE Tool Metamodel Development Process Sevilla – June 2007 – Nora Koch © 47
  34. 34. CASE Tool ArgoUWE Sevilla – June 2007 – Nora Koch © 48
  35. 35. Tool Support for UWE Goal support of UWE notation for design of Web applications separation of concerns (navigation, process, presentation,…) implementation of UWE development process allowing for semi-automatic model generation support of model validation checking models consistency code generation Sevilla – June 2007 – Nora Koch © 49
  36. 36. ArgoUWE Extension of ArgoUML advantages open source UML CASE tool design critics for checking model consistency XMI output as basis for code generation disadvantages still based on UML 1.x inherited usability problems Implemented as a plugin for ArgoUML 0.16 extends the NSUML library with the UWE metamodel developed within the scope of a couple of diploma theses Main difficulty lack of ArgoUML evolution towards UML 2.0 Currently we are developing plugins for other CASE tools Sevilla – June 2007 – Nora Koch © 50
  37. 37. Model Validation Consistency checks for model correctness ArgoUML offers cognitive design critics background thread warning mechanism for model inconsistencies wizard for design improvement uses critics pane for the critiques displays wizards comments in detail pane ArgoUWE extends the design critics features inherits from ArgoUML (e.g. name collision) is extended by wellformedness constraints of UWE (e.g. relationship between use case and process model) Sevilla – June 2007 – Nora Koch © 51
  38. 38. Modelling with UWE Stereotypes Sevilla – June 2007 – Nora Koch © 52
  39. 39. Modelling Navigation with ArgoUWE Sevilla – June 2007 – Nora Koch © 53
  40. 40. Metamodel for UWE Sevilla – June 2007 – Nora Koch © 54
  41. 41. UWE Metamodel UWE Metamodel is defined as a conservative extension of UML 2.0 model elements of the UML metamodel are not modified all new elements are related by inheritance to at least one model element of the UML use of OCL to specify additional semantics of the new elements UWE extension Core Adaptivity Sevilla – June 2007 – Nora Koch © 55
  42. 42. UWE Metamodel Characteristics UWE metamodel reflects separation of concerns in the structure of Core shows cross-cutting aspect of adaptation UWE metamodel is profileable mapping to a UML profile is possible UWE metamodel is MOF compatible uses XML metadata interchange format (XMI) Sevilla – June 2007 – Nora Koch © 56
  43. 43. UWE Metamodel: Requirements Model Model elements grouped in packages WebRE Behaviour WebRE Structure Defines relationships among elements inheritance (e.g. search defined as an extended browse) associations (e.g. a browse requires a source and a target node) Defines invariants (OCL constraints) context Search inv: self.parameters -> forAll (p | p.location -> includes (self.source)) (see stereotypes used in the example) Sevilla – June 2007 – Nora Koch © 57
  44. 44. UWE Profile: Requirements UML stereotype for each concept of the requirements package of the UWE metamodel Extends relationship UML metaclass Advantages no need to specify complete semantic of new modelling elements use of all UML CASE tools supporting UML profiles for modelling Web applications Sevilla – June 2007 – Nora Koch © 58
  45. 45. UWE Metamodel: Navigation (see stereotypes used in the example) Sevilla – June 2007 – Nora Koch © 59
  46. 46. UWE Profile: Navigation UML stereotypes for Web specific concepts used for the specification of the hypertext structure Extends relationships UML metaclasses Sevilla – June 2007 – Nora Koch © 60
  47. 47. Meta-associations of the Metamodel Representation using associations derived from the UML metamodel association {subsets target} for association between NavigationLink and NavigationClass association {subsets ownedProperty} for composition between NavigationClass and NavigationProperty Representation stereotyping UML metaclass Dependency aggregation between NavigationClass and Menu association between AccessPrimitive and NavigationProperty, leading to the following constraint context Dependency inv: self.stereotypes-> includes(quot;Primitive2Propertyquot;) implies (self.client.stereotypes-> includes(quot;AccessPrimitivequot;) and self.supplier.stereotypes-> includes(quot;NavigationPropertyquot;)) where client and supplier denote the ends of the Dependency relationship Sevilla – June 2007 – Nora Koch © 61
  48. 48. UWE Metamodel: Presentation (see stereotypes used in the example) Sevilla – June 2007 – Nora Koch © 62
  49. 49. UWE Profile: Presentation Sevilla – June 2007 – Nora Koch © 63
  50. 50. UML Extension for Aspects Lightweight extension of UML An Aspect stereotype as an extension of UML metaclass Package composing Pointcut package that references to all model elements on which Advice package is applied Pointcut and Advice packages may contain OCL constraints detailing conditions for the application of the aspect effects of the aspect Sevilla – June 2007 – Nora Koch © 64
  51. 51. UWE Metamodel: Adaptivity NavigationAnnotation stereotype to model link adaptation related to Link navigation annotations are attached to navigation links Sevilla – June 2007 – Nora Koch © 65
  52. 52. UWE Development Process Sevilla – June 2007 – Nora Koch © 66
  53. 53. Evolution 1999 - 2003 based on the Unified Process (UP) development is supported by a set of workflows based on concepts of role, activity, artifact, tool, ... 2003 – 2004 incorporation of elements of agile process since 2005 based on the model-driven development (MDD) principles Model-Driven Architecture (MDA) standard of the OMG Sevilla – June 2007 – Nora Koch © 67
  54. 54. Model-Driven Development Approaches MDD approaches based on models and model transformations MDD approaches require languages for specification of models MDD description of metamodels definition of model transformations Model transformations MDD in the Web Domain Meta models Models several methods propose modelling OOHDM, OO-H, UWE, WebML, Hera,… separation of concerns similar Web specific modeling elements different notations some methods define metamodels for modelling languages OO-H, UWE, W2000, WebML, … few approaches address model transformations OOWS, UWE, WebSA, … Sevilla – June 2007 – Nora Koch © 68
  55. 55. MDD Principles: Models and Metamodels Models computational independent model (CIM) «metamodel» M3 platform independent model (PIM) MOF platform specific model (PSM) Metamodels «instantiate» definition of concepts and relationships among concepts «metamodel» UML compatibility with the OMG metamodelling architecture M2 MOF meta-metamodel «metamodel» XMI interchange format → tool compatibility UWE (theoretically) static semantics given by OCL constraints (well-formedness rules) «instantiate» basis for tool support UWE Application M1 Model Sevilla – June 2007 – Nora Koch © 69
  56. 56. MDD Principles: Model Transformations Model transformations CIM PIM, PIM PIM, PIM PSM Model transformation languages general programming languages Java graph transformation languages Attribute Graph Grammar (AGG) query/view/transformation languages QVT ATL OMG standards MOF, UML, OCL, XMI, QVT Sevilla – June 2007 – Nora Koch © 70
  57. 57. Model Transformations Translate between source and target models instances of same or different metamodel Translation performed by a transformation engine Transformation engine executes rules Transformation rules are defined at metamodel level applied at model level Set of rules seen as a model with a metamodel Metamodels are based on a metametamodel Model transformation pattern (J. Bézivin, 2004) Sevilla – June 2007 – Nora Koch © 71
  58. 58. Model Transformations Translate between source and target models Instances of same or different metamodel Translation performed by a transformation engine Transformation engine executes rules Transformation rules are defined at metamodel level applied at model level Set of rules seen as a model with a metamodel Metamodels are based on a metametamodel Model transformation pattern (J. Bézivin, 2004) Sevilla – June 2007 – Nora Koch © 72
  59. 59. Model-Driven Process of UWE Graphical representation of the process process as UML activity diagram model transformations as stereotyped UML actions models as UML object flow states implicit initial and final state Types of models in UWE requirements model (CIM) functional models (PIM) content model navigation model … architecture models (PIM) integration models (PIM) models for J2EE, .Struts (PSM) Sevilla – June 2007 – Nora Koch © 73
  60. 60. UWE Development Process Requirements to Functional Models Sevilla – June 2007 – Nora Koch © 74
  61. 61. Music Portal Example (excerpt) Requirements model UML use case diagrams UML activity diagrams Web requirements engineering profile (WebRE) WebUser, navigation, WebProcess browse, search, … content, node, … Sevilla – June 2007 – Nora Koch © 75
  62. 62. Transformation Requirements to Content (1) Source: requirements model (UML activity diagram) objects input for Web actions objects result of Web actions Target: content model classes of the content model Profile-based transformation Sevilla – June 2007 – Nora Koch © 76
  63. 63. Transformation Requirements to Content (2) Model transformation language Query View Transformation (QVT) textual notation Transformation rule transformation ReqContent2ContentClass (webre:WebRE,uwe:UWE) { top relation R1 { checkonly domain webre c: Content {name = n}; enforce domain uwe cc: Class {name = n}; } top relation R2 {cn: String; checkonly domain webre p: Property {namespace=c: Content{}, name = cn}; enforce domain uwe p1: Property {namespace = cc: Class{}; name = cn } when {R1 (c,cc);} } } Sevilla – June 2007 – Nora Koch © 77
  64. 64. Transformation Requirements to Navigation Elements (1) Source: requirements model (UML activity diagram) search action content and node object flow states Target: navigation model query and index class navigation class navigation link Pattern-based transformation Sevilla – June 2007 – Nora Koch © 78
  65. 65. Transformation Requirements to Navigation Elements (2) Model transformation language QVT graphical notation Transformation rule Sevilla – June 2007 – Nora Koch © 79
  66. 66. Construction of Functional Models UWE metamodel and UWE profile navigation elements: navigation class, navigation link, index, … presentation elements: presentation class, anchor, image, … Case tool ArgoUWE extension of ArgoUML provides stereotypes supports (semi-)automatic execution of transformations Sevilla – June 2007 – Nora Koch © 80
  67. 67. Transformation Content to Navigation (1) Content2Navigation generates navigation classes from content classes adds a navigation links based on associations of the content model Marking elements identification of classes of the content model that are relevant for the navigation view task performed by designer Semi-automatic transformation Sevilla – June 2007 – Nora Koch © 81
  68. 68. Transformation Content to Navigation (2) Implementation Java within CASE tool ArgoUWE ATL (ATLAS Transformation Language) ATL transformation rule rule Class2NavigationClass { from c : UWE!Class ( c.oclIsTypeOf( UWE!Class ) ) to nc : UWE!NavigationClass ( name <-, ownedAttribute <- c.ownedAttribute->select( p | p.association.oclIsUndefined() ) ) } Sevilla – June 2007 – Nora Koch © 82
  69. 69. Refinement of Navigation Model Improvement based on patterns index for associations with multiplicity greater than one at the directed association end menu for navigation classes with multiple outgoing associations Implementation Java in ArgoUWE ATL Sevilla – June 2007 – Nora Koch © 83
  70. 70. Integration with Architecture Models Web Software Architecture (WebSA) approach* domain specific language for modelling architectural views of Web applications subsystem model Web Functional Viewpoint Web Architectural Viewpoint configuration model integration model Functional Subsystem Configuration Models Model Model (OO-H,UWE) UML profile of architectural modelling elements Analysis T1 Web component Merge Models to Model Web port Transformation Web connector Platform Integration Model server page, Independent Design etc. QVT-like transformations T2 T2' T2'’ Implementation J2EE models .NET models Other models *Santiago Melía, University of Alicante, PhD Thesis (2007) Sevilla – June 2007 – Nora Koch © 84
  71. 71. Generating “Big Picture” Model Generation of an integrated functional model (“big picture” ) transformation target UML state machine for integration of content, navigation and process models graph transformation language tool: Attributed Graph Grammar System (AGG) validation of correctness by model checking Sevilla – June 2007 – Nora Koch © 85
  72. 72. Big Picture: Transformation of Navigation Model capture navigation nodes as states (with parameters for data) Example: music portal: transformation for navigation node “song” Sevilla – June 2007 – Nora Koch © 86
  73. 73. Big Picture: Transformation of Business Process Sevilla – June 2007 – Nora Koch © 87
  74. 74. Big Picture: Example Transformation of Business Process Sevilla – June 2007 – Nora Koch © 88
  75. 75. Model Validation Model transformations for Web applications based on UWE and its UML-based metamodel Graph transformations into integrating UML state machine Model validation by model checking using Hugo/RT ( Automation of transformation process using Attribute Graph Grammars (AGG) Sevilla – June 2007 – Nora Koch © 89
  76. 76. Generation of Web Applications UWE uses a transformational approach to generate data model and presentation layer based on content, navigation structure and presentation models transformation rules from UWE content model to Java beans transformation rules from UWE presentation model to Java Server Pages (JSPs) UWE uses an interpretational approach using a virtual machine to interpret the process model (activity diagrams) configuration data for the virtual machine is generated from process and navigation model Implemented so far using the Spring framework transformations defined in ATLAS Transformation Language (ATL) Sevilla – June 2007 – Nora Koch © 90
  77. 77. Features of Model Transformations MDD Type CIM to PIM, PIM to PIM, PIM to PSM Complexity simple, merge Use of marks types, stereotypes, patterns, explicit marks Execution type automatic, semi-automatic, manual Implementation technique general programming language graph transformation model transformation language Sevilla – June 2007 – Nora Koch © 91
  78. 78. Classification of UWE Model Transformations Characteristics Type Complexity Marks Execution Techniques Transformation Req2Content CIM to PIM simple WebRE profile automatic QVT Req2Architecture CIM to PIM simple - manual - Content2Navigation PIM to PIM simple navigation semi- Java, ATL relevance automatic NavigationRefinement PIM to PIM simple UWE profile & automatic Java patterns Req2Navigation CIM to PIM merge WebRE profile automatic QVT Navigation2Presentation PIM to PIM simple UWE profile automatic Java, ATL StyleAdjustment PIM to PIM merge style guide automatic Java Functional2BigPicture PIM to PIM merge patterns automatic graph trans- formations Functional&Architecture2 PIM to PIM merge UWE & WebSA automatic QVT-P Integration profile Integration2J2EE PIM to PSM merge patterns automatic QVT-P, ATL Sevilla – June 2007 – Nora Koch © 92
  79. 79. UWE: Current State and Future Work Focus on systematisation and automatic generation Following the model-driven approach Use of UML notation for graphical representation Ongoing work Main focus on case-tool support Final objective to cover all relevant aspects in the development life- cycle of Web applications Sevilla – June 2007 – Nora Koch © 93
  80. 80. Summary Web engineering methodologies since 1993 many methods data-oriented, hypertext-oriented, object-oriented, software-oriented WebML, WSDM, OOHDM, UWE, WAE,… Modelling of Web applications four dimensions by modelling Web applications UWE is a modelling language UML Profile for modelling navigation, presentation, process, adaptivity, … UWE has a metamodel conservative and profileable UWE defines a model-driven development process based on model transformations focus on the use of model transformation languages such as ATL and QVT Sevilla – June 2007 – Nora Koch © 94
  81. 81. Literature Web Engineering: Systematic Development of Web Applications Gerti Kappel, Birgid Pröll, Siegfried Reich, Werner Retschitzegger (eds.) dpunkt-verlag (German version), 2003, John Wiley & Sons (English version), 2006. Web Engineering: Modelling and Implementing Web Applications G. Rossi, O. Pastor, D. Schwabe, L. Olsina (eds.), Springer (2007), to appear. Metamodelling the Requirements of Web Systems María José Escalona and Nora Koch 2nd International Conference on Web Information Systems and Technologies (WebIST'06), Setubal, Portugal, pages 310-317. INSTICC, 2006. Modelling Adaptivity with Aspects Hubert Baumeister, Alexander Knapp, Nora Koch and Gefei Zhang 5th International Conference on Web Engineering (ICWE 2005), Sydney, Australia, LNCS 3579, 406- 416, 2005. Modelling Business Processes in Web Applications with ArgoUWE Alexander Knapp, Nora Koch and Hanns-Martin Hassler 7th International Conference on the Unified Modeling Language (UML 2004), Lisboa, Portugal, LNCS 3273, 69-83, 2004. Model-Driven Generation of Web Applications in UWE Andreas Kraus, Alexander Knapp and Nora Koch 3rd International Workshop on Model-Driven Web Engineering (MDWE 2006), Como, Italy, to appear Sevilla – June 2007 – Nora Koch © 95
  82. 82. Muchas gracias! Nora Koch nora.koch (at) uwe (at) Sevilla – June 2007 – Nora Koch © 96