modeling and analyzing the eclipse application lifecycle
TRANSCRIPT
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
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
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
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.
5
Actor-oriented analysis: identify relevant stakeholders and respective goals
6
Actor-oriented analysis
What if ALF designers decide not to deal with authentication within ALF
7
Actor-oriented analysis
What if ALF designers decide to take on all Authentication implementing/adopting a
single sign on facility
8
Actor-oriented analysis
What if ALF designers decide to take on some of the Authentication functionality
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
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
11
Supplementary Back-up slides
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
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
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
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
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
17
Examples Modeling and analysis
• How is security designed – How is authentication designed– Who designs authentication and under what
constraints