The document discusses forces that drive architecture decisions. It states that creating software architecture involves making choices between alternatives for issues like whether to build or buy components, which frameworks to use, and where to put components. These decisions are driven by forces like requirements, business goals, laws, standards, and technical concerns regarding reliability, experience, scalability, and strategic development. A force is any factor that must be considered when evaluating decision alternatives. Typical forces include requirements, business goals, constraints, regulations, laws, standards, and technical principles.
Retail, distribution and production. What’s differentiate Retail from others two?
- The Ocean of data. Many locations with thousands SKU.
Where to focus? What is system constraint?
A: The Data (information) flow!
How to exploit it?
A: To clean mistakes from the system and to make data reliable. If not, you’ll allow to run the Random Chaos mechanism in the very roots of the system.
How to subordinate?
A: Through automated POOGI (Process of ongoing improvement) mechanism. And to implement POOGI mechanism is more important than DBM (Dynamic Buffer Management) formula. BUT to implement POOGI is a “mission impossible” without proper IT solutions. This solution must enable automated collection of information about the every single “quanta” of behavior.
How to implement auto POOGI?
How to collect skills and competences for that? I will share our Goodstream experiences during TOCICO presentation in Chicago 2012.
Retail, distribution and production. What’s differentiate Retail from others two?
- The Ocean of data. Many locations with thousands SKU.
Where to focus? What is system constraint?
A: The Data (information) flow!
How to exploit it?
A: To clean mistakes from the system and to make data reliable. If not, you’ll allow to run the Random Chaos mechanism in the very roots of the system.
How to subordinate?
A: Through automated POOGI (Process of ongoing improvement) mechanism. And to implement POOGI mechanism is more important than DBM (Dynamic Buffer Management) formula. BUT to implement POOGI is a “mission impossible” without proper IT solutions. This solution must enable automated collection of information about the every single “quanta” of behavior.
How to implement auto POOGI?
How to collect skills and competences for that? I will share our Goodstream experiences during TOCICO presentation in Chicago 2012.
An introduction and overview to IEEE Std 1471:2000 aka ISO/IEC 42010:2007: Recommended Practice for Architecture Description of Software Intensive Systems
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
An introduction and overview to IEEE Std 1471:2000 aka ISO/IEC 42010:2007: Recommended Practice for Architecture Description of Software Intensive Systems
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Mind map of terminologies used in context of Generative AI
Forces on architecture decisions (WICSA 2012)
1. Forces on architecture
decisions
Uwe van Heesch
Paris Avgeriou
Rich Hilliard
Dienstag, 14. August 2012 1
2. Creating software architecture
is making decisions
Architect
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 2
3. Creating software architecture
is making decisions
M a k e o r b u y? r n s t o us e?
h ich a rch i t e c t u r a l p a t te
W
ame wo r k f o r p e rs i s te n c e?
Wh ich f r e p l at f o r m?
Wh ic h m idd le wa r t s o r de s ig n?
S h o u ld we re u s e c om p o ne n
we us e o p e n s o u rc e SW?
Sh o u ld
h e re t o p u t c om p o ne n t C?
W
Architect
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 2
4. Each decision implies a choice between 2 or more
alternatives
?
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 3
5. These choices are driven by forces.
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 4
6. These choices are driven by forces.
prefer
OSS
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 4
7. These choices are driven by forces.
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 4
8. Decisions are driven by forces.
Reliability
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 5
9. Decisions are driven by forces.
Reliability
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 6
10. Decisions are driven by forces.
Experience
Reliability
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 6
11. Decisions are driven by forces.
Experience Reliability
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 7
12. Decisions are driven by forces.
Strateg. development
Experience Reliability
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 7
13. Decisions are driven by forces.
Experience Reliability
Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 8
14. Decisions are driven by forces.
Scalability
Experience Reliability
Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 8
15. Decisions are driven by forces.
Experience Reliability
Scalability Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 9
16. Decisions are driven by forces.
prefer
OSS Reliability
Experience
Scalability Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 9
17. Decisions are driven by forces.
Experience Reliability
Scalability Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 9
18. Decisions are driven by forces.
Resulting force
Experience Reliability
Scalability Strateg. development
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 9
19. A force is any aspect of an architectural problem
arising in the system or its environment ( operational,
development, business, organizational, political,
economic, legal, regulatory, ecological, social, etc.), to be
considered when choosing among the available decision
alternatives.
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 10
20. Typical forces
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
21. Typical forces
requirements
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
22. Typical forces
requirements business goals
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
23. Typical forces
requirements business goals
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
24. Typical forces
requirements business goals
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
25. Typical forces
requirements business goals
laws
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
26. Typical forces
requirements business goals
laws
standards
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
27. Typical forces
requirements business goals
laws
principles
standards
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
28. Typical forces
requirements business goals
laws
hw/sw interfaces
principles
standards
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
29. Typical forces
requirements business goals
laws
hw/sw interfaces
principles
standards
previously made ADs
regulations
constraints
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 11
30. requirements
constraints business goals
laws standards principles
previously made ADs hw/sw interfaces
regulations
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 12
31. forces
requirements
constraints business goals
laws standards principles
previously made ADs hw/sw interfaces
regulations
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 12
32. How to model and document forces?
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 13
33. A framework for architecture decisions
Decision Decision
Relationship Chronology
Viewpoint Viewpoint
Decision
Detail VP
Decision
Stakeholder
Involvement VP
using the conventions from ISO/IEC/IEEE 42010
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 14
34. Decision
Relationship
Viewpoint
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 15
35. Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 16
36. Decision
Chronology
Viewpoint
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 17
37. Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 18
38. Decision
Chronology
Viewpoint
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 19
39. A framework for architecture decisions
Decision Decision
Relationship Chronology
Viewpoint Viewpoint
Decision
Detail VP
Decision
Stakeholder
Involvement VP
using the conventions from ISO/IEC/IEEE 42010
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 20
40. A framework for architecture decisions
Decision Decision
Relationship Chronology
Viewpoint Viewpoint
Decision
Detail VP
Decision Decision
Stakeholder Forces
Involvement VP Viewpoint
using the conventions from ISO/IEC/IEEE 42010
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 20
48. holder
cost, w
Concerns framed by the forces viewpoint be “not
related concerns, the stakeholders were identified in our pre-
vious work. hardwa
licenses
Table I
C ONCERNS OF THE DECISION FORCES VIEWPOINT
classifie
distribu
Code Concern
C3 What is the rationale for decision D? Apar
C4 What concerns Ci does decision D pertain to? betwee
C5 What forces Fj impact/influence decision D? of the
C6 What decisions Dk are influenced by force F ?
C7 What forces Fl have conflicting influences on decision D?
system:
C23 What decisions Dp or decision sub-graphs SGq can be
reused in other projects? ++:
Table II
T YPICAL STAKEHOLDERS OF THE DECISION FORCES VIEWPOINT AND
THEIR CONCERNS
+:
Stakeholder Concerns blank
Architect C3, C4, C5, C6, C7 Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 Reviewer C3, C4, C5, C6, C7 22
49. C ONCERNS OF THE DECISION FORCES VIEWPOINT
classified by a legal concern (e.g
distributed).
Code Concern
C3 What is the rationale for decision D? Apart from a textual qualificatio
C4 What concerns Ci does decision D pertain to? between decision force and archite
C5 What forces Fj impact/influence decision D? of the following values, estimated
C6 What decisions Dk are influenced by force F ?
C7 What forces Fl have conflicting influences on decision D?
system:
C23 What decisions Dp or decision sub-graphs SGq can be
reused in other projects? ++: A force strongly suppor
)*+,'-+./012134
M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N
native to be !"#$
!5-5'6-1753+ #*882+,57+
chosen. An
M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N
:7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6
*'+')!,-.( &/& *!0 1#.$2'3)4!
the operability&;I$(2#!9: wh
5*6 78!9:
force,
1;<# 4#IG2-J$-;.
=% Q+(L)2#IJ;.I#)$-E#)MR)SL%ITable II
1;.G#2.OIP
T-E#)U#"'+-;2 %% % &' & choice of Swing/Java, be
& % %
T YPICAL => H.$#(2'$#)EF3$L)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8
STAKEHOLDERS OF THE DECISION FORCES
=? =#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8
%
VIEWPOINT AND
%
%% develop rich graphical us
%
% % %%
THEIR CONCERNS
=@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8
=A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-3-$8
%%
%%
%
%
%
& +:% & A force moderately supp
%
& %
&
%
(
=%B !#GF2-$8)OJ#2I;.'3)<'$')J2;$#G$-;.P !#GF2-$8 % ( % ( (
Stakeholder Concerns
=%? 13-#.$)J3'$W;2E)-.<#J#.<#.G# &;2$'U-3-$8 % %% %% blank: A force has a neutral in
=CB YJ#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % %
Architect C3, C4, C5, C6, C7 native, or % is not applic
it
'''''!+.*6*10'917.+6
=CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % %
=C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % %
Reviewer C3, C4, C5, C6, C7
=CK [;)J'-<)B2<)J'2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % -: A force moderately oppo
%% %%
Requirements Engineer
?-/+7'<17.+6 C4, C6, C7
New project member
0% H.";FI#)#VJ#2-#.G#
C3
4#+#3;JE#.$)$-E# - -: A force strongly opposes
0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %%
Domain expert 0%LC &/&)O<#G#.$P
C23 4#+#3;JE#.$)$-E# % For instance, if the progra
0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E#
0%LD 78!9:)O+#28)(;;<P
0%L> *!0)O+#28)(;;<P
4#+#3;JE#.$)$-E#
4#+#3;JE#.$)$-E# %
% ence in functional progra
%%
0C !$2'$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II
0CL% :#'2.)&;I$(2#I 1;EJ#$-$-+#.#II %
a strong argument again %%
%%
The decision forces viewpoint consists of a single% model%
0CLC HEJ2;+#)*'+'IG2-J$)I-33I
0CLB :#'2.)*]F#28
&&
&& % %
1;EJ#$-$-+#.#II
1;EJ#$-$-+#.#II
as a programming langu
kind. Figure 3 depicts its metamodel, which presents the%
0D :-.FV)I#2+#2)'+'-3'U3#
0> [;.)UFI-.#II)G2-$-G'3-$8
% 4#+#3;JE#.$)G;I$I
6FI-.#II)G2-$-G'3-$8
X:% A% decision alternative is
%
%
conceptual elements for architecture models %%that adhere to&&
0K =#I;F2G#)FI'(#);.)I#2+#2 & =#I;F2G#)F$-3-^'$-;. &&
instance, a force (could
&& %
it. This model is part of a shared metamodel, which is used tributed under an open s
by all viewpoints of the decision documentation framework. would for instance preven
Together with well-defined correspondence rules, the shared as a search library. Neve
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 23
50. Validation of the forces viewpoint
• multiple case study
• 3 groups of graduating students
• working in non-academic SW projects
(2 industrial, 1 open source)
• used our decision framework to model ADs
• observed over a period of seven weeks
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 24
51. Research questions
RQ1: How does the forces viewpoint support
the decision making process?
RQ2: Which decision-related concerns does the
forces viewpoint support?
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 25
52. Data collection and analysis
• work artifacts
• weekly focus groups
• participant observation
• grounded theory for data analysis
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 26
53. Results
Table IV
R ESULT OF THE QUALITATIVE ANALYSIS
Code Category PrjA PrjB PrjC Concerns Res. Qu.
Cat1 Required students to think more carefully about decisions. X X X RQ1
Cat2 Triggered students to consider quality attribute requirements. X X X RQ1
Cat3 Prevents ad-hoc decisions. X X X RQ1
Cat4 Forces viewpoint will be used in other projects. X X X RQ1
Cat5 Triggered students to identify more alternatives. X X RQ1
Cat6 Good way to document decisions. X X RQ1
Cat7 Creating the forces view took a lot of time. X RQ1
Cat8 Prevents inefficient discussions about decisions. X RQ1
Cat9 Created with reasonable effort. X RQ1
Cat10 Saved time in the end. X RQ1
Cat11 Support for rational decisions. X RQ1
Cat12 Forces view complements relationship view. X RQ1
Cat13 Useful for architects, designers, programmers, and new project members. X RQ1
Cat14 Support for weighing forces is missing. X RQ1
Cat15 Identifying all forces is a matter of experience. X RQ1
Cat16 Forces view and relationship view are simultaneously refined. X RQ1
Cat17 Proper tool support needed. X RQ1
Cat18 Maintain overview over architectural decisions, concerns, and forces. X X X C4,C5,C6 RQ1,RQ2
Cat19 Helpful to systematically compare decision alternatives in the context of X X X C5,C6 RQ1,RQ2
forces.
Cat20 Help for estimating requirements coverage. X X C6 RQ1,RQ2
Cat21 Support for systematic trade-offs between forces. X C7 RQ1,RQ2
Cat22 Supports sharing architecture rationale. X X X C3, C23 RQ2
e important than other forces causing them to select an The students described that one column in the forces v
itecture decision alternative that had a lower rating (i.e. (see Figure 1) shows which concerns (Cat18, concern C4),
s of pluses and minuses) than the other alternatives. Al- which forces (Cat18, concern C5) are related to a decis
Uwe van Heesch - uwe@vanheesch.net
gh we had considered this aspect during the design of the
Dienstag, 14. August 2012
They also understood that a row in the view shows decis 27
54. Results
+ supports decision making process of
(inexperienced) designers
+ provides a structure for making systematic
decisions
+ documents rationale that went into decisions
+ satisfies the stakeholder concerns assigned to the
viewpoint
- different weights for forces needed
- identifying forces requires experience
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 28
55. Ongoing work
• decision-centric architecture evaluation based
on forces
• lists of domain specific forces
• different approaches to weighing forces
• different approaches to force impact ratings
• improved tool support for decision framework
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012 29
56. Thank you for your
attention
uwe@vanheesch.net
paris@cs.rug.nl
r.hilliard@computer.org
Dienstag, 14. August 2012 30