modeling and analyzing the eclipse application lifecycle

17
1 Modeling and Analyzing the Eclipse A pplication L ifecycle F ramework Project (Eclipse/ALF) Agent and goal modeling and analysis of an Open Source Development Platform design effort Daniel Gross, Eric Yu Faculty of Information Studies University of Toronto {gross,yu}@fis.utoronto.ca

Upload: others

Post on 07-May-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modeling and Analyzing the Eclipse Application Lifecycle

1

Modeling and Analyzing the Eclipse Application Lifecycle Framework Project

(Eclipse/ALF)

Agent and goal modeling and analysis of an Open Source Development Platform design effort

Daniel Gross, Eric YuFaculty of Information Studies

University of Toronto{gross,yu}@fis.utoronto.ca

Page 2: Modeling and Analyzing the Eclipse Application Lifecycle

2

Designer Autonomous design effort / decision area

Reduce adoption barrier, ease of

multiple authentications

Ease of use, easy to administer, expressive

execution language

Reduce complexity of design,

Secure user credentials handling,

Tailorable lower-level infrastructure

Minimize changes required

ALF Architecture Landscape

Page 3: Modeling and Analyzing the Eclipse Application Lifecycle

3

Research Method• Empirical study of how designers actually work

open source design discussion– On the mailing list– As published online in requirements and design documentation– From weekly conference calls – External reference literature

• Representing their design reasoning in strategic design models

• Evaluating benefits of design representation

Page 4: Modeling and Analyzing the Eclipse Application Lifecycle

4

How is Authentication designed

• Authentication for tools accessed during “service flow”– ALF provides Single Sign On solution– ALF requires external identity manager such as

LDAP– ALF works without identity manager

• Passes along user id / passwords• Adds optional user mapping “light” SPI,

implementable by ALF site administrators.

Page 5: Modeling and Analyzing the Eclipse Application Lifecycle

5

Actor-oriented analysis: identify relevant stakeholders and respective goals

Page 6: Modeling and Analyzing the Eclipse Application Lifecycle

6

Actor-oriented analysis

What if ALF designers decide not to deal with authentication within ALF

Page 7: Modeling and Analyzing the Eclipse Application Lifecycle

7

Actor-oriented analysis

What if ALF designers decide to take on all Authentication implementing/adopting a

single sign on facility

Page 8: Modeling and Analyzing the Eclipse Application Lifecycle

8

Actor-oriented analysis

What if ALF designers decide to take on some of the Authentication functionality

Page 9: Modeling and Analyzing the Eclipse Application Lifecycle

9

Premises of modeling approach

How to deal with distributed decision situations:

• Multiple designers, who are involved in, and/or are affected by, design decision making

• Designers operate out of separate jurisdictions, without the existence of one central authority

• Designers relate through a (social) network of (more or less) common interests

Page 10: Modeling and Analyzing the Eclipse Application Lifecycle

10

Distributed decision situations(vs. distributed systems)

• Multiple design decision makers

• Decision makers responsible for different parts/aspects of the system

• Designers have limited or no control over design decisions of others

• Designer depends on favorable design contributions of others

• No guarantee that decisions align favorably

• Common (self) interests and incentives guide decision making

Distributed decision situations are characterized by:

Distributed decision situations occur when developing:

•Monolithic systems•Distributed systems •Software framework or platform

Page 11: Modeling and Analyzing the Eclipse Application Lifecycle

11

Supplementary Back-up slides

Page 12: Modeling and Analyzing the Eclipse Application Lifecycle

12

Why ALF: The problem

RequirementsManagement

BusinessVisualization

RequirementsDefinition Portfolio

Management ProjectManagement

ResourcePlanning

ModelingPrototyping

ChangeManagement

BuildManagement

TestManagement

ReleaseManagement

DeploymentPerformanceMonitoringProvisioning

IssueManagement

“Point-to-point” integration of n tools can mean

up to n(n-1)/2 combinations; This does not scale!ALF Proposal

Software developers struggle with integrating diverse development tools

Various development tools

http:/www.eclipse.org/alf

Page 13: Modeling and Analyzing the Eclipse Application Lifecycle

13

ALF

Why ALF: The solution

RequirementsManagement

BusinessVisualization

RequirementsDefinition Portfolio

Management ProjectManagement

ResourcePlanning

ModelingPrototyping

ChangeManagement

BuildManagement

TestManagement

ReleaseManagement

DeploymentPerformanceMonitoringProvisioning

IssueManagement

Integration of n tools with ALF requires n integrations; linear growth of connections

ALF Proposal

A better approach to tool integration

Various development tools

Page 14: Modeling and Analyzing the Eclipse Application Lifecycle

14

ALF based on a Service Oriented Architecture (SOA)

• Eclipse ALF is “SOA for Development”– Events, Web services and Web Service Orchestration

• Eclipse ALF is all about tool integration– Service flow definitions

• Tools are integrated and coordinated by defining service flows (development process workflows)

– Events• Development tools raise events by sending web service messages to ALF

– E.g. John has saved his changes or checked in a particular file• ALF response to events by invoking service flows

– Tool action invocation• Development tools expose programmable actions as web services• ALF service flows invoke tools by sending to them web service messages

Page 15: Modeling and Analyzing the Eclipse Application Lifecycle

15

Action 1Event 1

Action …Action N

Log

ALFALF Event Manager

Log Log

ALF Service Flow

ALF in Action

OK

Type

Priority

Status

Eclipse based UI toolIssue Mgmt. front-end Plug-in

*Application Lifecycle Management

Dev. Tools exposing actions as web services

Eclipse based UI front end

Issue 1

ALM* SystemsIssue Mgmt. backend

Reqmt 1

Requirement Mgmt. Project Mgmt.

Task 1

web-service message send to tool

Event (web service message) sent to ALF

Page 16: Modeling and Analyzing the Eclipse Application Lifecycle

16

ALF Architecture Landscape

ALF Plans to leverage or coordinate with the following projects or proposals:• BIRT – For dashboard reporting• EMF – For textual UIs (initiation of service flows & inspection of results)• GMF – For graphical UIs (designers)• MDDI – Possible coordination or use of the model bus (tentative)• Higgins – Possible use of user identity and credentials for Single Sign-On

Page 17: Modeling and Analyzing the Eclipse Application Lifecycle

17

Examples Modeling and analysis

• How is security designed – How is authentication designed– Who designs authentication and under what

constraints