1 Basic Embedded Software Engineering: The Software Lifecycle.
Model-based Configuration Management for a Web Engineering Lifecycle
Transcript of Model-based Configuration Management for a Web Engineering Lifecycle
![Page 1: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/1.jpg)
1
Model-based Configuration Managementfor a Web Engineering Lifecycle
Tien N. NguyenElect. and Computer Engineering Department
Iowa State UniversityUSA
![Page 2: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/2.jpg)
2
Web EngineeringWeb development has changed
Initially seen as a form of authoringNow, 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 emergedPromotes the use of sound technical and management principles for Web applications
![Page 3: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/3.jpg)
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, etcEach method introduces different set of logical abstractions and entities.
![Page 4: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/4.jpg)
4
Configuration ManagementSoftware configuration management (SCM)
software engineering sub-disciplineSCM 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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/5.jpg)
5
Related workVersion and configuration management tools
Focus on files, not a Web project as a whole Change management based on files, text linesInadequate to represent Web object structure
Web application development environmentsFile/directory-oriented versioning (commercial)Limited support for CM (research)
Versioned hypermedia systems: focus on hypermedia documents, limited support for programsOur previous work (Molhado [ICSE 2005], SC [WWW 2004]) focused on contents of Web artifacts.
![Page 6: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/6.jpg)
6
![Page 7: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/7.jpg)
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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/8.jpg)
8
Model-based Web SCMAll 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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/9.jpg)
9
Model-based Web SCM framework
SCM MODELSTRUCTURE VERSIONIN
G
VERSIONED HYPERMEDIA
VERSION MODEL
SYSTEMMODEL
DATA MODEL
FILES, DIRECTORIES
<html>-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
![Page 10: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/10.jpg)
10
Web SCM infrastructureAn infrastructure for building SCM services into Web engineering environmentsThe 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, andVersioned hypermedia between entities.
![Page 11: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/11.jpg)
11
![Page 12: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/12.jpg)
12
![Page 13: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/13.jpg)
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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/14.jpg)
14
Adding Version ControlAttribute table
3 kinds of slots: constant, mutable, versioned
![Page 15: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/15.jpg)
15
![Page 16: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/16.jpg)
16
Structure Versioning Scheme
Tools/editors
Attributed trees and directed graphs
<html>----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
![Page 17: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/17.jpg)
17
![Page 18: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/18.jpg)
18
BenefitsVery flexible
Nodes can participate in multiple graphsOne mechanism for storing all information
Graph structure and contentCommon structure shared among versionsFine-grained structure versioning of Web object’s internal structure and other important structures such as navigational, compositional, and logical structures.
![Page 19: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/19.jpg)
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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/20.jpg)
20
Product VersioningTree-structured discrete timeV1.0
V2.0
V3.0
V3.1 V3.2
One global version space across entire project
![Page 21: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/21.jpg)
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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/22.jpg)
22
System ModelActs as a bridge to third-party environmentWorks 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 typesUser-defined object types derived from themStructure is represented via a directed graph
![Page 23: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/23.jpg)
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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/24.jpg)
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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/25.jpg)
25
HTML-style hyperlinksEach node can have an “href” slot.
Using edges in a directed graphCreate a composite componentUse the digraph of the composite component to represent relationships among objects
Versioned hypermedia modelHypermedia elements are first-class entities.
Hypertext Versioning
![Page 26: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/26.jpg)
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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/27.jpg)
27
Relationship network example
![Page 28: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/28.jpg)
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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/29.jpg)
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: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/30.jpg)
30
WebSCMOO Hypermedia design model [Schwabe et al]Conceptual data model: schema designPresentation model: Web screen design
Presentation designScreen composition designNavigational design
Implementation model: HTML, scripts, …WebSCM manages configurations among objects in different models and versions of logical connections among them.
![Page 31: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/31.jpg)
31
Conceptual schema
![Page 32: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/32.jpg)
32
Implementation levelRepresenting Web contentTypes of objects
Data objects: documents, images, audio, videoSource code: scripts, applets, controlsComponent libraries: JavaBeans, MSF classes
Textual vs. binaryTextual objects are structurally versioned
Markup documents (?ML), source codeBinary objects are versioned as a whole
![Page 33: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/33.jpg)
33
Content change managementAllows users to track history at any level
Document nodeWeb objectsWeb system as a whole
Uses either the tree-based or digraph-based structure versioning algorithmsThe algorithms are generic for any node in a tree or a digraphDifferencing and merging
![Page 34: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/34.jpg)
34
Differencing tools
![Page 35: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/35.jpg)
35
Versioning for an element
![Page 36: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/36.jpg)
36
HTML version comparison
![Page 37: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/37.jpg)
37
A novel SCM approach: model-based SCMAn infrastructure for building SCM services into Web engineering environments
Direct representation of Web object structure and structural changesManage changes to Web objects at different levels of abstractions in a more meaningful mannerManage different structures (internal, navigational, compositional), and logical connections among Web objects
Conclusions
![Page 38: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/38.jpg)
38
Thank you
Tien N. NguyenElect. and Computer Engineering Department
Iowa State Universitywww.eng.iastate.edu/~tien/
![Page 39: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/39.jpg)
39
1
2 3
4 5
1
2 3
Version v1 Version v2
(content is modified)
Content Children Parent
n1 “” [n2,n3] nulln2 “” [n4,n5] n1n3 “” null n1n4 “” null n2n5 “old” null n2
Content Children Parent
n1 “” [n2,n3] nulln2 “” [n5] n1n3 “” null n1n4 “” null nulln5 “new” null n2
5
Fine-grained tree versioning
![Page 40: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/40.jpg)
40
Navigational structure
![Page 41: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/41.jpg)
41
Avoid complexity of version creation in versioning tasks for hypermedia structure
Reduces cognitive overhead for usersAvoid 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 linksNo more check in, check out individually for hypermedia entities
Benefits of this hypermedia (2)
![Page 42: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/42.jpg)
42
Data records
![Page 43: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/43.jpg)
43
Model-to-model logical connections
![Page 44: Model-based Configuration Management for a Web Engineering Lifecycle](https://reader031.fdocuments.net/reader031/viewer/2022020705/61fb91312e268c58cd5fb4eb/html5/thumbnails/44.jpg)
44