Towards a Common Metamodel for the Development of Web Applications



Similar documents
The Expressive Power of UML-based Web Engineering 1

Chapter 7. UML-BASED WEB ENGINEERING An Approach Based on Standards 7.1 OVERVIEW

MDA Transformations Applied to Web Application Development 1

Model Transformations from Requirements to Web System Design

Modeling the User Interface of Web Applications with UML

Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

The Authoring Process of the UML-based Web Engineering Approach

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Mapping between Levels in the Metamodel Architecture

Model-Driven Development: A Metamodeling Foundation

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

Modeling Business Processes in Web Applications with ArgoUWE

What is a metamodel: the OMG s metamodeling infrastructure

Generating Aspect Code from UML Models

A UML 2 Profile for Business Process Modelling *

UML PROFILING AND DSL

Business Model Interoperability using Enterprise Model Integration

Tool Support for Model Checking of Web application designs *

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Model-Driven Architecture: Vision, Standards And Emerging Technologies

Meta Model Based Integration of Role-Based and Discretionary Access Control Using Path Expressions

A Framework of Model-Driven Web Application Testing

Revel8or: Model Driven Capacity Planning Tool Suite

All you need are models Anneke Kleppe, Klasse Objecten

Model-Driven Data Warehousing

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

Designing Rich Internet Applications Combining UWE and RUX-Method

A Common Metamodel for Code Generation

Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework

A Tool Suite for the Generation and Validation of Configurations for Software Availability

Megamodels as models of the linguistic architecture of software products and software technologies

Overview

Model Driven Business Architecture. Pete Rivett CTO, Adaptive

Business Process Modeling and Standardization

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

MDA and Analysis of Web Applications

How To Understand The Organizational Model Of A Multiagent System

Model-Driven ERP Implementation

Int. J. Business Process Integration and Management, Vol. 2, No. 2,

Clarifying a vision on certification of MDA tools

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Development of Tool Extensions with MOFLON

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)

CIM to PIM Transformation: A criteria Based Evaluation

Model-Driven Generation of Web Applications in UWE 1

Applying MDA in Developing Intermediary Service for Data Retrieval

Business Rule Standards -- Interoperability and Portability

Metamodels and Modeling Multiple Kinds of Information Systems

Modelling the Railway Control Domain rigorously with a UML 2.0 Profile

MDA Journal A BPT COLUMN. David S. Frankel. January Until February. David Frankel

Requirements Exchange: From Specification Documents to Models

A Pattern-based Approach to Business Process Modeling and Implementation in Web Services

Model-Driven Development - From Frontend to Code

An MDA Approach for the Development of Web applications

Towards Integrating Modeling and Programming Languages: The Case of UML and Java

A Brief Analysis of Web Design Patterns

Department of Computer Science, Institute for Software and Multimedia Technology OCL. by Example

Model-driven secure system development framework

1. Visual Paradigm for UML

Information Management Metamodel

Recent Advances in Eclipse QVTO!

Jairson Vitorino. PhD Thesis, CIn-UFPE February Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Appendix... B. The Object Constraint

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

Preserving Architectural Choices throughout the Component-based Software Development Process

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features

Developing in the MDA Object Management Group Page 1

Business Modeling with UML

Enterprise and Business Processes - How to Interoperate? The Standards View

Review on StarUML an Open-Source Unified Modeling Language Tool

A Model Driven Architecture Approach to Web Development

On the Use of Model Transformations for the Automation of the 4SRS Transition Method

Transcription:

Towards a Common Metamodel for the Development of Web Applications Nora Koch and Andreas Kraus Ludwig-Maximilians-Universität Munich, Germany

Motivation Overwhelming diversity of Web methodologies Goal: Different views (models) and modeling elements Different notations Unification at high level of abstraction metamodel for Web methodologies Common metamodel Better comparison and integration Fundamental for tool support and code generation Allows different development processes Allows use of subsetsof modeling elements (like UML) Allows different notations (concrete syntax) Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 2

Overview About UWE A Step Towards the Common Metamodel: UWE Metamodel Mapping to the Notation Conclusions and Future Work Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 3

About UWE UML-based Web Engineering (UWE) is an object-oriented approach based on UML and the Unified Process Main focus of UWE is the systematic design followed by a semiautomatic generation of Web applications Systematic design supported by CASEtool ArgoUWE an extension of ArgoUML Semi-automatic generation supported by UWEXML a model-driven Code Generator for deployment to an XML publishing framework OpenUWE development environment UWE metamodel Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 4

UWE Metamodel Definition of concepts and relationships among concepts Compatibility with the OMG metamodeling architecture MOF meta-metamodel XMI interchange format tool compatibility Conservative extension of the UML metamodel Static semantics given by OCL constraints (Well-formedness rules) Basis for the open tool suite OpenUWE MOF UML UWE ApplicationModel M3 M2 M1 Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 5

Conservative Extension UML modeling elements are not modified, e.g. by adding additional features are extended by inheritance 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

Package Structure UWE Behavioral Elements Behavioral Behavioral Elements Elements Model Management Model Management Model Management Foundation Foundation Foundation = UML Metamodel = UWE Metamodel Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 7

Package Structure (cont.) Foundation Core Behavioral Elements Conceptual Navigation Presentation Adaptation Task User Context Environment Model Management Separation of Concerns Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 8

Conceptual Package Feature +feature {ordered} 0..1 +owner Classifier 1 +participant AssociationEnd +association 2.. +connection BehavioralFeature StructuralFeature {ordered} 1 Operation Attribute Class Association ConceptualOperation ConceptualAttribute ConceptualClass ConceptualAssociation = UML Metamodel = UWE Metamodel Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 9

Navigation Package Class Association NavigationNode islandmark : Boolean +source 1 {derived} +outlinks Link isautomatic : Boolean +target 1.. {derived} +inlinks 1.. NavigationClass Menu ExternalNode url : String ExternalLink NavigationLink TaskLink 0..1 Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 10

Navigation Package (cont.) NavigationNode ConceptualClass (UWE.Foundation.Core.Conceptual) +derivedfrom 1 NavigationClass <<implicit>> ConceptualAttribute (UWE.Foundation.Core.Conceptual) +derivedfromattributes NavigationAttribute Attribute Example Same example of a well-formedness constraint in OCL: rule: context inv: Navigation NavigationClass attributes are derived from from conceptual attributes. These navigation attributes have to be reachable by navigation forall( f self.derivedfrom.transitiveclosure->exists( feature = f ) ) through the model self.feature->select( ocliskindof(navigationattribute) ).derivedfromattributes-> Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 11

Mapping to the Notation Mapping to extended UML syntax in a non-standard way i.e. not using extension mechanisms of the UML Standard UML CASE tools can not be used 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

Mapping to the Notation (cont.) Mapping to a UML Profile Mapping uses standard extension mechanisms like stereotypes, tagged values and OCL constraints Standard UML CASE tools can be used Compatibility with the UML XMI interchange format Profile support Active: by plug-ins, tool extensions Passive: by an external tool Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 13

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 islandmark : Boolean NavigationClass abstract syntax <<navigation class>> <<navigation class>> <<navigation MyNavigationClass class>> MyNavigationClass MyNavigationClass {islandmark, derivedfrom=mycclass} {islandmark} notation «navigation node» «navigation class» Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 14

Example UWE Model <<navigation class>> Conference {islandmark, derivedfrom=conference} reviewdeadline : Date{derivedFromAttributes=reviewDeadline} submissiondeadline : Date{derivedFromAttributes=submissionDeadline} title : String{derivedFromAttributes=title} <<navigation link>> <<navigation class>> Paper {derivedfrom=paper} keywords[] : String{derivedFromAttributes=keyword.key} title : String{derivedFromAttributes=title} <<navigation link>> 1.. <<navigation class>> {derivedfrom=author} {derivedfrom=author} <<navigation link>> affilation : String{derivedFromAttributes=affilation} name : String{derivedFromAttributes=name} 1.. SubmittedPapers <<navigation link>> <<navigation class>> Author affilation i : String{derivedFromAttributes=affilation} name : String{derivedFromAttributes=name} Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 15

Conclusions / Future Work Definition of the UWE metamodel a first step towards a common metamodel for Web applications Systematic mapping to the UWE notation (UML profile) Future Work Refinement of the UWE metamodel and unification with other methodologies, especially concerning dynamic aspects Meta tool suite OpenUWE CASE tool ArgoUWE Code generators Model checking Andreas Kraus Towards a Common Metamodel for the Development of Web Applications 16

Thank you for your attention Further questions? Nora Koch kochn@informatik.uni-muenchen.de Andreas Kraus krausa@informatik.uni-muenchen.de