IAC 2024 - IA Fast Track to Search Focused AI Solutions
ArchiEssence merging Essence and Archimate
1. ArchiMate + Essence = ArchiEssence
A. Efremov, K. Gaydamaka
Moscow
28.01.2015
2. Agenda
(what do we want to have at the end of the day)
Primary aims:
- Known problems and user needs and project boundaries
(all of the attendees understand and agree that there are stakeholders, the
opportunity exists for the solution;
all of the attendees understand the state of the opportunity)
- Way of working presented
(all of the attendees know current state of the way of working of the project)
- How are we going to compare languages
(to pick up the right way to progress)
- Possible ways to go in the project
(as a tree)
- Various ideas, questions
(unsorted things to think about)
Secondary aims:
- Additional user needs collected
(attendees added their user needs to the opportunity)
2
3. Preliminary user needs
(or—why do we do that)
As an enterprise architect I would like to
describe an enterprise architecture taking into
accout the lifecycle of system-of-interest
(more user needs to follow on further slides)
3
4. Project boundaries:
- possible solution (if needed after user needs analysis)
should be based on two languages: Essence and
Archimate (we call the solution ArchiEssence for short)
First steps:
- define user needs and requirements for the solution
(ArchiEssence);
- compare user needs and requirements for Archimate,
Essence (SW, SE), ArchiEssence (TBD);
- compare Archimate, Essence (SW, SE), ArchiEssence;
- using various characteristics;
- using an alternative language (meta-language).
First steps
4
5. User needs captured the following way:
Role I want to... So that... Current problems
A way to describe user needs
(“as a user, I want”)
5
6. User needs
(1 of 9)
As a/an I want to… so that… Current problems
Methodologist discuss the new
method being added
to the organization
project lifecycle and
method relation to
old methods is visible
I can do that in two
different languages,
performing additional
work to sync results
6
7. User needs
(2 of 9)
As a/an I want to… so that… Current problems
Methodologist describe methods and
method enactments
using the same
language
I shouldn't waste time
on mapping two
descriptions based on
two different
languages
Archimate allows only
classes of objects (i.e.
methods, not method
enactments)
Essence allows us to
talk about method
enactment, but using
cards only (a kind of
cheat, not what
language allows)
7
8. 8
// User needs
(2 of 9: how Essence supports Method Enactment and Method)
9. User needs
(3 of 9)
As a/an I want to… so that… Current problems
have a specific
object/entity to
describe concerns
and areas of concerns
of stakeholders
Essence has areas of
concern. What are
concerns in the
language?
Archimate doesn’t
seem to have a
specific object for
concern.
9
10. User needs
(4 of 9)
As a/an I want to… so that… Current problems
use both Archimate
and Essence in one
project and not to
waste time on
mapping between
models in each
project
Now there are no
correspondence rules
between Essence and
Archimate
10
11. User needs
(5 of 9)
As a/an I want to… so that… Current problems
use Essence in
projects where two or
more teams and/or
systems exist
Now Essence doesn’t
allow multiple
teams/systems
11
12. User needs
(6 of 9)
As a/an I want to… so that… Current problems
show states in my
corporate
architecture model
to clearly see what is
the state of my
project
There are no native
ways/known usable
cases on how to
model states using
Archimate
12
13. // User needs
(6 of 9) - Illustration to “show states in my corporate architecture model”
13
14. // User needs
(6 of 9) - Illustration to “show states in my corporate architecture model”
14
15. User needs
(7 of 9)
As a/an I want to… so that… Current problems
Enterprise Architect show lifecycle stages
in my corporate
architecture model
to clearly see what
subject/activity/objec
t is valid on which
lifecycle stage
There are no native
ways/known usable
cases on how to
model lifecycle stages
using Archimate
15
16. User needs
(8 of 9)
As a/an I want to… so that… Current problems
have a clear way to
define a project
status
Alphas in Essence can
have different states
which doesn’t allow
to define project
status clearly
16
17. User needs
(9 of 9)
As a/an I want to… so that… Current problems
describe concurrent
engineering in
Essence
i can see progress Progress in project
based on concurrent
engineering approach
isn’t visible as alpha
state change
17
18. The idea is to compare user needs for
available languages and for a solution
language.
To be done soon. :(
Comparing: approach 1
(User needs for Essence, Archimate, ArchiEssence)
18
19. Comparing: approach 2
(Stakeholders and Concerns)
The idea is to compare stakeholders,
their concerns for a system-of-interest
which both identify an Architecture
Description Language (as ISO 42010
says).
To be done soon. :(
19
20. activity-based product-based communication-based
Work Way of working Team
отслеживание выполнения работ
ограниченными ресурсами
предпринятия с целью
максимизации прохода
работ и контроля выполнения
всех необходимых работ.
Обычно это
"процессные" и "проектные"
описания.
для управления технологиями
(постановки
практик, определения нужных
компетенций, понимания связи с
инженерией
-- какие операции нужны, какие
рабочие продукты, какие
инструменты)
нужны описания деятельности
как состоящей из выполняемых
практик --
дисциплины (альфы), рабочие
продукты и инструменты.
упор на организацию тех, кто
выполняет работы, задаваемые
практиками (полномочия,
поручения, обещания и т.д.)
20
Comparing: approach 3
(Work Description approaches/Viewpoint types)
21. Archimate
• Level 3 – Meta-Language: the
specification language, i.e., the different
constructs used for expressing this
specification, like “meta-class” and
“binary directed relationship.”
• Level 2 – Construct: the language
constructs, i.e., the different types of
constructs expressed in this specification,
like “Alpha” and “Activity.”
• Level 1 – Type: the specification
elements, i.e. the elements expressed in
specific kernels and practices, like
“Requirements” and “Find Actors and
Use Cases.”
• Level 0 – Occurrence: the run-time
instances, i.e., these are the
representations of real-life elements in a
running
development effort.
ESSENCE
21
Comparing: approach 4
(Upper-level language)
- Философские логики
- Рефлексирующие
модельеры данных
- Модельеры
данных/intermediate
ontology
- Ситуационные инженеры
методов
- Рефлексирующие
инженеры
- Профессионалы-инженеры
22. Merge?
1. No
2. Yes
Using two languages
with correspondence
rules
What we merge:
*.1. Kernel
*.2. Language
2.1 Kernel
2.2 Language
Basis:
*.1. Archimate
*.2. Essence
Style:
*.1. Express
*.2. Add
Ways to go
(ways to progress in the project)
1.1 Kernel
1.2 Language
Design a new
language that
allows to
express all that
we need
22
2.1.1.1
2.2.2.2
1.1.1 Primary Architecture
1.1.2 Secondary Architecture
23. Advantage:
- Use existing languages right now
Disadvantages:
- We have to make correspondence rules and manually use it. It will take us
2.5 units of work
- We have to explain 2 languages for our stakeholders
We have two alternatives:
1.1 Make correspondence rules on Essence Kernel level
1.1.1 For Primary architecture (Endeavor Area of Concern of System of
interest development project)
1.1.2 For Secondary architecture (Endeavor Area of Concern of Enterprise
development project)
1.2. Make correspondence rules on Essence Language level
23
Ways to go: option 1
(using two languages with correspondence rules)
24. Ways to go: option 1
(using two languages with correspondence rules)
“Primary” - where systems-of-
interest of the enterprise are
being made
“Secondary” - where enabling
systems of the enterprise are
being made
24
// Ways to go: option 1
(“Primary”, “Secondary”, “Tertiary” architecture - as G. Wierda offered)
25. Enterprise Architecture
model in Archimate can show
different lifecycle stages of an
enabling system, though there is
no strict notation for that (you
have to keep it in mind or use
some groupings) 25
// Ways to go: option 1
(“Primary”, “Secondary”, “Tertiary” architecture - as G. Wierda offered)
26. 26
Ways to go: option 1.1.1
(Correspondence: Archimate language - Essence Kernel; primary architecture only)
27. 27
Ways to go: option 1.1.2
(Correspondence: Archimate language - Essence Kernel; secondary architecture only)
28. 28
Decision tree: option 1.2
(Current priorities in Essence language)
Ways to go: option 1.2
(correspondence rules between languages)
29. 29
Possible solution ideas
(Expert estimation of the most interesting things in Essence)
Essence separates Alpha and Work Product.
It’s changes of Alpha States what we need to
progress in project.
We can group competences around Alphas
because specific competences are usually
needed to push Alphas to next stage.
30. 30
Possible solution ideas
(Expert estimation of the most interesting objects in Archimate)
Because these ones allow
us to discuss tools
31. 31
Essence allows us to discuss Alpha states and
their changes in system lifecycle
Possible solution ideas
(Expert estimation of the most interesting things in Essence)
32. 32
Areas of Concern Active/Behavior/Passive
Business/Application/Technology
Possible solution ideas
(Color coding)
33. Спецификации не достаточно:
нужно еще договариваться как
те или иные «ситуации»
выражаются
33
Possible solution ideas
(Archimate Patterns)
34. Шаблоны – совершенно другие:
шаблон – элемент языка.
Роль м.б. выражена шаблоном
34
Possible solution ideas
(Essence Patterns)
36. 36
Gerben Wierda Blog Post “Reframing #ArchiMate: about the physical domain, layers and recursion” (http://tinyurl.com/n79jkae)
Possible solution ideas
(Modeling tools without using layers in Archimate)