+ All Categories
Home > Documents > Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative...

Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative...

Date post: 27-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
19
Christian Thum, Michael Schwind, Martin Schader
Transcript
Page 1: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

Christian Thum, Michael Schwind, Martin Schader

Page 2: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 2 -

Agenda

Motivation and Research Objectives

Design Aspects

The SLiM Collaboration Environment

Conclusion

Page 3: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 3 -

Motivation:Challenges in Collaborative Software Engineering

Innovative tools are needed for tackling the challenges of distributed development: Rising number of outsourcing and offshoring projects Increased dynamics in the economic environment and evolving

organizational structures Informal collaboration in open source projects Distributed teams with heterogeneous system environments

Software design is an inherently collaborative activity

Vorführender
Präsentationsnotizen
contributions from multiple developers; establishes a common understanding of project goals creation and discussion of UML diagrams ->quality of the artifacts The success of software development projects does not only depend on organizational aspects like management support and the choice of an adequate software development process. Also technical aspects, like the development tools employed to support these processes are of vital importance. Globally distributed software developers usually are equipped with different client systems constituting a heterogeneous system landscape. Traditional approaches to interconnecting distributed developer teams require the installation, configuration, and maintenance of the same software on all client systems, which is time-consuming and costly.
Page 4: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 4 -

Motivation:Challenges in Collaborative Software Engineering

““

“In particular, support for highly synchronous activities like software design has to be significantly enhanced. [...] A shared whiteboard for collaborative elaboration of UML models has to address these challenges to make virtual collaboration around design artifacts truly effective.”

[Sengupta et al. 2006, A Research Agenda for Distributed Software Development]

“[There is a] need for tight integration of new and existing web-based and desktop-based environments [and] broader participation in the entire development process.”

[Whitehead 2007, Collaboration in Software Engineering: A Roadmap]

Vorführender
Präsentationsnotizen
demand for better tool support expressed in literature
Page 5: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 5 -

Research Objectives

The first stage of our research mainly focuses on the technical feasibility of a lightweight tool that runs in unmodified browsers: Lower the technical entry barriers for participating in the

modeling process Avoid technical issues impeding clients to be integrated into

the collaborative environment Facilitate ad hoc collaboration

Tool support for the development of a common understanding of a system’s design in agile, distributed scenarios

Vorführender
Präsentationsnotizen
Due their complexity the modeling and design phase has not been considered being suitable for support by lightweight collaboration tools
Page 6: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 6 -

Design Aspects

Traditional approaches to interconnecting developers require the installation, configuration, and maintenance of the same software on all client systems, which is time-consuming and costly.

Comprehensive web-based development platforms span the entire development process and form the central-infrastructure for coordinating an documenting project activities.

Ad hoc availability and straightforward accessibility

Integration into existing web-based platform

Vorführender
Präsentationsnotizen
The integration of distributed team members is subject to several trends and challenges, which have served us as a basis for deriving requirements and design principles for a lightweight modeling environment. #1: Ideally, collaboration partners should be able to participate in the modeling process regardless of the hardware and software equipment they use. #2: In many projects, comprehensive web-based development platform form the central infrastructure for communicating and coordinating project related activities.
Page 7: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 7 -

Design Aspects

In many cases, multiple modeling tools have to be used because not all modeling needs are met by a single tool.

Central non-functional requirements crucial for the aptitude of a collaborative UML modeling tool:

Flexible access, ad hoc availability, interoperability, integration into existing web-based platforms.

Interoperability with desktop-based modeling tools

Vorführender
Präsentationsnotizen
Interoperability with existing modeling environments increases the acceptance of innovative tools, since developers can continue using their preferred applications.
Page 8: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 8 -

internet-based web-based

limite

dfu

lly s

uppo

rted

browser-based browser-native

Sup

port

for C

olla

bora

tive

Mod

elin

g

Decreasing System Requirements

Poseidon

CUML

NetDraw

CoDesign

Cairo

Rosetta

Pounamu+WebServices

Gliffy

gModeler

eEEL

Related Work

SLiM?

Vorführender
Präsentationsnotizen
With regard to the design principles I highlighted on the previous slides, we have placed existing tools in this highly simplified diagram. The chart abstracts from the full functionality offered by the tools, which is not in scope of our research. We compared related tools only with regard to two relevant aspects. The vertical dimension shows the extent of the support for collaborative modeling. The horizontal dimension indicates the system requirements needed to get the tool ready for usage. The spectrum ranges from internet based applications that use proprietary protocols and dedicated clients to browser-native applications that only rely on functionality natively supported by modern web browsers. Due their complexity the modeling and design phase have not been considered suitable for support by lightweight collaboration tools, which can be seen by the empty boxes on the right hand side.
Page 9: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 9 -

SLiM – Synchronous Lightweight Modeling

Allows multiple users to

simultaneously work on the same

diagram in a shared

environment

Changes to the diagram are

visible in real-time.

Zero-install and on demand

availability: web access and

a modern browser* are the

only requirements

XMI-Export/Import

to desktop based modeling

tools like

*

Vorführender
Präsentationsnotizen
Immediate collaboration -> join meetings at the click of a URL live and on-demand
Page 10: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 10 -

The SLiM Collaboration Environment:Architecture Alternatives

1. Change Operation 3. Update Local View

HTTP Traffic

ClientBrowser

Presentation Layer

Web Server

Shared Object

2. Execute Change Operation

Application LogicApplication Server

ClientBrowser

Presentation Layer

Web Server

HTTP Traffic

2. Replication of Locally Executed Change Operations

Rich ClientThin Client

1. Execute Change Operation

Changes reflected instantly

Application Logic

Shared Object

Application Server

Vorführender
Präsentationsnotizen
Following slides illustrate technical challenges we faced while realizing the diagram editor and the collaboration support in the browser-native r.c. architecture
Page 11: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 11 -

The SLiM Collaboration Environment:Diagram EditorChallenge: Visualization of interactive UML elements in the browser

Emulation via HTML Div-Elements HTML 5 Canvas element SVG (Scalable Vector Graphics) and

VML (Vector Markup Language)

Plug-ins (e.g. Adobe Flash) Java Applets Various browser extension

mechanisms

Past solutions Browser-native solutions

2D Graphics

Security concernsDeployment issuesMaintenance effort

Vorführender
Präsentationsnotizen
Drawing interactive graphics on web pages has been difficult to achieve for a long time. -> beyond HTML and CSS. As it was our goal to facilitate ad hoc collaboration by minimizing the entry requirements, none of previous solutions were suitable. Being based on the XML format and with regard to existing use cases in the area of modeling, SVG or VML respectively, seemed to be the most appropriate choice.
Page 12: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 12 -

The SLiM Collaboration Environment:Diagram Editor

Challenge: Interacting with graphical elements in the browser

Although SVG and VML generally provide interfaces for event handling, browser support is limited.

1width

heig

ht

JSON Notation:BoundingBox:{left: 10px, top: 10px, width: 60px, height: 180px}

Graphical Model Element

2

1width

heig

ht

JSON Notation:BoundingBox:{left: 10px, top: 10px, width: 60px, height: 180px}

EventSource

Graphical Model Element

Event Propagation

2.3

2.1

2

1

2.2

width

heig

ht

Connection-Decorator

Resize-Decorator

Position-Decorator

EventSource

Graphical Model Element

Event P

ropagation

Vorführender
Präsentationsnotizen
Only drawing uml elements is not sufficient: A cross-browser procedure to handle events for graphics is also needed. This is a basic prerequisite for responding to mouse gestures for the manipulation of UML model elements. The figure on this slide, illustrates the approach chosen for solving this problem.
Page 13: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 13 -

The SLiM Collaboration Environment:Event-notification via the HTTP protocol

Challenge: Notifying clients about remote events

The HTTP protocol, which is used as the transport layer for communication, is built upon the request/response paradigm. All communication has to be initiated by the client.

Because of this limitation, the HTTP protocol was believed to be not suitable for implementing synchronous collaboration.

““HTTP is certainly not suited to real-time conversations”[Dix 1997, Challenges for Cooperative Work on the Web]

Vorführender
Präsentationsnotizen
A typical challenge in collaborative multi-user applications is the synchronization of local states on all clients. Therefore, the exchange of messages between clients is necessary. Although interactivity has increased in Web 2.0 applications, there is no simple way of sending events from the server to the clients.
Page 14: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 14 -

The SLiM Collaboration Environment:Collaboration Support

Challenge: Notifying clients about remote events

Plug-ins (e.g. Flash XML Sockets) Java RMI

HTTP Polling Comet

HTTP Streaming Long Polling, Callback-Polling

Past solutions Browser-native solutions

real-time communication

Security concernsFirewall issuesMaintenance effort

Vorführender
Präsentationsnotizen
Realizing collaboration functionality on the basis of the stateless HTTP protocol, optimized for client requests, is not trivial. In the diagram editor, it is necessary to propagate locally executed user actions to other clients.
Page 15: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 15 -

User Activity

Client-Side Processing

ClientBrowser UI

Comet Client

Server

Time (t)

Event

Connection Initialized

Upd

ate

Upd

ate

Dat

a Tr

ansm

issi

on

Comet Event Bus

Server-Side Processing

Event

Dat

a Tr

ansm

issi

on

Upd

ate

Event

Data Transm

ission

Event Event EventD

ata

Tran

smis

sion

Dat

a Tr

ansm

issi

onU

pdat

e

1.1

2.1

3.1

3.2

2.2

2.3

1.2

1.3 3.3

The SLiM Collaboration Environment:Comet - Scalable HTTP-based event routing

[based on Russell 2007]

Page 16: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 16 -

Conclusion

Technical feasibility of a lightweight browser-native tool that supports the modeling process in distributed software-engineering processes was shown

By leveraging the benefits of web technologies, tools can be created, which considerably reduce the barriers of engaging in collaborative work

In particular, the dependence of the distributed team members on the availability and capability of their IT department is reduced.

Vorführender
Präsentationsnotizen
With our SLiM prototype we have shown solutions to problems that previously prevented the implementation of interactive editors on the sole basis of a web browser. In particular, it has been shown that it is possible to provide a fully collaborative modeling tool with minimal requirements towards the client systems to be integrated.
Page 17: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 17 -

Future Research

Future research will target several important aspects a deeper insight into organizational and UML-related

challenges in collaborative scenarios Integration of SLiM with a traceability and versioning system User-Study: SLiM in student team projects

FurtherInformation http://www.wifo.uni-mannheim.de/~slim/

Vorführender
Präsentationsnotizen
So far, the focus has been on the technical feasibility of a lightweight browser-native approach.
Page 18: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 18 -

Any questions?Feedback is appreciated.

Thank you for your attention!

contact: [email protected]

Page 19: Christian Thum, Michael Schwind, Martin SchaderSoftware design is an inherently collaborative activity contributions from multiple developers; establishes a common understanding of

- 19 -

References

Dix, A.: Challenges for cooperative work on the web: An analytical approach. Computer Supported Cooperative Work (CSCW) 6(2), 135–156 (1997)

Russell, A.: Comet: Low latency data for the browser (2006), http://alex.dojotoolkit.org/?p=545

Sengupta, B., Chandra, S., Sinha, V.: A Research Agenda for Distributed Software Development. In: Proceedings of the 28th International Conference on Software Engineering (ICSE 06), Shanghai, China, pp. 731-740 (2006)

Whitehead, J.: Collaboration in software engineering: A roadmap. In: Future of Software Engineering (FOSE 2007), Minneapolis, Minnesota, USA, pp. 214–225 (2007)


Recommended