Top Banner
The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object
26

1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

Dec 21, 2015

Download

Documents

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 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

1

The Process Reference Model

Ciarán Bryce

Chrislain Razafimahefa

Shared Object

Page 2: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

2

Definition of a Process

“A general method of doing something, involving steps or operations which are usually ordered

and/or interdependent.”

E.g., in manufacturing, organizations, software development, etc.

“A business process is a set of linked activities that create value by transforming an input into a

more valuable output. Both input and output can be artifacts and/or information and the

transformation can be performed by human actors, machines, or both”.

Page 3: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

3

Why Processes are Important

Information system is subject to technical, organizational and legal constraints

Organizational

Applying patches and measuring effectiveness of patches,

Analyzing user behavior for application preferences and evolution of system

Ensuring people who need documents have access

Legal

Document archival for Sarbanes Oxley

Digital Restrictions Management (e.g., for software licensing)

Personal Data protection

Page 4: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

4

Why Processes are Important

Technical solutions have limited significance

E.g., Most effective anti-virus is coherent and rigorous patching policy

Information system is an organizational bottleneck

To be agile, need to abstract IT to match roles and objectives of organization

IT Challenge is integration - companies need architects, not programmers

Formal description of process permits

Comparison, optimisation and analysis (e.g., for business continuity, etc.)

Foundation for information system deployment

Plan for urbanization

Page 5: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

5

Application Process

Defined as Code base Set of activities working towards precise goal

Actors involved Programmer, user Programmer, manager, operator, certifier, client, user, etc.

Role in organization Asset Expresses business or organizational model

Reliability/AvailabilityFault Tolerance

(software and hardware faults)

Business Continuity

(Bird flu, computer failure, stock market crash)

Security Cryptography, access control, etc.

Employee screening, key management, SOX compliance, etc.

Efficiency CPU cycles, memory space, etc. Man-hours, cost, sales, business intelligence.

Process versus Application (for benefit of “computer scientists”)

Page 6: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

6

Example of Motivation for Process Support

… and challenges

The EDOS Project - improving the quality of an open source

distribution

Partners include: Mandriva, Paris 6, University of Tel Aviv, INRIA,

University of Geneva.

2004 - 2007

Page 7: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

7

Ian Murdock, creator of the Debian projec

Background

“Linux is not a product. Rather, Linux is a collection of software components, individually crafted by

thousands of independent hands around the world, with each component changing and evolving on

its own independent timetable. …. Linux is not a product. It is a process.”

Ian Murdock, founder of the Debian project.

The more F/OSS users, the better! …. In principle.

Page 8: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

8

Background

Building a distribution involves

Producing and Collecting software

Configuring/compiling with respect to the dependencies

Quality Assurance (Testing)

Distributing to clients : boxes and download

These activities are currently tackled separately

List is not exhaustive, e.g.,

Training of developers

Scouting for clients

….

All part of the F/OSS process

Page 9: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

9

F/OSS Environment

Community

Package

Version

Test

Bug

Role

Documentation

Metric

Process

Platform

Configuration

Distribution

Feedback

Project

ReleaseApplication

Need for a transversal view of whole F/OSS process

Def

ects

Man

agem

ent

Pro

du

ctio

n M

anag

emen

t

Dep

end

ency

Man

agem

ent

Dis

trib

uti

on

Man

agem

ent

Pro

ject

s M

anag

emen

t

Tes

ts M

anag

emen

t

Ro

les

Man

agem

ent

Act

ivit

y M

anag

emen

t

Page 10: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

10

F/OSS Process

Lack of activity coordination and performance metering leads to process inefficiency

Structured process management leads to improvement, e.g. in F/OSS,

Ontology activity that defines and binds attributes to actors and resources for more flexible look-

up, e.g.,

Find package that has been tested on Mandrivalinux 10.1 with Ethernet card enabled

Find developer with experience in cryptography and Java programming

Find someone willing to act as a secondary server administrator

Page 11: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

11

Process Reference Model (version 1)

Represents the main data types used in a F/OSS process

Represents content and community in a uniform manner

Models management of any activity in the F/OSS Process

Models evolution of projects, i.e., addition and integration of new activities

The PRM provides a model of F/OSS artifacts and activities that manage these artifacts

Format of PRM: formal model and Java kernel & API

Page 12: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

12

PRM Model

The Information model binds meta-data (attributes) to artifacts

Used to lookup artifacts

E.g., find Java packages with RSA implementations

Lookup takes attribute Boolean algebra expressions

E.g., find Java cryptography packages from official mirror servers or trusted peers

Substitutability

“Best match” semantics in look-up

The model also defines primitives to create and lookup artifacts based on attributes

These enable F/OSS activities to be coordinated

E.g., pipeline all reported errors on package to competent developer

Lookup blocks until create of artifact with matching attributes

Page 13: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

13

Et cetera

Conflicts

Dependencies

Target architectureInterests

TypeCompetences

VersionKnowledge

LicenseContact Information

Unit of ContentActor

Examples of Attributes

Actors and content are equally important to process

Code and documentation are equally important

Page 14: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

14

Structure of PRM

Page 15: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

15

Core PRM Elements represent the minimal set of Artifacts for handling

Community, Projects, Resources, Responsibilities, Measurement, Etc.

Artifacts

Managed by PRM activities

Located via attributes

Inte

grity

Rul

eIn

tegr

ity R

ule

Tas

kT

ask

Eve

ntE

vent

Pro

cess

Pro

cess

Act

orA

ctor

Met

ricM

etric

Art

ifact

Art

ifact

Rig

htR

ight

Pro

ject

Pro

ject

PRM Elements

Act

ivity

Act

ivity

Log

Log

Rol

eR

ole

PRM Elements

Page 16: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

16

Evolution ? New Activity=

Inte

grity

Rul

eIn

tegr

ity R

ule

Tas

kT

ask

Eve

ntE

vent

Pro

cess

Pro

cess

Act

orA

ctor

Met

ricM

etric

Art

ifact

Art

ifact

Rig

htR

ight

Pro

ject

Pro

ject

Act

ivity

Act

ivity

Log

Log

Rol

eR

ole

Act

iviti

es

Man

agem

ent

Act

iviti

es

Man

agem

ent

Tas

k M

anag

emen

tT

ask

Man

agem

ent

Eve

nt M

ana

gem

ent

Eve

nt M

ana

gem

ent

Pro

cess

Man

agem

ent

Pro

cess

Man

agem

ent

Com

mun

ity M

anag

emen

tC

omm

unity

Man

agem

ent

Met

rics

Man

agem

ent

Met

rics

Man

agem

ent

Art

ifact

Man

age

men

tA

rtifa

ct M

anag

em

ent

Rig

hts

Man

age

men

tR

ight

s M

anag

em

ent

Pro

ject

Man

agem

ent

Pro

ject

Man

agem

ent

PRM Activities

Log

s M

anag

emen

tLo

gs

Man

agem

ent

Rol

e M

ana

gem

ent

Rol

e M

ana

gem

ent

Core PRM Activities

An activity defines a set of operations that manage artifacts and integrity rules

e.g., No version exists between old and new version for code artifacts

Page 17: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

17

Interaction withPRM ElementsInteraction withPRM Elements

ApplicationApplication

Activity 1Activity 1

Impl

emen

tatio

n 1

Impl

emen

tatio

n 1

PRM ModelActivity 2Activity 2 Activity 3Activity 3

Impl

emen

tatio

n 2

Impl

emen

tatio

n 2

Impl

emen

tatio

n 3

Impl

emen

tatio

n 3

PRM Activity Interaction

Challenge in implementing processes is handling legacy code

Applications and Activity implementations have to communicate through the interfaces provided

by the Activities

Default Javaimplementationfor each activity

Page 18: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

18

Examples of PRM Operations

Artifact Management

registerArtifactType(Type)

newArtifact(Type, Value Directory, Project) Artifact

lookup(Directory, Project) Setof Artifact

exists(Artifact) Boolean

substitutable(Artifact, Artifact) Boolean

Activity Management

declareActivity(Name, Code, Integrity Rules) Activity

lookup(Directory) Setof Artifact

exists(Activity) Boolean

isAssociated(Activity, Project) Boolean

Page 19: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

19

Metrics handling

Fundamental goal of process infrastructure is to measure and meter activities

Individual activities can have metrics (e.g., number of bug reports per package)

Or are bound to specific implementation tools

Challenge is to convert metrics to KPIs

e.g., productivity, relation rainfall to code bugs, etc.

Page 20: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

20

Handling metrics through the PRM

Creation

new Metric(description, viewpoint, metric set[], occurrence, execution)

Lookup

find(directory) Setof Metric

Evaluation

evaluate(project, Metric) value

Observation

observe(Project, Metric, Value) waits for event (metric value reached)

Page 21: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

21

Current Work

Clearly distinguish process basics from the F/OSS example

Define Web support

BPMN graphic language to express processes

Page 22: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

22

Page 23: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

23

Client Server

Ajax

JSF

EJB 3.0(JPQL)

SOAPBPMN

Technology Choices

Why EJB 3.0?

Support for persistence and query via JPA, and Web service access via SOAP

Why Ajax

Navigator client for manipulating BPMN process descriptions.

Page 24: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

24

Mapping the PRM to EJB 3.0

Design Choices

Page 25: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

25

Why EJB 3.0

Most Information Systems are built over existing database infrastructures anyway

EJB makes mapping possible to relational DB world

Caters for transactions and security

Caters for SOAP access for Web service middle layer

EJB 3.0 is much improved over EJB 2.x

Design Choice

EJB is an option for the PRM. The client can request the default implementation or

use the EJB implementation

-default or -ejb

Page 26: 1 The Process Reference Model Ciarán Bryce Chrislain Razafimahefa Shared Object.

26

Mapping the PRM to EJB 3.0

PRM EJB 3.0 Comment

Artifact Entity

Attribute Property Not all properties are attributes

Activity Session Bean Retains entity characteristics

Expression, Directory and Query

JPA Query in both JPQL and SQL

Extended to attributes

Process Session Bean Retains @Attribute characteristics

Role Role Entity

Right Right Entity

Task Transaction (?) Retains @Attribute characteristics