Top Banner
1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University USA
44

1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

Mar 27, 2015

Download

Documents

Austin Willis
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

1

Model-based Configuration Managementfor a Web Engineering Lifecycle

Tien N. NguyenElect. and Computer Engineering Department

Iowa State UniversityUSA

Page 2: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

2

Web Engineering Web development has changed

Initially seen as a form of authoring Now, also a form of application development

A lot of efforts and time have been spent to maintain Web-based applications.

Requires the same rigor as successful software development/maintenance Hence, Web engineering has emerged Promotes the use of sound technical and

management principles for Web applications

Page 3: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

3

Web application development methods Several Web and hypermedia application

development methods have been proposed. WebComposition, OOHDM, RMM, Model-

driven Web development, HyperDE, WAM… They introduce several models that address

different aspects of Web development. Data, presentation, navigation, etc

Each method introduces different set of logical abstractions and entities.

Page 4: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

4

Configuration Management Software configuration management (SCM)

software engineering sub-discipline SCM is the discipline of organizing and

managing the evolution of a software system. Web SCM has special challenges: variety of

object types, high rate of changes, continuous evolution, hyperlink structures,…

Various types of Web SCM tools Version control, change management, content

management, configuration management

Page 5: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

5

Related work Version and configuration management tools

Focus on files, not a Web project as a whole Change management based on files, text lines Inadequate to represent Web object structure

Web application development environments File/directory-oriented versioning (commercial) Limited support for CM (research)

Versioned hypermedia systems: focus on hypermedia documents, limited support for programs

Our previous work (Molhado [ICSE 2005], SC [WWW 2004]) focused on contents of Web artifacts.

Page 6: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

6

Example

*

v1 v2

File representation level

Logical level

--------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Page 7: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

7

File-oriented SCM model

FILES/DIRECTORIES

(text or structured files)

File-based SCM

system

Web Engineering Models Configuration Management

Primary targets of SCM are files/directories.

<html>-----------------------

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Page 8: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

8

Model-based Web SCM All Web objects in models are versioned and

saved persistently. Web objects do not need to be files or within files

<html>-----------------------

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SCM repository

Page 9: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

9

Model-based Web SCM framework

SCM MODEL

VERSION MODEL

SYSTEMMODEL

DATA MODEL

FILES, DIRECTORIES

<html>-----------------------

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Page 10: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

10

Web SCM infrastructure An infrastructure for building SCM services

into Web engineering environments The infrastructure provides

Direct representation of Web object structure and structural changes, without need for analysis of file contents,

SCM among entities, rather than among files, Structure-oriented versioning and SCM of

Web entities in any models, and Versioned hypermedia between entities.

Page 11: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

11

Web SCM architecture (2)

Generic Data Model Version Model

Structure Versioning Model

System Model

Configuration Management

Model

Versioned Hypermedia

Model

New types

of objects

THIRD-PARTY ENVIRONMENTCalling API

functions

Web SCM Infrastructure

Web Engineering tools/editors

Page 12: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

12

Web SCM architecture (3)

Generic Data Model Version Model

Structure Versioning Model

System Model

Configuration Management

Model

Versioned Hypermedia

Model

Existing Object types

Web tools/editors

Bridges/wrappers

Calling API

functions

THIRD-PARTY ENVIRONMENT

Web SCM Infrastructure

Page 13: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

13

Node: a basic unit of identity (containing no values intrinsically other than itself)

Slot: a location that stores a value of any data type, possibly a reference. Can exist in isolation, but typically attached

to nodes via attributes Attribute: A mapping from nodes to slots

Versioned Data Model

Page 14: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

14

Adding Version Control

Attribute table

3 kinds of slots: constant, mutable, versioned

Page 15: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

15

Graph-based Structure Versioning

1 2 3

4

5

Attr-name “a” “b” “c”

Attr-val

•Graph can be nested.•Attribute value can be in any data type, possibly a reference.

version

Page 16: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

16

Structure Versioning Scheme

Tools/editors

Attributed trees and directed graphs

<html>-----------------------

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Page 17: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

17

Fine-grained Structure Versioningv1 v2

Page 18: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

18

Benefits Very flexible

Nodes can participate in multiple graphs One mechanism for storing all information

Graph structure and content Common structure shared among versions Fine-grained structure versioning of Web

object’s internal structure and other important structures such as navigational, compositional, and logical structures.

Page 19: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

19

Tree-structured discrete timeV1.0

V2.0

V3.0

V3.1 V3.2

A version is a point in the system’s lifetime.

Versions are points in time

Page 20: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

20

Product VersioningTree-structured discrete timeV1.0

V2.0

V3.0

V3.1 V3.2

One global version space across entire project

Page 21: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

21

Editing and Versions

Users select a current version to work on.

Tree-structured discrete timeV1.0

current => V2.0

V3.0

V3.1 V3.2

Temporary version

Page 22: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

22

System Model Acts as a bridge to third-party environment Works at the model level, rather than files

Allows for the description of a Web application via models with objects, compositions, structures, and relationships

Provides an infrastructure for extensibility of new types of Web objects Atomic and composite component types User-defined object types derived from them Structure is represented via a directed graph

Page 23: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

23

A composite object contains a directed graph whose nodes have versioned references to objects. Nodes can have multiple user-defined attributes.

This attributed digraph is used to represent the structure of a composite object.

Composite object

component component

component component

A versioned reference to a member component

Composite object

Page 24: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

24

SCM supports via Molhado [ICSE 2005] set the current version (switching), discard or capture changes to a project, detect (structural) changes between two

arbitrary versions, open and create a project, retrieve and modify meta-data of a project or

of a version, manipulate structures,…

Configuration Management

Page 25: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

25

HTML-style hyperlinks Each node can have an “href” slot.

Using edges in a directed graph Create a composite component Use the digraph of the composite component

to represent relationships among objects Versioned hypermedia model

Hypermedia elements are first-class entities.

Hypertext Versioning

Page 26: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

26

Open hyperbase approach: A relationship (hypertext) network is managed separately from object contents.

A relationship network is defined as a set of links and anchors.

A link, representing a relationship, is an association among a set of anchors.

An anchor denotes a region of interest within an object, but is not part of it.

A linkbase: a container of hypertext networks

Hypermedia entities

Page 27: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

27

Relationship network example

Page 28: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

28

A linkbase is a composite component. A hypertext network is an atomic component,

and has a digraph-based internal structure. Each link or anchor is represented as a

logical unit (node) in that graph. The graph represents linking structure among

anchors and links. Digraph versioning scheme enables fine-

grained versioning for hypertexts and links.

Representation for hypermedia

Page 29: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

29

Links are explicit and have variable arity. Both fine-grained and coarse-grained linking

are supported. Relationship networks are separated from

object contents. Fine-grained versioning for hypermedia

structures and individual links

Benefits of this hypermedia

Page 30: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

30

WebSCM OO Hypermedia design model [Schwabe et

al] Conceptual data model: schema design Presentation model: Web screen design

Presentation design Screen composition design Navigational design

Implementation model: HTML, scripts, … WebSCM manages configurations among

objects in different models and versions of logical connections among them.

Page 31: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

31

Conceptual schema

Page 32: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

32

Implementation level Representing Web content Types of objects

Data objects: documents, images, audio, video Source code: scripts, applets, controls Component libraries: JavaBeans, MSF classes

Textual vs. binary Textual objects are structurally versioned

Markup documents (?ML), source code Binary objects are versioned as a whole

Page 33: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

33

Content change management Allows users to track history at any level

Document node Web objects Web system as a whole

Uses either the tree-based or digraph-based structure versioning algorithms

The algorithms are generic for any node in a tree or a digraph

Differencing and merging

Page 34: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

34

Differencing tools

Page 35: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

35

Versioning for an element

Page 36: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

36

HTML version comparison

Page 37: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

37

A novel SCM approach: model-based SCM An infrastructure for building SCM services

into Web engineering environments Direct representation of Web object structure

and structural changes Manage changes to Web objects at different

levels of abstractions in a more meaningful manner

Manage different structures (internal, navigational, compositional), and logical connections among Web objects

Conclusions

Page 38: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

38

Thank you

Tien N. Nguyen

Elect. and Computer Engineering Department

Iowa State University

www.eng.iastate.edu/~tien/

[email protected]

Page 39: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

39

1

2 3

4 5

1

2 3

Version v1 Version v2

(content is modified)

Content Children Parent

n1 “” [n2,n3] null

n2 “” [n4,n5] n1

n3 “” null n1

n4 “” null n2

n5 “old” null n2

Content Children Parent

n1 “” [n2,n3] null

n2 “” [n5] n1

n3 “” null n1

n4 “” null null

n5 “new” null n2

5

Fine-grained tree versioning

Page 40: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

40

Navigational structure

Page 41: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

41

Avoid complexity of version creation in versioning tasks for hypermedia structure Reduces cognitive overhead for users

Avoid a serious UI problem: version selection problem in link navigation Users’ traversal occurs at current version.

Avoid problems in providing SCM for both hypermedia structure and individual links

No more check in, check out individually for hypermedia entities

Benefits of this hypermedia (2)

Page 42: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

42

Data records

Page 43: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

43

Model-to-model logical connections

Page 44: 1 Model-based Configuration Management for a Web Engineering Lifecycle Tien N. Nguyen Elect. and Computer Engineering Department Iowa State University.

44

Web screen design Presentation design

A screen: basic unit of the presentation model Users specify presentation properties of a

screen via CSS-like style sheets Composition of screens: atomic & composite

Frame A

screen 1

screen 2

Frame B

Frame Bscreen 3

screen 4