CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.

Slides:



Advertisements
Similar presentations
DWebSpec Why dWebSpec? It could be asked,with all the web application alternatives.
Advertisements

ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007.
© Copyright 2008 STI - INNSBRUCK Web Engineering Developing Applications with WebML Lecture IV – 28 th October 2008 Federico M. Facca.
Software Engineering COMP 201
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Nov. 14, 2007 Systems Engineering ä System ä A set or arrangement of things so related as to form a unity or organic whole. ä A set of facts, principles,
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
CMPT 370: Information Systems Design Instructor: Curtis Cartmill, Simon Fraser University – Summer 2003 Lecture Topic: Layered Architecture Class Exercise:
1st Project Introduction to HTML.
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Recommender Systems on the Web: A Model-Driven Approach Gonzalo Rojas – Francisco Domínguez – Stefano Salvatori Department of Computer Science University.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Practical Database Design Methodology and Use of UML Diagrams.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Chapter 1 The Systems Development Environment
Conceptual Modeling Issues in Web Applications enhanced with Web services Sara Comai, Politecnico di Milano In collaboration with:
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
1 © Copyright 2015 Ioan Toma, Srdjan Komazec, Nelia Lassiera Web Engineering Developing Applications with WebML.
CSE 303 – Software Design and Architecture
The Systems Development Methodologies. Objectives  Describe the information Systems Development Life Cycle (SDLC)  Explain prototyping  Explain Rapid.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
Introduction to MDA (Model Driven Architecture) CYT.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Introduction To System Analysis and Design
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
 Three-Schema Architecture Three-Schema Architecture  Internal Level Internal Level  Conceptual Level Conceptual Level  External Level External Level.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
ANKITHA CHOWDARY GARAPATI
Navigation and Presentation Design Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems October 7, 2010.
An approach for Framework Construction and Instantiation Using Pattern Languages Rosana Teresinha Vaccare Braga Paulo Cesar Masiero ICMC-USP: Institute.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Viewpoint Modeling and Model-Based Media Generation for Systems Engineers Automatic View and Document Generation for Scalable Model- Based Engineering.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
Practical Database Design Methodology and Use of UML Diagrams
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
SysML v2 Formalism: Requirements & Benefits
Lec 6: Practical Database Design Methodology and Use of UML Diagrams
Developing Applications with WebML Lecture 7 Dr. Mohammad Ahmad
Web Application Modeling
Evaluating Compuware OptimalJ as an MDA tool
Database Systems Instructor Name: Lecture-3.
Constructing MDA-based Application Using Rational XDE for .NET
Presentation transcript:

CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan

Model Driven Development (MDD) In MDD approach software development is driven by models –Models are written in a software modeling language such as UML These high level models are systematically translated to concrete implementations Models provide an abstract, implementation platform independent view of the software system

Model Driven Development Software development is a modeling activity –Even if the developers do not use any modeling language they have mental models of the problem and the solution they are developing –These models are then translated to code using the abstractions provided by the programming language MDD adds more layers of abstraction that can be used for modeling both the problem domain and the solution Different aspects of an application can be modeled using different modeling techniques

Separation of Concerns MDD promotes separation of concerns Different modeling techniques are used for modeling different aspects of the application MDD separates technology dependant concerns from the application logic

Automation MDD promotes automation Automated analysis and verification of models –Since models do not contain implementation details they are easier to analyze Automated code generation from models –Guaranteeing conformance to models Runtime monitoring based on models –Using runtime monitoring to make sure that the implementation follows the behavior specified in the model Automated test generation –Models can be used to generate tests for testing the implementation

Model Driven Architecture (MDA) MDA is supported by the Object Management Group (OMG) MDA separates the business and application logic from the underlying implementation platform MDA is a forward engineering approach where first abstract model diagrams are developed which are later transformed to code The goal of MDA is to separate the conceptual design from the implementation architecture

The MDA approach First, the developers build platform independent models for the application –uses machine readable design models –uses modeling languages such as UML These platform independent models document the business functionality of an application –separate from the technology-specific code that implements it After the implementation platform is chosen –the platform independent models are translated to platform specific models –then the platform specific models are used to guide the implementation for the chosen platform

Platform Independance The platform independent models enable the business and technological concerns to evolve separately Models enable interoperability both within and across platform boundaries –models serve as a technology neutral specification of the functionality Different components of the system can be implemented in different platforms –they can be easily integrated since they all conform to the same design models

MDA Benefits for Software Lifecycle Implementation: MDA enables integration of new implementation infrastructures based on the existing design models Integration: Integration is easier since both the implementation and the design models exists at the time of integration. Maintenance: the availability of the design in a machine- readable form gives developers direct access to the specification of the system, making maintenance much simpler Testing and simulation: The design models can be validated against requirements and executable models can also be used to simulated the behavior of the system

Web Modeling Language (WebML) WebML is a modeling language for developing web applications – WebML was proposed about 10 years ago WebML if a modeling language for MDD of web applications WebML models are high-level, implementation- independent, conceptual models

WebML References Stefano Ceri, Piero Fraternali, Aldo Bongio: Web Modeling Language (WebML): a modeling language for designing Web sites. Computer Networks 33(1-6): (2000) Stefano Ceri, Piero Fraternali, Maristella Matera: Conceptual Modeling of Data-Intensive Web Applications. IEEE Internet Computing 6(4): (2002) Stefano Ceri, Marco Brambilla, Piero Fraternali: The History of WebML Lessons Learned from 10 Years of Model-Driven Development of Web Applications. Conceptual Modeling: Foundations and Applications 2009: Stefano Ceri et al. Designing Data-Intensive Web Applications, Morgan Kaufmann Series in Data Management Systems.

WebML and WebRatio There is a spinoff company that has a software tool that generates code from WebML models – WebML models can be translated to implementations using a software tool based on WebML called WebRatio Separation of concerns –Technological mapping is handled by WebRatio and WebML models are platform independent

WebML WebML is used to create orthogonal conceptual models: –Data model Entity-relationship diagrams (UML class diagrams), describes the data schema –Navigation model Modeling of how information is assembled to pages and linked to each other (hypertext model) –Presentation model Modeling of the views, page layout Separation of concerns: data content, interface logic and presentation logic are specified separately

Data Model The data model is consists of entity-relationship diagrams –similar to UML class diagrams Identify the data objects that will be stored in the back-end database –The attributes of the data objects –The relations among the data objects

Navigation Model (Hypertext Model in WebML) Units for publishing content: –Data and index units Links –Navigation links –Transport links (no navigation, just parameter passing between units) –Automatic links (automatically navigated) Contextual links transfer data whereas non-contextual links only used for navigation The semantics of navigation model is based on statecharts –There is a page navigation algorithm which given a WebML navigation model and a user event identifies what the contents of the next page will be

Presentation Model Enables dressing of the hypertext model to obtain web pages with the desired layout and the look & feel It allows the use of html templates which are applied to the hypertext model to generate the pages WebML includes pre-defined presentation style sheets that can be used

Modeling skeleton Using WebML it is possible to abstract a web application to elementary structures called skeletons (pairs of data and hypertext models) that show a certain aspect of the design Core skeletons for displaying and managing business objects Access skeletons for categorizing and selecting concepts Interconnection skeletons define the relations between the business objects Content management skeletons