erence Architecture (NIST CCRA) (Liu, F., Tong, J.;
Mao, J.; Bohn, R.; Messina, J.; Badger, M.; Leaf, D.,
2011). First, we discuss some related work in Sec-
tion 2 on CC requirements engineering approaches.
Section 3 shows the proposed approach for eliciting
requirements and deriving logic architectures for the
cloud. In Section 4, we present our case study. Sec-
tion 5 describes a brief discussion of the results, and
finally, Section 6 concludes the paper.
2 RELATED WORK
To create a software architecture model, one must un-
derstand the problem, find a solution, and evaluate the
final result, according to (Souza et al., 2019). Finding
a solution is related to deriving a software architecture
from the requirements specification.
Existing software architecture methods offer ways
to derive architectural models from requirements
specifications. But creating an architectural model
is difficult, especially because requires a balance
between the different forces imposed by different
application domains and quality attributes. Also,
(Souza et al., 2019) refers that the current architec-
tural derivation methods rely heavily on the archi-
tect’s tacit knowledge (experience and intuition), do
not offer sufficient support for inexperienced archi-
tects, and lack explicit evaluation mechanisms. This
leads to poor requirements understanding process, un-
detailed decision-making process, inconsistency be-
tween artifacts, semantic loss, and lack of traceability
between models. (Souza et al., 2019) highlights the
lack of standardized terms, reducing understandabil-
ity, making the communication between stakeholders
inefficient and error-prone. While the standardization
of terms contributes to an established body of lan-
guage, beneficial to software architecture researchers
and practitioners, also could contribute to the adop-
tion of Architecture Description Languages - ADL
(UML, sysML, other). ADLs poor adoption is mainly
because they need to capture design decisions judged
fundamental to satisfy different stakeholder concerns
and also because it is difficult to capture all the differ-
ent concerns with a unique language. Standardization
of terms would facilitate the adoption of ADLs.
The cloud environments are stochastic and dy-
namic, so it is complex to identify, clarify and man-
age cloud requirements in a systematic way (Zardari
and Bahsoon, 2011), (Iankoulova, 2012). According
to (Zalazar A.S., 2017), the CC requirements engi-
neering approaches are mostly concentrated in object-
oriented artifacts and tools. And existing require-
ments engineering processes for CC are generally
about nonfunctional requirements, usually focused on
particular characteristics, as security, privacy, avail-
ability, and other performance aspects. CC is com-
plex to administrate because of dynamism imposed
by the context of having elastic resources (scaling, re-
sizing, on/off), requirements depending on business
changes (peak and non-peak times), consumers being
heterogeneous from different geographic places and
jurisdictions, and distributed systems being managed
remotely.
Authors like (Schrodl and Wind, 2011) conclude
that none of the common models (V-model, Volere,
Extreme programming, and Rational Unified Process)
is suitable to cover the needs of requirements un-
der cloud computing. Also, there is little informa-
tion about frameworks and methods for supporting
projects for this domain (Klems et al., 2009). Or-
ganizations try to adapt existing techniques or create
new ones for supporting cloud projects, but missing
a systematic guidance (Zardari and Bahsoon, 2011),
(Koitz et al., 2013). The lack of engineering methods
for this domain carried risks related to incorrect or un-
justified decisions, which result in subjective project
developments. Thus, (Rimal, 2011), states that a big
challenge for CC is the lack of a standard that helps
meet the objectives covering many different aspects
of cloud services.
(Zalazar A.S., 2017) refers that the recent contri-
butions to the requirements engineering approaches,
proposes frameworks to evaluate and to handle re-
quirements for CC projects. However, there are no
well-known tools and automatic techniques support-
ing that CC adoption.
Some approaches pursue the idea of cloud com-
puting as a multidimensional paradigm, related with
cloud services and SLA, and used to identify cloud
requirements and constraints in natural language, and
being the bases for models, and ontologies.
For example, (Repschlaeger et al., 2012) presents
six target dimensions based on general objectives
(service and cloud management, IT security and com-
pliance, reliability and trustworthiness, scope and per-
formance, costs, and flexibility). (Pichan et al., 2015)
consider only three dimensions (technical, organiza-
tional, and legal). Also, (Zalazar A.S., 2017) proposes
five dimensions (service cloud dimensions of contrac-
tual, financial, compliance, operational and techni-
cal), considering CC as a multidimensional paradigm
where different activities, roles, and service dimen-
sions are integrated. Also, because requirements
change frequently, the author states that a stream-
line is needed, to monitor and trace requirements us-
ing traceability mechanisms, but without specifying
them.
ICSOFT 2022 - 17th International Conference on Software Technologies
400