Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.

30
Ontologi es Reasonin g Component s Agents Simulatio ns The Eclipse Process Framework The Eclipse Process Framework Breno Machado

Transcript of Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.

OntologiesReasoningComponentsAgentsSimulations

The Eclipse Process FrameworkThe Eclipse Process Framework

Breno Machado

The Eclipse Process FrameworkThe Eclipse Process Framework

EPF is an Open Source project within the Eclipse Foundation Goals:

An extensible framework and tooling for authoring, configuring and publishing processes Exemplary Process – first delivered is OpenUP

EPF is NOT: Only applicable for Eclipse Java development. Intended to create the “perfect process”

EPF is based in SPEM 2.0 (Software Process Engineering Metamodel)

The Eclipse Process FrameworkThe Eclipse Process Framework

EPF is for two audiences: Process Authors and Coaches (Process Management Team)

Tooling for creating and publishing processesFoundational process for starting pointLibraries of additional content that can be plugged-in

Process Consumers (Project Team)

Published website of process content for simple browsingGuidance in the form of checklists, concepts, guidelinesBrowse the content adapted to your experience level

Basic Concepts - EPFBasic Concepts - EPF

Method Library All Method Elements are stored in a Method Library

Method Plug-in Physical container for Method Packages and Process Packages

Method Configuration A logical subset of a Method Library

Delivery Process A complete and integrated approach for performing a specific type of project

Basic Concepts - EPFBasic Concepts - EPF

Libraries contain Method plug-ins Configurations

The OpenUP library has: Three method plug-ins

base_concepts dsdm_openup openup

Two delivery processes Openup_DSDM openup_lifecycle

Two configurations OpenUP OpenUPDSDM

Basic Concepts - EPFBasic Concepts - EPF

Method Content (Who, What, Why, How)

Highly re-useable information Definition of Roles, Tasks, Work Products and

associated relationships Includes Guidance and Categories No timing information

Process (When) End-End sequence of Phases,

Iterations, Activities and Milestones that define the development lifecycle.

Defines When tasks are performed via Activity Diagrams and/or Work Breakdown Structures

Method Content - EPFMethod Content - EPF

Role Set of related skills, competencies and

responsabilities Are NOT individuals Individuals may play multiple roles Perform Tasks Are responsible for Work Products

Work Product Tangible things used, modified or

produced by a Task Roles use and produce Work Product

performing tasks Are responsability of a Role 3 types

Artifact Deliverable Outcome

Task Define a assignable unit of

work Perfomed by Roles Describe a work step-by-step

to achieve a goal. Modify or produce Work

Products Don’t define WHEN they are

performed in the lifecicle.

Method Content - EPFMethod Content - EPF

Guidance May be associate with Roles, Tasks and Work

Products Different types depending upon purpose Detailed methodology and supporting information

Tasks say “what” Guidance say “how-to”

Categories Group related method

elements Five Standard Categories

Discipline Domain Work Product Kind Role Set Tool

May be nested Can define custom categories Used to build views in

published website

Process Content - EPFProcess Content - EPF

Capability Patterns Sequence of related tasks, performed to achieve a greater purpose Tasks can be specialized for the given context

Task Descriptor(instance of Task)

Role Descriptor(instance of Role)

Work Product Descriptor

(instance of Work Product)

Process Content - EPFProcess Content - EPF Capability Patterns

Capability Patterns may be nested and viewed graphically An Activity is an instance of a Capability Pattern

Activity(Instance of Capability Patterns)

Process Content - EPFProcess Content - EPF

Delivery Process Defined using Work

Breakdown Structure and/or Activity Diagrams

Define end-end full lifecycle process

May include Iterations, Phases, Milestones (type of Activity)

EPF Composer – EPF Composer – Authoring PerspectiveAuthoring Perspective

Library View

Configuration View

Task Editor (form based)

Authoring Perspective

EPF Composer – EPF Composer – Authoring PerspectiveAuthoring Perspective

Form based plain text

or…

…Rich Text editors

EPF Composer PublishingEPF Composer Publishing

Processes Available as Reusable EPF Processes Available as Reusable EPF SpecificationSpecification

EPF available s examples of process to use OpenUP SCRUM XP

http://www.eclipse.org/epf/downloads/downloads.php

Interesting Aspects of OpenUPInteresting Aspects of OpenUPSpecified in EPFSpecified in EPF

“An Agile Inspired process with its roots in the UP”

An iterative software development process that is minimal, complete, and extensible

Minimal - Contains vital roles, tasks and guidance Complete - Complete for small co-located teams Extensible - Serves as a foundation that can be extended and tailored

OpenUP – Core PrinciplesOpenUP – Core Principles

OpenUP is based on a set of mutually supporting core principles: Collaborate to align interests and share understanding Evolve to continuously obtain feedback and improve Balance competing priorities to maximize stakeholder value Focus on articulating the architecture

OpenUP incorporates a number of agile practices… Test-First Design Continuous Integration Agile Estimation Daily Standup, Iteration Assessment, Iteration Retrospective Self-organizing teams

…within the context of an iterative, incremental lifecycle (UP).

OpenUP – Project LifecycleOpenUP – Project Lifecycle

OpenUP uses an iterative, incremental lifecycle. Proper application of this lifecycle directly addresses the first

core principle (Evolve). The lifecycle is divided into 4 phases, each with a particular

purpose and milestone criteria to exit the phase: Inception: To understand the problem. Elaboration: To validate the solution architecture. Construction: To build and verify the solution in increments. Transition: To transition the solution to the operational environment and validate the solution.

OpenUP - DisciplinesOpenUP - Disciplines

A discipline is a collection of tasks that are related to a major "area of concern" within the overall project.

Within the lifecycle, tasks are performed concurrently across several disciplines.

Separating tasks into distinct disciplines is simply an effective way to organize content that makes comprehension easier.

OpenUP defines the following Disciplines:

OpenUP - RolesOpenUP - Roles

Roles define a set of related skills, competencies and responsibilities.

OpenUP defines the following Roles:

Interesting Aspects of XPInteresting Aspects of XPSpecified in EPFSpecified in EPF

eXtreme Programming is a development process that can be used by medium and small sized times in the face of vague or rapidly changing requirements.

Customer create “stories” that is a very lightweight use-cases Development is done iteratively and incrementally Every two weeks delivers working stories to the customer Programmers work on their programming tasks in pairs

XP ValuesXP Values

Communication XP emphasizes face-to-face communication

Simplicity XP presumes that it is better to do the simple thing today

Feedback Continuous feedback allows the customer to steer the project to success

Courage Perhaps a better name for this value is trust

XP PracticesXP Practices

XP RolesXP Roles

XP Work ProductsXP Work Products

Interesting Aspects of SCRUMInteresting Aspects of SCRUMSpecified in EPFSpecified in EPF

Is a mechanism in the sport of rugby for getting an out-of-play ball back into play

Scrum focuses on the social and collective aspect of development

Scrum Goal is to improve quality and productivity, with an empirical approach, relying on autonomous teaming

Empirism An empirical process requires a good visibility 2 regulation cycles

During Daily ScrumsDuring Sprint Reviews

Scope not describe all the software development activities - analysis, design, coding, testing

SCRUM LifecycleSCRUM Lifecycle

SCRUM RolesSCRUM Roles

SCRUM ArtifactsSCRUM Artifacts

SCRUM – Colaboration PointsSCRUM – Colaboration Points