SlideShare a Scribd company logo
A Comparison of the Essence 1.0
and SPEM 2.0 Specifications for
Software Engineering Methods
Brian Elvesæter1, Gorka Benguria2 and
Sylvia Ilieva3
1

SINTEF ICT, P. O. Box 124 Blindern, N-0314 Oslo, Norway
brian.elvesater@sintef.no
2 TECNALIA R&I, Ed 202, Zamudio 48170, Spain
gorka.benguria@tecnalia.com
3 IICT-BAS, acad., G. Bonchev str., bl. 25A, Sofia 1113, Bulgaria
sylvia@acad.bg

ICT
Outline
 Background and Motivation
 The Agile REMICS Methodology
 Evaluation of Essence

 Comparison
 Main language concepts
 Different Kernel starting points
 Illustrative Example (Authoring capabilities)
 Enactment capabilities
 Mapping of SPEM and Essence Concepts

 Conclusions and Future Work

ICT

2
Background and Motivation
 The REMICS Methodology

 Evaluation of Essence

 Tool-supported agile methodology

 "Essence – Kernel and Language

for model-driven modernization
of legacy applications to service
clouds.
 Initial release followed a traditional
approach developed using the
Eclipse Process Framework (EPF).
 The focus during the last phase of
the project has been on introducing
agile practices and techniques.
 REMICS participated in the OMG
FACESEM [8] standardization
process in OMG.

for Software Engineering Methods"
[7] specification endorsed March
2013.
 Essence promises better support
for definition of agile practices and
method enactment compared to
SPEM.
 EssWork Practice Workbench
tooling has been made available.
 Currently evaluating the Essence
approach for selected parts of the
REMICS Methodology.

[7] OMG, "Essence - Kernel and Language for Software Engineering Methods", OMG Document ad/2013-02-01,
18 February 2013. http://semat.org/wp-content/uploads/2013/02/Essence_final_submission_18Feb13.pdf
[8] OMG, "A Foundation for the Agile Creation and Enactment of Software Engineering Methods RFP", OMG Document ad/2011-06-26,
23 June 2011. http://www.omg.org/members/cgi-bin/doc?ad/11-06-26.pdf
ICT

3
Extending the REMICS Methodology
with Agile Practices
 First release (traditional)

 Second release (agile)

 Modernization Practices

 Agile Practices and Techniques

 Requirements

 Scrum

 Recover

 Modelling by Two

 Migrate

 Pair Modelling

 Validate

 Continuous Modelling

 Control and Supervise

 Collective Model Ownership

 Withdrawal

 Pair Programming

 Interoperability

 Continuous Integration
 Collective Code Ownership
ICT

4
Main language concepts
 SPEM 2.0

Kernel: Stripped-down,
light-weight model of
the essential aspects of
software engineering

 Essence 1.0 (draft)
Practice:
Description
of how to
handle a
specific
aspect of a
software
engineering
endeavour

ICT

5
Different Kernel starting points
 SPEM 2.0

SPEM does not
specify a standard
kernel. But proprietary
kernels exist,e.g.
OpenUP that comes
with the EPF Library

 Essence 1.0 (draft)
Alphas:
Things to
work with

Standard categories,
e.g., Disciplines

Activity
Spaces:
Things to do

Roles, e.g, basic
roles, business roles,
etc.

Competencies

ICT

6
Illustrative Example:
Scrum in EPFC

Structure of the Scrum
practice in the EPF
Composer (EPFC)

 Agile REMICS Methodology
 Scrum Practice [9]
Definition of Scrum Roles, Tasks and Work Products
 Scrum of Scrums
Definition of the Scrum Practice Guidance element
Sprint Capability Pattern

 Scrum team (roles)

Product Owner
 Development Team (of developers)
 Scrum Master


 Scrum artifacts
Product Backlog
 Sprint Backlog
 Increment


 Scrum events






The Sprint
Sprint Planning Meeting
Daily Scrum
Sprint Review
Sprint Retrospective

[9] K. Schwaber and J. Sutherland, "The Scrum Guide", Scrum.org, October 2011.
http://www.scrum.org/storage/scrumguides/Scrum_Guide.pdf
ICT

7
Illustrative Example:
Scrum in EWPW
 Identify relevant Kernel Alphas

Structure of the Scrum
practice in the
EssWork Practice
Workbench (EWPW)

 Define and bind Work Products
Defining new Alphas, e.g. Sprint (sub-Alpha Meeting
Definition of Work Product, e.g. Product Backlog
Activities, e.g. Product Owner of Work)
Patterns, e.g. Sprint Planning


Add new sub-Alphas

 Identify relevant Kernel Activity Spaces


Define and bind Activities

ICT

8
Enactment capabilities
 SPEM 2.0
 Two common ways [4]:




"Mapping the processes into
Project Plans and enacting
these with project planning and
enactment systems such as
IBM Rational Portfolio
Manager or Microsoft Project
(Section 16.1).
Mapping the process to a
business flow or execution
language and then executing
this representation of the
processes using a workflow
flow engine such as a BPELbased workflow engine
(Section 16.2)."

 Essence 1.0 (draft)
 Language features




Alpha States
Activities with Completion
Criteria
Checkpoints

 Task Management Kernel

extension




Task sub-alpha (of Work)
Team Member sub-alpha (of
Team)
Practice Adoption sub-alpha
(of Way of Working)

[4] OMG, "Software & Systems Process Engineering Meta-Model Specification, Version 2.0", Document formal/2008-04-01, April 2008.
http://www.omg.org/spec/SPEM/2.0/PDF/ (Section 16, Page 147]
ICT

9
Alpha States with Checkpoints

ICT

10
Activity and
Completion Criterion

An Activity should define at least one
Completion Criterion
1. To define the objective of the activity, in
terms of the "progress" of the endeavour
2. To generate advice on what to do next

An Activity provides
guidance on how
1. To progress the state of
an Alpha
2. To create or update a
Work Product

[7] OMG, "Essence - Kernel and Language for Software Engineering Methods", OMG Document ad/2013-02-01, 18 February 2013.
http://semat.org/wp-content/uploads/2013/02/Essence_final_submission_18Feb13.pdf (Figure 26, Page 102)
ICT

11
Alpha State as Completion Criterion

The Sprint Planning Meeting
activity provides guidance on
how to achieve the Planned
state of the Sprint.

ICT

12
Task Management Kernel Extension
 Task (sub-alpha of Work)



Task is a unit of Work

Activity is only guidance
 During enactment a Task instance
"Sprint Planning Meeting for Project XY"
is created
 This Task references the Activity "Sprint
Planning Meeting" that provides
guidance on how to perform the Task
 The Task results in the state update
"Planned" on the Sprint alpha instance


 Team Member (sub-alpha of Team)

During enactment an instance of the
Team alpha is created representing the
Scrum Team
 Each member is represented by an
instance of the Team Member sub-alpha
 One Team Member is assigned the Role
(pattern) Product Master
 Another Team Member is assigned the
Role (pattern) Product Owner


ICT

13
Mapping of SPEM and Essence
concepts
SPEM
Task

Essence
Activity

Comment

Work Product

Work Product

Similar in concepts, but a Work Product in Essence additionally defines levels of details
(not discussed in the illustrative example) to specify different ranges of details required.

Role

n/a

Category

Tag

Guidance

all elements

Practice

Practice

…

Resource or
Pattern

Activity
Activity Space
Capability Pattern
and Activity
Delivery Process
n/a

Alpha

Similar in concepts, but an Activity in Essence additionally defines completion criteria.

Role allows to author responsibilities of work products and performers of tasks in SPEM.
Essence does not specify the concept of a role and advices to use the Pattern concept to
define roles. The rationale is that definitions of roles may differ from method to method.
Categories (both default and custom) are used to structure the elements of SPEM
content, e.g. to support navigability in the published guidance. Essence provides the
concept of a Tag (not discussed in the illustrative example) that allows adding user
defined or tool specific information.
The Essence language does not differentiate between a specific guidance concept and
other concepts such as Activity (which basically contains guidance for performing the
work).
SPEM defines Practice as a specific type of Guidance that can reference any element
defined in SPEM. Essence on the other hand introduces Practice as a specific concept in
the language which allows more operational semantics to support composition etc. to be
formalized and better supported by tooling.
If additional guidance types are needed the advice is to use Patterns or Resources.
The Activity, Capability Pattern and Delivery Process concepts in SPEM allows to define
work breakdown structures and reusable process content. The Essence language allows
activity associations between abstract activities (which are either Activity Spaces or
Activities) to represent a relationship or dependency between activities.
The Alpha concept does not have an equivalent in the SPEM 2.0 specification, and is
essential to the underlying method architecture of the Essence language to monitor, track
and drive method enactment based on alpha states and completion criteria.

ICT

14
Conclusions and Future Work
 Similarities in the authoring
capabilities
 Main difference related to Role
 Responsibility assignment
 Representing competency

 Future work
 Finalize migration of selected

practices (mid-summer)
 Feedback to Finalization Task
Force (FTF)


 Differences in enactment
 Alpha States and Checkpoints
 Activities with Completion

Criteria
 Task Management Kernel
Extension

Clarification of Role Pattern
and Competency (Essence)
wrt. Role (SPEM)

 Practice authoring guidelines
 Relating sub-Alphas to parent
Alphas
 Defining good sub-Alpha
states
 Defining good completion
criteria for Activities
 Link with enactment tools

(project management tools)
ICT

15
Thanks for your attention!
 Questions?

 Email:
 brian.elvesater@sintef.no

 REMICS project website:
 http://www.remics.eu/

 REMICS Methodology Wiki
 http://epf.remics.eu/wikis/remic

s/index.htm

 REMICS Methodology source
 https://github.com/SINTEF-

9012/remics-library


The EssWork Practice Workbench
source will also be made available
on GitHub (during the summer)

ICT

16

More Related Content

What's hot

Rhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulationRhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulation
Graham Bleakley
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulink
gjuljo
 
Gowrisankar_Resume
Gowrisankar_ResumeGowrisankar_Resume
Gowrisankar_Resume
GOWRISANKAR M
 
Rhapsody Eclipse
Rhapsody EclipseRhapsody Eclipse
Rhapsody Eclipse
Bill Duncan
 
Gorakh Resume updated new (1)
Gorakh Resume  updated new (1)Gorakh Resume  updated new (1)
Gorakh Resume updated new (1)
GORAKH KOPNAR
 
7
77
Clark proposal defense revised091512
Clark proposal defense revised091512Clark proposal defense revised091512
Clark proposal defense revised091512
ginnette_clark
 
IBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt IntegrationIBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt Integration
gjuljo
 
Profile Resume 16031 Prashant Jain
Profile Resume 16031 Prashant JainProfile Resume 16031 Prashant Jain
Profile Resume 16031 Prashant Jain
Prashant Jain
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
Otavio Ferreira
 
Ptc Uml2 Workshop
Ptc Uml2 WorkshopPtc Uml2 Workshop
Ptc Uml2 Workshop
Ipsen Montaño Micolta
 
Gemko Training Detail
Gemko Training DetailGemko Training Detail
Gemko Training Detail
mbudzich
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
Bill Duncan
 
Unit2
Unit2Unit2
Unit2
anuragmbst
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and Rhapsody
Martin Owen
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture
tigneb
 
jeevitha.Avvari_2+years exp_Manual & Automation testing with JAVA
jeevitha.Avvari_2+years exp_Manual & Automation testing with JAVAjeevitha.Avvari_2+years exp_Manual & Automation testing with JAVA
jeevitha.Avvari_2+years exp_Manual & Automation testing with JAVA
jeevitha avvari
 
IBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation CustomizationIBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation Customization
gjuljo
 
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Real-Time Innovations (RTI)
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software Deployment
Sander van der Burg
 

What's hot (20)

Rhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulationRhapsody and mechatronics, multi-domain simulation
Rhapsody and mechatronics, multi-domain simulation
 
IBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/SimulinkIBM Rhapsody and MATLAB/Simulink
IBM Rhapsody and MATLAB/Simulink
 
Gowrisankar_Resume
Gowrisankar_ResumeGowrisankar_Resume
Gowrisankar_Resume
 
Rhapsody Eclipse
Rhapsody EclipseRhapsody Eclipse
Rhapsody Eclipse
 
Gorakh Resume updated new (1)
Gorakh Resume  updated new (1)Gorakh Resume  updated new (1)
Gorakh Resume updated new (1)
 
7
77
7
 
Clark proposal defense revised091512
Clark proposal defense revised091512Clark proposal defense revised091512
Clark proposal defense revised091512
 
IBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt IntegrationIBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt Integration
 
Profile Resume 16031 Prashant Jain
Profile Resume 16031 Prashant JainProfile Resume 16031 Prashant Jain
Profile Resume 16031 Prashant Jain
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
Ptc Uml2 Workshop
Ptc Uml2 WorkshopPtc Uml2 Workshop
Ptc Uml2 Workshop
 
Gemko Training Detail
Gemko Training DetailGemko Training Detail
Gemko Training Detail
 
Rhapsody Software
Rhapsody SoftwareRhapsody Software
Rhapsody Software
 
Unit2
Unit2Unit2
Unit2
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and Rhapsody
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture
 
jeevitha.Avvari_2+years exp_Manual & Automation testing with JAVA
jeevitha.Avvari_2+years exp_Manual & Automation testing with JAVAjeevitha.Avvari_2+years exp_Manual & Automation testing with JAVA
jeevitha.Avvari_2+years exp_Manual & Automation testing with JAVA
 
IBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation CustomizationIBM Rhapsody Code Generation Customization
IBM Rhapsody Code Generation Customization
 
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...
 
A Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software DeploymentA Reference Architecture for Distributed Software Deployment
A Reference Architecture for Distributed Software Deployment
 

Viewers also liked

Sw제품사업의 이해: SW CEO 아카데미 9차 강의
Sw제품사업의 이해: SW CEO 아카데미 9차 강의Sw제품사업의 이해: SW CEO 아카데미 9차 강의
Sw제품사업의 이해: SW CEO 아카데미 9차 강의
Korea Advanced Institute of Science and Technology
 
2015 SINVAS USER CONFERENCE - MDD/MDA 개발방법론을 통한 정보시스템 개발방안
2015 SINVAS USER CONFERENCE - MDD/MDA 개발방법론을 통한 정보시스템 개발방안2015 SINVAS USER CONFERENCE - MDD/MDA 개발방법론을 통한 정보시스템 개발방안
2015 SINVAS USER CONFERENCE - MDD/MDA 개발방법론을 통한 정보시스템 개발방안
Suji Lee
 
공개SW와 개발방법론(오픈소스 성공요인 사례)
공개SW와 개발방법론(오픈소스 성공요인 사례)공개SW와 개발방법론(오픈소스 성공요인 사례)
공개SW와 개발방법론(오픈소스 성공요인 사례)
mosaicnet
 
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)Channy Yun
 
오픈소스 GIS 개요
오픈소스 GIS 개요오픈소스 GIS 개요
오픈소스 GIS 개요
slhead1
 
공개SW 전환방법 및 전략
공개SW 전환방법 및 전략공개SW 전환방법 및 전략
공개SW 전환방법 및 전략
Kevin Kim
 
IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획
InGuen Hwang
 
[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략
[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략
[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략
Ji-Woong Choi
 
[오픈소스컨설팅]오픈소스 기반 솔루션 아키텍처 특징 및 사례
[오픈소스컨설팅]오픈소스 기반 솔루션 아키텍처 특징 및 사례[오픈소스컨설팅]오픈소스 기반 솔루션 아키텍처 특징 및 사례
[오픈소스컨설팅]오픈소스 기반 솔루션 아키텍처 특징 및 사례
Ji-Woong Choi
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
Volker Hirsch
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
Natasha Murashev
 

Viewers also liked (12)

Sw제품사업의 이해: SW CEO 아카데미 9차 강의
Sw제품사업의 이해: SW CEO 아카데미 9차 강의Sw제품사업의 이해: SW CEO 아카데미 9차 강의
Sw제품사업의 이해: SW CEO 아카데미 9차 강의
 
SW공학 OMG표준화 과제
SW공학 OMG표준화 과제SW공학 OMG표준화 과제
SW공학 OMG표준화 과제
 
2015 SINVAS USER CONFERENCE - MDD/MDA 개발방법론을 통한 정보시스템 개발방안
2015 SINVAS USER CONFERENCE - MDD/MDA 개발방법론을 통한 정보시스템 개발방안2015 SINVAS USER CONFERENCE - MDD/MDA 개발방법론을 통한 정보시스템 개발방안
2015 SINVAS USER CONFERENCE - MDD/MDA 개발방법론을 통한 정보시스템 개발방안
 
공개SW와 개발방법론(오픈소스 성공요인 사례)
공개SW와 개발방법론(오픈소스 성공요인 사례)공개SW와 개발방법론(오픈소스 성공요인 사례)
공개SW와 개발방법론(오픈소스 성공요인 사례)
 
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
오픈소스 개발 방법론 - Mozilla 사례 중심 (2010)
 
오픈소스 GIS 개요
오픈소스 GIS 개요오픈소스 GIS 개요
오픈소스 GIS 개요
 
공개SW 전환방법 및 전략
공개SW 전환방법 및 전략공개SW 전환방법 및 전략
공개SW 전환방법 및 전략
 
IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획IT전략계획- 03.IT 도입계획
IT전략계획- 03.IT 도입계획
 
[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략
[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략
[오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략
 
[오픈소스컨설팅]오픈소스 기반 솔루션 아키텍처 특징 및 사례
[오픈소스컨설팅]오픈소스 기반 솔루션 아키텍처 특징 및 사례[오픈소스컨설팅]오픈소스 기반 솔루션 아키텍처 특징 및 사례
[오픈소스컨설팅]오픈소스 기반 솔루션 아키텍처 특징 및 사례
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
 

Similar to A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for Software Engineering Methods

Remics experiences(berlin) brian
Remics experiences(berlin) brianRemics experiences(berlin) brian
Remics experiences(berlin) brian
Korea Advanced Institute of Science and Technology
 
ESSENSE
ESSENSEESSENSE
Simulating Enterprise Architecture Models
Simulating Enterprise Architecture Models Simulating Enterprise Architecture Models
Simulating Enterprise Architecture Models
balbirbarn
 
A Formal Method for Mapping Software Engineering Practices to Essence
A Formal Method for Mapping Software Engineering Practices to Essence A Formal Method for Mapping Software Engineering Practices to Essence
A Formal Method for Mapping Software Engineering Practices to Essence
ijseajournal
 
Executable UML and SysML Workshop
Executable UML and SysML WorkshopExecutable UML and SysML Workshop
Executable UML and SysML Workshop
Ed Seidewitz
 
Spring aop
Spring aopSpring aop
Spring aop
Hamid Ghorbani
 
ASPECT ORIENTED PROGRAMING(aop)
ASPECT ORIENTED PROGRAMING(aop)ASPECT ORIENTED PROGRAMING(aop)
ASPECT ORIENTED PROGRAMING(aop)
kvsrteja
 
OCL3_10_05.pptx
OCL3_10_05.pptxOCL3_10_05.pptx
OCL3_10_05.pptx
NitinShelake4
 
Class Diagram Extraction from Textual Requirements Using NLP Techniques
Class Diagram Extraction from Textual Requirements Using NLP TechniquesClass Diagram Extraction from Textual Requirements Using NLP Techniques
Class Diagram Extraction from Textual Requirements Using NLP Techniques
iosrjce
 
D017232729
D017232729D017232729
D017232729
IOSR Journals
 
Ui Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGFUi Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGF
BENOIT_LANGLOIS
 
Unit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfUnit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdf
ganeshkarthy
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural styles
ijfcstjournal
 
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEMODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
Anže Vodovnik
 
Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual
Abdul Hannan
 
A Program Transformation Technique To Support AOP Within C Template
A Program Transformation Technique To Support AOP Within C   TemplateA Program Transformation Technique To Support AOP Within C   Template
A Program Transformation Technique To Support AOP Within C Template
Crystal Sanchez
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
VGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
VGaneshKarthikeyan
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
VGaneshKarthikeyan
 
15 object orienteddesign
15 object orienteddesign15 object orienteddesign
15 object orienteddesign
randhirlpu
 

Similar to A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for Software Engineering Methods (20)

Remics experiences(berlin) brian
Remics experiences(berlin) brianRemics experiences(berlin) brian
Remics experiences(berlin) brian
 
ESSENSE
ESSENSEESSENSE
ESSENSE
 
Simulating Enterprise Architecture Models
Simulating Enterprise Architecture Models Simulating Enterprise Architecture Models
Simulating Enterprise Architecture Models
 
A Formal Method for Mapping Software Engineering Practices to Essence
A Formal Method for Mapping Software Engineering Practices to Essence A Formal Method for Mapping Software Engineering Practices to Essence
A Formal Method for Mapping Software Engineering Practices to Essence
 
Executable UML and SysML Workshop
Executable UML and SysML WorkshopExecutable UML and SysML Workshop
Executable UML and SysML Workshop
 
Spring aop
Spring aopSpring aop
Spring aop
 
ASPECT ORIENTED PROGRAMING(aop)
ASPECT ORIENTED PROGRAMING(aop)ASPECT ORIENTED PROGRAMING(aop)
ASPECT ORIENTED PROGRAMING(aop)
 
OCL3_10_05.pptx
OCL3_10_05.pptxOCL3_10_05.pptx
OCL3_10_05.pptx
 
Class Diagram Extraction from Textual Requirements Using NLP Techniques
Class Diagram Extraction from Textual Requirements Using NLP TechniquesClass Diagram Extraction from Textual Requirements Using NLP Techniques
Class Diagram Extraction from Textual Requirements Using NLP Techniques
 
D017232729
D017232729D017232729
D017232729
 
Ui Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGFUi Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGF
 
Unit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfUnit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdf
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural styles
 
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSEMODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
MODEL DRIVEN ARCHITECTURE, CONTROL SYSTEMS AND ECLIPSE
 
Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual Object Oriented Programming Lab Manual
Object Oriented Programming Lab Manual
 
A Program Transformation Technique To Support AOP Within C Template
A Program Transformation Technique To Support AOP Within C   TemplateA Program Transformation Technique To Support AOP Within C   Template
A Program Transformation Technique To Support AOP Within C Template
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.pptUNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
UNIT-I(Unified_Process_and_Use Case_Diagrams)_OOAD.ppt
 
15 object orienteddesign
15 object orienteddesign15 object orienteddesign
15 object orienteddesign
 

More from Brian Elvesæter

Extending the Kernel with Practices to Create Methods
Extending the Kernel with Practices to Create MethodsExtending the Kernel with Practices to Create Methods
Extending the Kernel with Practices to Create Methods
Brian Elvesæter
 
Towards an Agile Foundation for the Creation and Enactment of Software Engine...
Towards an Agile Foundation for the Creation and Enactment of Software Engine...Towards an Agile Foundation for the Creation and Enactment of Software Engine...
Towards an Agile Foundation for the Creation and Enactment of Software Engine...
Brian Elvesæter
 
Language (SoaML): A baseline for Specification of Cloud-based Services
Language (SoaML): A baseline for Specification of Cloud-based ServicesLanguage (SoaML): A baseline for Specification of Cloud-based Services
Language (SoaML): A baseline for Specification of Cloud-based Services
Brian Elvesæter
 
ESSENSE – A Kernel of Essentials for Software Engineering
ESSENSE – A Kernel of Essentials for Software EngineeringESSENSE – A Kernel of Essentials for Software Engineering
ESSENSE – A Kernel of Essentials for Software Engineering
Brian Elvesæter
 
Service Modelling with SoaML
Service Modelling with SoaMLService Modelling with SoaML
Service Modelling with SoaML
Brian Elvesæter
 
A Customizable Methodology for the Model-driven Engineering of Service-based ...
A Customizable Methodology for the Model-driven Engineering of Service-based ...A Customizable Methodology for the Model-driven Engineering of Service-based ...
A Customizable Methodology for the Model-driven Engineering of Service-based ...
Brian Elvesæter
 
Networked Enterprise transformation and resource management in future interne...
Networked Enterprise transformation and resource management in future interne...Networked Enterprise transformation and resource management in future interne...
Networked Enterprise transformation and resource management in future interne...
Brian Elvesæter
 
OMG Specifications for Enterprise Interoperability
OMG Specifications for Enterprise InteroperabilityOMG Specifications for Enterprise Interoperability
OMG Specifications for Enterprise Interoperability
Brian Elvesæter
 
Application of SHAPE Technologies in Production and Process Optimization
Application of SHAPE Technologies in Production and Process OptimizationApplication of SHAPE Technologies in Production and Process Optimization
Application of SHAPE Technologies in Production and Process Optimization
Brian Elvesæter
 
Towards a Model-Driven and Role-Configurable Methodology Suite for Enterprise...
Towards a Model-Driven and Role-Configurable Methodology Suite for Enterprise...Towards a Model-Driven and Role-Configurable Methodology Suite for Enterprise...
Towards a Model-Driven and Role-Configurable Methodology Suite for Enterprise...
Brian Elvesæter
 
Towards Enterprise Interoperability Service Utilities
Towards Enterprise Interoperability Service UtilitiesTowards Enterprise Interoperability Service Utilities
Towards Enterprise Interoperability Service Utilities
Brian Elvesæter
 
The ATHENA Interoperability Framework
The ATHENA Interoperability FrameworkThe ATHENA Interoperability Framework
The ATHENA Interoperability Framework
Brian Elvesæter
 
Rapid Prototyping for Service-Oriented Architectures
Rapid Prototyping for Service-Oriented ArchitecturesRapid Prototyping for Service-Oriented Architectures
Rapid Prototyping for Service-Oriented Architectures
Brian Elvesæter
 
Integrated Enterprise Service Architecture
Integrated Enterprise Service ArchitectureIntegrated Enterprise Service Architecture
Integrated Enterprise Service Architecture
Brian Elvesæter
 
Web Services og SOA – hvordan vi ser for oss bruk i fremtiden?
Web Services og SOA – hvordan vi ser for oss bruk i fremtiden?Web Services og SOA – hvordan vi ser for oss bruk i fremtiden?
Web Services og SOA – hvordan vi ser for oss bruk i fremtiden?
Brian Elvesæter
 
Enterprise Architecture og SOA trender
Enterprise Architecture og SOA trenderEnterprise Architecture og SOA trender
Enterprise Architecture og SOA trender
Brian Elvesæter
 
Web services og SOA – hvordan ser vi for oss bruk i fremtiden?
Web services og SOA – hvordan ser vi for oss bruk i fremtiden?Web services og SOA – hvordan ser vi for oss bruk i fremtiden?
Web services og SOA – hvordan ser vi for oss bruk i fremtiden?
Brian Elvesæter
 
Hva er SOA og Web services?
Hva er SOA og Web services?Hva er SOA og Web services?
Hva er SOA og Web services?
Brian Elvesæter
 

More from Brian Elvesæter (18)

Extending the Kernel with Practices to Create Methods
Extending the Kernel with Practices to Create MethodsExtending the Kernel with Practices to Create Methods
Extending the Kernel with Practices to Create Methods
 
Towards an Agile Foundation for the Creation and Enactment of Software Engine...
Towards an Agile Foundation for the Creation and Enactment of Software Engine...Towards an Agile Foundation for the Creation and Enactment of Software Engine...
Towards an Agile Foundation for the Creation and Enactment of Software Engine...
 
Language (SoaML): A baseline for Specification of Cloud-based Services
Language (SoaML): A baseline for Specification of Cloud-based ServicesLanguage (SoaML): A baseline for Specification of Cloud-based Services
Language (SoaML): A baseline for Specification of Cloud-based Services
 
ESSENSE – A Kernel of Essentials for Software Engineering
ESSENSE – A Kernel of Essentials for Software EngineeringESSENSE – A Kernel of Essentials for Software Engineering
ESSENSE – A Kernel of Essentials for Software Engineering
 
Service Modelling with SoaML
Service Modelling with SoaMLService Modelling with SoaML
Service Modelling with SoaML
 
A Customizable Methodology for the Model-driven Engineering of Service-based ...
A Customizable Methodology for the Model-driven Engineering of Service-based ...A Customizable Methodology for the Model-driven Engineering of Service-based ...
A Customizable Methodology for the Model-driven Engineering of Service-based ...
 
Networked Enterprise transformation and resource management in future interne...
Networked Enterprise transformation and resource management in future interne...Networked Enterprise transformation and resource management in future interne...
Networked Enterprise transformation and resource management in future interne...
 
OMG Specifications for Enterprise Interoperability
OMG Specifications for Enterprise InteroperabilityOMG Specifications for Enterprise Interoperability
OMG Specifications for Enterprise Interoperability
 
Application of SHAPE Technologies in Production and Process Optimization
Application of SHAPE Technologies in Production and Process OptimizationApplication of SHAPE Technologies in Production and Process Optimization
Application of SHAPE Technologies in Production and Process Optimization
 
Towards a Model-Driven and Role-Configurable Methodology Suite for Enterprise...
Towards a Model-Driven and Role-Configurable Methodology Suite for Enterprise...Towards a Model-Driven and Role-Configurable Methodology Suite for Enterprise...
Towards a Model-Driven and Role-Configurable Methodology Suite for Enterprise...
 
Towards Enterprise Interoperability Service Utilities
Towards Enterprise Interoperability Service UtilitiesTowards Enterprise Interoperability Service Utilities
Towards Enterprise Interoperability Service Utilities
 
The ATHENA Interoperability Framework
The ATHENA Interoperability FrameworkThe ATHENA Interoperability Framework
The ATHENA Interoperability Framework
 
Rapid Prototyping for Service-Oriented Architectures
Rapid Prototyping for Service-Oriented ArchitecturesRapid Prototyping for Service-Oriented Architectures
Rapid Prototyping for Service-Oriented Architectures
 
Integrated Enterprise Service Architecture
Integrated Enterprise Service ArchitectureIntegrated Enterprise Service Architecture
Integrated Enterprise Service Architecture
 
Web Services og SOA – hvordan vi ser for oss bruk i fremtiden?
Web Services og SOA – hvordan vi ser for oss bruk i fremtiden?Web Services og SOA – hvordan vi ser for oss bruk i fremtiden?
Web Services og SOA – hvordan vi ser for oss bruk i fremtiden?
 
Enterprise Architecture og SOA trender
Enterprise Architecture og SOA trenderEnterprise Architecture og SOA trender
Enterprise Architecture og SOA trender
 
Web services og SOA – hvordan ser vi for oss bruk i fremtiden?
Web services og SOA – hvordan ser vi for oss bruk i fremtiden?Web services og SOA – hvordan ser vi for oss bruk i fremtiden?
Web services og SOA – hvordan ser vi for oss bruk i fremtiden?
 
Hva er SOA og Web services?
Hva er SOA og Web services?Hva er SOA og Web services?
Hva er SOA og Web services?
 

Recently uploaded

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 

Recently uploaded (20)

Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 

A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for Software Engineering Methods

  • 1. A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter1, Gorka Benguria2 and Sylvia Ilieva3 1 SINTEF ICT, P. O. Box 124 Blindern, N-0314 Oslo, Norway brian.elvesater@sintef.no 2 TECNALIA R&I, Ed 202, Zamudio 48170, Spain gorka.benguria@tecnalia.com 3 IICT-BAS, acad., G. Bonchev str., bl. 25A, Sofia 1113, Bulgaria sylvia@acad.bg ICT
  • 2. Outline  Background and Motivation  The Agile REMICS Methodology  Evaluation of Essence  Comparison  Main language concepts  Different Kernel starting points  Illustrative Example (Authoring capabilities)  Enactment capabilities  Mapping of SPEM and Essence Concepts  Conclusions and Future Work ICT 2
  • 3. Background and Motivation  The REMICS Methodology  Evaluation of Essence  Tool-supported agile methodology  "Essence – Kernel and Language for model-driven modernization of legacy applications to service clouds.  Initial release followed a traditional approach developed using the Eclipse Process Framework (EPF).  The focus during the last phase of the project has been on introducing agile practices and techniques.  REMICS participated in the OMG FACESEM [8] standardization process in OMG. for Software Engineering Methods" [7] specification endorsed March 2013.  Essence promises better support for definition of agile practices and method enactment compared to SPEM.  EssWork Practice Workbench tooling has been made available.  Currently evaluating the Essence approach for selected parts of the REMICS Methodology. [7] OMG, "Essence - Kernel and Language for Software Engineering Methods", OMG Document ad/2013-02-01, 18 February 2013. http://semat.org/wp-content/uploads/2013/02/Essence_final_submission_18Feb13.pdf [8] OMG, "A Foundation for the Agile Creation and Enactment of Software Engineering Methods RFP", OMG Document ad/2011-06-26, 23 June 2011. http://www.omg.org/members/cgi-bin/doc?ad/11-06-26.pdf ICT 3
  • 4. Extending the REMICS Methodology with Agile Practices  First release (traditional)  Second release (agile)  Modernization Practices  Agile Practices and Techniques  Requirements  Scrum  Recover  Modelling by Two  Migrate  Pair Modelling  Validate  Continuous Modelling  Control and Supervise  Collective Model Ownership  Withdrawal  Pair Programming  Interoperability  Continuous Integration  Collective Code Ownership ICT 4
  • 5. Main language concepts  SPEM 2.0 Kernel: Stripped-down, light-weight model of the essential aspects of software engineering  Essence 1.0 (draft) Practice: Description of how to handle a specific aspect of a software engineering endeavour ICT 5
  • 6. Different Kernel starting points  SPEM 2.0 SPEM does not specify a standard kernel. But proprietary kernels exist,e.g. OpenUP that comes with the EPF Library  Essence 1.0 (draft) Alphas: Things to work with Standard categories, e.g., Disciplines Activity Spaces: Things to do Roles, e.g, basic roles, business roles, etc. Competencies ICT 6
  • 7. Illustrative Example: Scrum in EPFC Structure of the Scrum practice in the EPF Composer (EPFC)  Agile REMICS Methodology  Scrum Practice [9] Definition of Scrum Roles, Tasks and Work Products  Scrum of Scrums Definition of the Scrum Practice Guidance element Sprint Capability Pattern  Scrum team (roles) Product Owner  Development Team (of developers)  Scrum Master   Scrum artifacts Product Backlog  Sprint Backlog  Increment   Scrum events      The Sprint Sprint Planning Meeting Daily Scrum Sprint Review Sprint Retrospective [9] K. Schwaber and J. Sutherland, "The Scrum Guide", Scrum.org, October 2011. http://www.scrum.org/storage/scrumguides/Scrum_Guide.pdf ICT 7
  • 8. Illustrative Example: Scrum in EWPW  Identify relevant Kernel Alphas Structure of the Scrum practice in the EssWork Practice Workbench (EWPW)  Define and bind Work Products Defining new Alphas, e.g. Sprint (sub-Alpha Meeting Definition of Work Product, e.g. Product Backlog Activities, e.g. Product Owner of Work) Patterns, e.g. Sprint Planning  Add new sub-Alphas  Identify relevant Kernel Activity Spaces  Define and bind Activities ICT 8
  • 9. Enactment capabilities  SPEM 2.0  Two common ways [4]:   "Mapping the processes into Project Plans and enacting these with project planning and enactment systems such as IBM Rational Portfolio Manager or Microsoft Project (Section 16.1). Mapping the process to a business flow or execution language and then executing this representation of the processes using a workflow flow engine such as a BPELbased workflow engine (Section 16.2)."  Essence 1.0 (draft)  Language features    Alpha States Activities with Completion Criteria Checkpoints  Task Management Kernel extension    Task sub-alpha (of Work) Team Member sub-alpha (of Team) Practice Adoption sub-alpha (of Way of Working) [4] OMG, "Software & Systems Process Engineering Meta-Model Specification, Version 2.0", Document formal/2008-04-01, April 2008. http://www.omg.org/spec/SPEM/2.0/PDF/ (Section 16, Page 147] ICT 9
  • 10. Alpha States with Checkpoints ICT 10
  • 11. Activity and Completion Criterion An Activity should define at least one Completion Criterion 1. To define the objective of the activity, in terms of the "progress" of the endeavour 2. To generate advice on what to do next An Activity provides guidance on how 1. To progress the state of an Alpha 2. To create or update a Work Product [7] OMG, "Essence - Kernel and Language for Software Engineering Methods", OMG Document ad/2013-02-01, 18 February 2013. http://semat.org/wp-content/uploads/2013/02/Essence_final_submission_18Feb13.pdf (Figure 26, Page 102) ICT 11
  • 12. Alpha State as Completion Criterion The Sprint Planning Meeting activity provides guidance on how to achieve the Planned state of the Sprint. ICT 12
  • 13. Task Management Kernel Extension  Task (sub-alpha of Work)  Task is a unit of Work Activity is only guidance  During enactment a Task instance "Sprint Planning Meeting for Project XY" is created  This Task references the Activity "Sprint Planning Meeting" that provides guidance on how to perform the Task  The Task results in the state update "Planned" on the Sprint alpha instance   Team Member (sub-alpha of Team) During enactment an instance of the Team alpha is created representing the Scrum Team  Each member is represented by an instance of the Team Member sub-alpha  One Team Member is assigned the Role (pattern) Product Master  Another Team Member is assigned the Role (pattern) Product Owner  ICT 13
  • 14. Mapping of SPEM and Essence concepts SPEM Task Essence Activity Comment Work Product Work Product Similar in concepts, but a Work Product in Essence additionally defines levels of details (not discussed in the illustrative example) to specify different ranges of details required. Role n/a Category Tag Guidance all elements Practice Practice … Resource or Pattern Activity Activity Space Capability Pattern and Activity Delivery Process n/a Alpha Similar in concepts, but an Activity in Essence additionally defines completion criteria. Role allows to author responsibilities of work products and performers of tasks in SPEM. Essence does not specify the concept of a role and advices to use the Pattern concept to define roles. The rationale is that definitions of roles may differ from method to method. Categories (both default and custom) are used to structure the elements of SPEM content, e.g. to support navigability in the published guidance. Essence provides the concept of a Tag (not discussed in the illustrative example) that allows adding user defined or tool specific information. The Essence language does not differentiate between a specific guidance concept and other concepts such as Activity (which basically contains guidance for performing the work). SPEM defines Practice as a specific type of Guidance that can reference any element defined in SPEM. Essence on the other hand introduces Practice as a specific concept in the language which allows more operational semantics to support composition etc. to be formalized and better supported by tooling. If additional guidance types are needed the advice is to use Patterns or Resources. The Activity, Capability Pattern and Delivery Process concepts in SPEM allows to define work breakdown structures and reusable process content. The Essence language allows activity associations between abstract activities (which are either Activity Spaces or Activities) to represent a relationship or dependency between activities. The Alpha concept does not have an equivalent in the SPEM 2.0 specification, and is essential to the underlying method architecture of the Essence language to monitor, track and drive method enactment based on alpha states and completion criteria. ICT 14
  • 15. Conclusions and Future Work  Similarities in the authoring capabilities  Main difference related to Role  Responsibility assignment  Representing competency  Future work  Finalize migration of selected practices (mid-summer)  Feedback to Finalization Task Force (FTF)   Differences in enactment  Alpha States and Checkpoints  Activities with Completion Criteria  Task Management Kernel Extension Clarification of Role Pattern and Competency (Essence) wrt. Role (SPEM)  Practice authoring guidelines  Relating sub-Alphas to parent Alphas  Defining good sub-Alpha states  Defining good completion criteria for Activities  Link with enactment tools (project management tools) ICT 15
  • 16. Thanks for your attention!  Questions?  Email:  brian.elvesater@sintef.no  REMICS project website:  http://www.remics.eu/  REMICS Methodology Wiki  http://epf.remics.eu/wikis/remic s/index.htm  REMICS Methodology source  https://github.com/SINTEF- 9012/remics-library  The EssWork Practice Workbench source will also be made available on GitHub (during the summer) ICT 16