<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Pratisyenlerin Yazılım Mimarisi Bakış Açıları Üzerine Bilgi ve Tecrübelerini Anlamaya Yönelik Bir Anket Çalışması</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mert Ozkaya</string-name>
          <email>mozkaya@cse.yeditepe.edu.tr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Yeditepe University</institution>
          ,
          <addr-line>Atasehir, Istanbul</addr-line>
        </aff>
      </contrib-group>
      <kwd-group>
        <kwd>Mert Ozkaya</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Özet. Yazılım mimarisi bakış açıları yazılım mimarilerinin değişik bakış açıları
cinsinden modüler bir şekilde kısımlara bölünmesini ve her bir kısımın o bakış
açısı ile ilgili tasarım kararlarına odaklanmasını hedefler. Bu bildiride,
yazılımcıların değişik bakış açıları üzerine olan bilgi ve tecrübelerini anlamaya
yönelik farklı endüstrilerde çalışan 20 farklı ülkeden 56 pratisyenin katıldığı bir
anket düzenlenmiştir. Anket, pratisyenler tarafından sıklıkla kullanıldığı düşünülen
farklı yazılım mimarisi bakış açılarına odaklanmıştır: mantıksal, davranış,
eşzamanlılık, fiziksel, ve dağıtım bakış açıları. Anketten çıkan sonuçların bazı
ilginç olanları şöyledir: (i) mantıksal, davranış, fiziksel, ve dağıtım bakış açıları
bir hayli ilgi görürken, eşzamanlılık bakış açısı pratisyenler tarafından fazla
ilgi görmemiştir; (ii) mantıksal bileşenlerin tasarımında en çok tercih edilen
yapısal birim harici arayüzler olurken, en az tercih edilen ise içsel hesaplama
birimi olmuştur; (iii) en çok tercih edilen mantıksal konektör tipi asenkron
event konektörleri olarak belirlenmiştir; (iv) kompleks konektör tipleri
(adaptör, dağıtıcı, arabulucu gibi) pek ilgi görmemektedir; (v) yazılım mimarilerini
değişik bakış açılarından modellemede en çok tercih edilen notasyonlar
kutucuklar ve çizgiler notasyonu ile doğal diller (İngilizce gibi) olurken, yazılım mimarisi
modelleme dilleri ve biçimsel diller pek kullanılmamaktadır; (vi) yazılım
sistemlerinin farklı bakış açıları kullanarak tasarlamada pratisyenlerin en büyük
motivasyonu farklı tasarım kararlarının dokümantasyonu ve iletişimi olarak
belirlenmiştir; (vii) bileşenlerin etkileşim davranışlarının tasarımı bir hayli ilgi
görmektedir; (viii) değişik bakış açılarındaki modellerin birbirleri arasındaki
ilişkilerinin tasarımının, modelleme notasyonlarının eksikliklerinden dolayı her
zaman başarılamadığı gözlemlenmiştir; ve son olarak, (ix) pratisyenlerin
sistemlerinin davranışsal tasarımlarında en çok önem verdiği kalite özellikleri
ölçeklenebilirlik, performans, ve güvenlik olarak gözlemlenirken, dağıtım tasarımları
için ise ölçeklenebilirlik ve kullanılabilirlik özelliklerinin öne çıktığı
gözlemlenmiştir.</p>
      <p>Anahtar Kelimeler. Yazılım Mimarileri, mimari bakış açıları, anket, yazılım
modelleme dilleri, pratisyenler</p>
      <p>Mert Ozkaya
Yeditepe University, Atasehir, Istanbul</p>
      <p>mozkaya@cse.yeditepe.edu.tr
Abstract. Architecture viewpoints promote separating software
architectures into different viewpoints that each address the particular aspect
of a software system. This paper discusses a survey conducted among
56 practitioners from 20 different countries who are involved in software
development and aims at understanding their knowledge and experience
about five important architectural viewpoints – i.e., logical, behaviour,
concurrency, physical, and deployment. Some of the interesting survey
results are as follows: (i) while the logical, behaviour, physical, and
deployment viewpoints are widely used, the concurrency viewpoint is not
so; (ii) the top-preferred structural unit for a logical component is the
external interfaces and the least-preferred is the internal computation unit.
(iii) the top-preferred simple connector type is the asynchronous events;
(iv) the complex connectors (e.g., adaptor and arbitrator) are not as
popular as simple connectors; (v) boxes and lines diagram and natural
languages (e.g., English) are the top-preferred software modelling notations
for each viewpoint considered, while architectural languages, and formal
specification languages are never used by many; (vi) documenting design
decisions and their communication is the main source of motivation for
each viewpoint; (vii) the specifications of the interaction behaviours of
components are highly desired by practitioners; (viii) mapping between
different viewpoints cannot always be achieved due to the inadequate
software modelling notations; and (ix) scalability, performance, and
security are the top-considered quality properties for the behaviour
viewpoint, while scalability and availability are the top-considered ones for
the deployment viewpoint.
1</p>
    </sec>
    <sec id="sec-2">
      <title>Introduction</title>
      <p>
        Software architecture is considered as the blueprint of a software system to be
built, in which the low-level details of the system are abstracted and the
highlevel important aspects that play key roles in meeting the functional and
nonfunctional requirements of the system are focused on [
        <xref ref-type="bibr" rid="ref32 ref5">5, 32</xref>
        ]. To facilitate the
specifications of software architectures, architectural viewpoints have been
proposed, which basically promote the separation of concerns and modularise the
software architecture designs into separate perspectives that each addresses the
design decisions about a particular aspect [
        <xref ref-type="bibr" rid="ref15 ref34 ref38">15,34,38</xref>
        ]. To model software systems
from different architecture viewpoints, practitioners may use different sorts of
notations. These notations can simply be boxes and lines diagram or any natural
languages (e.g., English) through which practitioners can graphically or
textually specify their design decisions and communicate them with others.
Practitioners may also use the software modelling languages with concrete syntax and
well-defined semantics, which enable the processing of the architectural
models for purposes, e.g., analysis, simulation, and code-generation. Indeed, there
are different types of languages, including the architectural languages (ALs)
with architecture-oriented notation sets (i.e., components and connectors) [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ],
Business Process Modelling Langages (BPMLs) [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ], domain-specific languages
(DSLs) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], formal specification languages (e.g., pi-calculus [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] and CSP [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ])
with formally defined semantics, and Unified Modeling Language (UML) [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ]
and its extensions.
      </p>
      <p>
        However, the current literature does not really aid in understanding
practitioners’ perspectives towards different architecture viewpoints. Indeed, many
issues, such as the notations preferred by practitioners for different viewpoints,
practitioners’ expectations from modeling software architectures in different
viewpoints, practitioners’ main motivations of modeling in different viewpoints, still
remain ambiguous. Therefore, in this study, a survey has been conducted among
a set of practitioners from different industries to understand their knowledge and
experience about the architectural viewpoints. The survey focuses on the five key
architectural viewpoints that have been proposed by Taylor et al. [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ] and are
believed to be highly used by the practitioners who are involved in software
development. These are the logical, physical, deployment, behaviour, and concurrency
viewpoints. The logical viewpoint deals with the decompositions of software
systems into software components and connectors. The physical viewpoint focuses
on the physical components in which the logical components will be allocated
and the physical communication links. The deployment viewpoint focuses on
how the logical components should be mapped into the physical components.
The behaviour viewpoint deals with the component and connector behaviours.
The component behaviours can be considered either as the interface behaviours
or the internal behaviours. The connector behaviours can be considered as the
complex interaction mechanisms that control the interactions of the components.
Lastly, the concurrency viewpoint deals with the concurrency-related issues of
software components such as the synchronous/asynchronous communications,
the parallel compositions, the use of threads and processes, and the common
concurrency problems (e.g., deadlock and race-condition).
2
      </p>
    </sec>
    <sec id="sec-3">
      <title>Survey Methodology</title>
      <p>The survey consists of 38 different questions, which have been determined
after several iterations of reviews. Among the 38 questions, just 9 questions use
single-choice answers. 2 of them provide numeric (i.e., integer) answers in which
the participants are requested to choose one of the ranges of numbers (e.g.,
0-10, 11-50, 51-100, and 100+). The rest of the 7 questions are essentially the
yes/no questions. However, to maximise the precision of the survey results, those
questions each provide a rating answer, which offers the following options:
always (100%), much of the time ( 75%), often ( 50%), sometimes (&lt;50%), and
never (0%). The rest of the questions offer multiple-choice answers and allow
practitioners to choose as many of the answers as they wish. Note that each
multiple-choice answer also include a "free-text" area in which practitioners can
type any answers that are not existing in the list of the multiple-choice answer.</p>
      <p>The survey has been designed for the software industry and intended for the
practitioners who hold software related positions such as software architect,
designer, developer, software engineer, programmer, and software project manager.
To reach as many practitioners as possible, the social media platforms have been
tried initially, including facebook, linkedin, google and yahoo groups, and some
popular software development forums (e.g., stack overflow). Also, the existing
architectural languages that support the viewpoints considered in the survey have
been searched and any scientists with industry background who contributed to
the development of those languages have been contacted via e-mail. Moreover,
the mailing lists of the widely-known computing societies (i.e., ACM and IEEE)
have been used. Lastly, the author’s personal contacts working in software
industry have been requested to participate in the survey too. So, the survey received
56 different responses from practitioners all over the world.
3</p>
    </sec>
    <sec id="sec-4">
      <title>Survey Results</title>
      <p>In this part, the answers given to the survey questions are analysed. To facilitate
understandability, the answers of the questions are considered in six different
sections: one for the profile questions and a separate section for each viewpoint
considered (i.e., logical, physical deployment, behaviour, and concurrency). For
each section, the answers given to each relevant question are discussed separately.
3.1</p>
      <sec id="sec-4-1">
        <title>Profile of the Practitioners</title>
        <p>Practitioners country of work (Q1). The survey attracted practitioners from
20 different countries, given as follows: USA, Colombia, Austria, Latvia, Chile,
Indonesia, Ukraine, Australia, Belgium, Finland, France, Germany, India,
Portugal, Russia, Spain, Sweden, the Netherlands, Turkey, and UK. The top
participating country is USA (22%), which is followed by Turkey (13%), UK (11%),
and France (9%).</p>
        <p>Practitioners’ highest academic degrees and university subjects (Q2 and Q3).
76% of the practitioners hold postgraduate degrees, where 47% hold MSc or MA
degrees and 29% hold PhD degrees. 22% of the practitioners hold undergraduate
BSc or BS degrees. Lastly, 2% of the practitioners hold college degrees. Many of
the practitioners (63%) have studied the computer science/engineering subject.
Concerning the rest of the practitioners, 9% of the practitioners have studied
software engineering, 7% studied information technology, 6% studied electrical
and electronics engineering, and the other subjects (e.g., physics, maths, history,
and management) have been studied by 2-4%.</p>
        <p>Practitioners’ job positions (Q4). The software architect position is the
topselected one, held by 48% of the practitioners, which is followed by the software
developer/programmer (29%) and consultant (29%) positions. The system
engineer position (14%) and the high-level manager positions are held by 11-14% of
the practitioners.</p>
        <p>Practitioners’ years of experience on the software architecture modelling (Q5).
More than half of the practitioners (52%) have more than 10 years of experience.
21% of the practitioners have 6-10 years of experience, 13% of the practitioners
just have 2-5 years of experience, and 9% have less than 2 years of experience.
Note that 5% of the practitioners do not have any experience on the architecture
modelling at all. These practitioners with no experience are directed to submit
the survey form without answering the rest of the survey questions.
Practitioners’ work industries (Q6). IT and telecommunications is the top
industry that is selected by 47% of the practitioners. This is followed by the
finance and accounting (27%), automative and transportation (22%), government
(20%), defense/military aviation (16%) and healthcare and biomedical (12%)
industries. 8% of the practitioners work in the software outsourcing industry.
Practitioners’ software project types (Q7). The top software project type
developed by practitioners is the business applications software (63%), which is
followed by the web applications (57%) and mobile applications (51%). The systems
software, scientific/engineering applications, and safety-critical and mission-critical
software have been selected by 27-35% of the practitioners. The cloud
applications and telecommunications software are the least selected software project
types.
3.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Logical Viewpoint</title>
        <p>The practitioners who model software architectures from the logical viewpoint
(Q8). Practitioners frequently model their software architectures from the
logical viewpoint. Indeed, 36% of the practitioners always (100%) do so, 31% of the
practitioners do so much of the time (&gt;=75%), and 13% do so often (&gt;=50%).
Just 12% of the practitioners sometimes (&lt;50%) model their software
architectures from the logical viewpoint. 8% of the practitioners never (0%) model their
software architectures from the logical viewpoint.</p>
        <p>
          The structural units preferred for the logical components (Q9). As shown in
Fig. 1, most of the practitioners (84%) consider components in terms of their
external interfaces for sending/receiving services. Half of the practitioners also
wish to specify composite components (i.e., the unit of configuration), which
may structurally be composed of some other component and connector instances.
Some practitioners (48%) wish to specify the component state descriptions for
purposes such as the behaviour specifications (i.e., how the services impact on
the state). Lastly, the internal computation unit for specifying the internal
behaviours of components has been shown the least interest, selected by 30% of
the practitioners.
The types of logical connectors preferred by practitioners (Q10). In this survey,
the connector types proposed by Mehta et al. [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ] have been considered. As
shown in Fig. 2, the top preferred connector types are the asynchronous event
connectors (74%) and simple link connectors (60%). 47% of the practitioners
wish to use adaptor connectors, which enable the successful composition of a set
of interacting components that are incompatible and cannot communicate
otherwise. The shared-data access, procedure call, and stream connectors are preferred
by 37-44% of the practitioners. Arbitrators and distributors are rarely used by
practitioners (19-26%), where the former represent the connectors for dealing
with the quality properties (e.g., schedulability, performance, and security) and
the latter represent the connectors for handling the distributed communication
issues of distributed components.
The software modelling notations used by practitioners for modeling software
architectures from the logical viewpoint (Q11, Q12, Q13). As shown in Fig. 3,
the boxes and lines diagram is the top used modelling notation, which is followed
by UML and natural languages (e.g., English). Many practitioners never use the
BPMLs, DSLs, and UML extensions. Only a few practitioners stated that they
use ALs for modeling their software architectures from the logical viewpoint.
The ALs they prefer are AADL [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], Acme [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], and Archimate [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. Besides,
practitioners have also indicated to use some other software modelling notations,
including pseudocode, formal specification languages (e.g., Z [
          <xref ref-type="bibr" rid="ref36">36</xref>
          ], CSP [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], and
CCS [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]), Unified Architecture Framework (UAF) [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ], and Structured Analysis
and Design Technique (SADT) [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
        </p>
        <p>Practitioners’ motivations for modeling software architectures from the logical
viewpoint (Q14). Almost all the practitioners are motivated by the abilities of
(i) documenting and communicating the component structures (91%) and (ii)
decomposing a large and complex problem into manageable and
understandable components (86%). Also, many practitioners (64%) are interested in (i)
documenting and communicating the types of connectors for the component
interactions and (ii) analysing the static aspects of systems (e.g., inconsistencies,
incompatibilities, and incompleteness). Surprisingly, generating software code
from the logical view specifications or the languages’ distinguishing features (e.g.,
large-view management, graphical support, and extensibility) are not among the
popular reasons, chosen by 25-30% of the practitioners.
3.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Behaviour Viewpoint</title>
        <p>
          The practitioners who model software architectures from the behaviour viewpoint
(Q15). Half of the practitioners frequently (&gt;=75%) model their software
architectures from the behaviour viewpoint (19% chose always and 33% chose much
of the time). 11% of the practitioners often (&gt;=50%) do so and 25% of the
practitioners sometimes (&lt;50%) do so. 12% of the practitioners never software
architectures from the behaviour viewpoint.
The component behavioural units preferred by practitioners (Q16, Q17). As
shown in Fig. 4, practitioners are most interested in specifying the interaction
behaviours of components (81%) and their external interface behaviours (72%).
63% of the practitioners are interested in specifying the internal behaviours of
components. Lastly, 53% of the practitioners are interested in considering the
non-functional requirements (e.g., performance, security, and reliability) as part
of their component behaviour specifications.
The non-functional properties that practitioners are interested in (Q18). As
shown in Fig. 5, scalability, performance, and security are the top-preferred
non-functional properties (70-76%), which are followed by the availability and
reliability properties (62-65%). However, schedulability is preferred by just 14%
of the practitioners.
The software modelling notations used by practitioners for modeling software
architectures from the behaviour viewpoint (Q19, Q20). As shown in Fig. 6, the
boxes and lines diagram are the top-used notation for specifying the behaviour
views of software architectures, which is followed by UML’s sequence diagram,
UML’s state diagram, and the natural languages (e.g., English). Surprisingly,
DSLs, BPMLs, formal specification languages, and ALs are the least-preferred
modelling notations by practitioners in specifying the behaviour views.
Fig. 7: The formal specification languages used by practitioners for formally
modeling software architectures from the behaviour viewpoint
The formal specification languages used by practitioners for formally modeling
software architectures from the behaviour viewpoint (Q21). While most of the
practitioners never use formal specification languages as revealed in the previous
questions, a few of those stated that they use some formal notations. These
are Petri nets [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ], Java Modelling Language (JML) [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], UPPAAL [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], state
transition systems, pi-calculus [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ], CSP [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], and Alloy [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
        <p>
          The architectural languages used by practitioners for modeling software
architectures from the behaviour viewpoint (Q22). Only a few number of practitioners
stated that they frequently use the ALs for modeling the software architectures
from the behaviour viewpoint. So, AADL is practitioners’ top choice, followed
by the Rapide [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] and Darwin [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ] ALs.
        </p>
        <p>Practitioners’ motivations for modeling software architectures from the behaviour
viewpoint (Q23). Documenting and communicating the high-level system
behaviours has been selected by almost all the practitioners (90%). The capabilitiy
of making the optimal design decisions about the component behaviours and
interactions is also found motivating by more than half of the practitioners (55%).
Some practitioners (30-40%) stated that they are motivated by the abilities of
(i) specifying the non-functional properties for the component behaviours and
interactions and (ii) utilising from the modelling languages’ capabilities (e.g.,
precision, complex view management, extensibility, etc.). However, most
practitioners do not see the generation of software code and the exhaustive (i.e., formal)
analysis as the motivating reasons for the behaviour viewpoint modeling.
3.4</p>
      </sec>
      <sec id="sec-4-4">
        <title>Concurrency Viewpoint</title>
        <p>
          The practitioners who use the concurrency viewpoint (Q24) Most of the
practitioners do not model their software architectures from the concurrency
viewpoint. Indeed, while 38% sometimes (&lt;50%) do so, another 38% never do so
really. Note that just 8% of the practitioners always model software
architectures from the concurrency viewpoint.
The software modelling notations used by practitioners for modeling software
architectures from the concurrency viewpoint (Q25, Q26). As shown in Fig. 8,
the boxes and lines diagram is the top preferred notation, followed by the natural
languages (e.g., English). A few practitioners use their own (in-house) DSLs for
modeling software architectures from the concurrency viewpoint. ALs, BPMLs,
DSLs, formal specification languages, and UML extensions are rarely used.
The formal specification languages used by practitioners for formally modeling
software architectures from the concurrency viewpoint (Q27). As indicated in
the previous question, the formal specification languages are rarely used for the
concurrency viewpoint modeling, Fig. 9 shows the formal languages used by a
few practitioners. So apparently, Petri nets, JML, and CSP that are shown in
Fig. 9 are preferred relatively more than any other languages by the practitioners
who use formal languages (20-30%). Some of those practitioners also stated that
they use some other formal languages that include Event-B [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], state transition
systems, ProMeLa [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], pi-calculus, and Alloy.
        </p>
        <p>The architectural languages used by practitioners for formally modeling software
architectures from the concurrency viewpoint (Q28) Like the formal specification
languages, a few practitioners stated that they use ALs for modeling software
architectures from the concurrency viewpoint. Among the four popular ALs
considered for modeling concurrency (Darwin, Rapide, AADL, and Wright), Darwin
seems to be the top popular AL among practitioners. Some participants stated
that they use their own ALs that they developed (indicated as other ).
The software modelling notation(s) used for mapping the logical components into
the concurrency components (Q29). Most of the practitioners (85%) who model
software architectures from the concurrency viewpoint are also interested in
mapping their logical components to the concurrency components. Those
practitioners mainly prefer the natural languages (e.g., English) and simple boxes and
lines diagram. A few practitioners prefer the software modelling languages, such
as the ALs, BPMLs, DSLs, and UML’s extensions.</p>
        <p>Practitioners’ motivations for modeling software architectures from the
concurrency viewpoint (Q30). Almost all the practitioners (81%) are motivated by the
ability for documenting and communicating the concurrency issues of their
software systems. Many practitioners (59%) wish to specify the design decisions for
avoiding the concurrency issues such as deadlock, livelock, and race-conditions.
Some (30-37%) wish to meet the domain requirements of their concurrent
systems. Surprisingly, only a few practitioners (22-26%) find the formal analysis of
the concurrent specifications and the mapping between the logical and
concurrent components as motivating.
3.5</p>
      </sec>
      <sec id="sec-4-5">
        <title>Physical and Deployment Viewpoints</title>
        <p>
          The practitioners who use the physical and deployment viewpoints (Q31). More
than half of the practitioners (52%) frequently model their software architectures
from the physical and deployment viewpoints (i.e., always or much of the time).
While 16% of the practitioners often (&gt;=50) do so, 22% of the practitioners
sometimes (&lt;50) do so. Lastly, 10% of the practitioners never model software
architectures from the physical and deployment viewpoints.
The software modelling notations used by practitioners for modeling software
architectures from the physical and deployment viewpoints (Q32, Q33). As shown
in Fig. 10, the boxes and lines diagram is the top-preferred notation, which is
followed by the natural languages (e.g., English) and UML. The ALs, BPMLs,
and DSLs, SysML are never used by most of the practitioners for the physical
and deployment viewpoint modeling. Lastly, some of the practitioners stated
that they use their own DSLs, and some use the UAF standard [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ].
The architectural languages used by practitioners for modeling software
architectures from the physical and deployment viewpoints (Q34). AADL is the top-used
AL, which is followed by the Archimate language. Abacus [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], Meta-H [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], and
East-ADL [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] are the other languages used by practitioners.
        </p>
        <p>The non-functional quality properties that practitioners consider for their
deployment viewpoint modeling (Q35). According to the survey results, 84% of the
practitioners who model software architectures from the physical &amp; deployment
viewpoints also consider documenting the non-functional quality properties that
can then be used for analysing the deployment architectures. Among the four
non-functional properties considered (i.e., availability, performance, scalability,
and security), the availability (e.g., load balancing, redundancy, and failure
situations) and scalability (e.g., the resource capacity for larger systems) properties
are shown the greatest interest (79%). 67-69% of the practitioners consider the
security (e.g., authentication and secure data transmission) and performance
(e.g., the number of CPU and memory estimates) properties. Note that a few
practitioners have chosen some other quality properties, i.e., maintainability,
developer &amp; operations cooperation, and regulatory compliance.
The software modelling notation(s) that practitioners use for mapping the logical
components into the physical components (Q36). The survey results reveal that
80% of the practitioners who model their software architectures from the physical
&amp; deployment viewpoints wish to map the logical components into the physical
components. The simple boxes and lines diagram (53%) and natural languages
(50%) are the top-popular techniques, followed by UML (40%). The rest of the
software modelling notations (i.e., ALs, UML’s extensions, SysML, BPML, and
DSLs) are shown a lack of interest, which are used by 10-15% of practitioners.
The software modelling notation(s) that practitioners use for mapping the
concurrent components into the physical components (Q37). According to the survey
results, 60% of the practitioners who specify the physical &amp; deployment views
are interesting in mapping the concurrent components into the physical
components. Practitioners prefer the simple boxes and lines diagram (42%) and natural
languages (45%), and UML (34%), as is the case for the mapping between the
logical and physical components discussed in Section 3.5.</p>
        <p>Practitioners’ motivations for modeling software architectures from the
physical and deployment viewpoints (Q38). According to the results, most of the
practitioners (86%) are motivated by documenting and communicating their
software systems’ physical components and their physical communications
motivates them. 68% of the practitioners are motivated by the ability of analysing
the deployment view specifications for quality properties. More than half of the
practitioners (54%) are interested in mapping between the logical/concurrency
views and physical views. Lastly, the modelling languages with useful
capabilities (e.g., graphical support, formal analysis, tool support, etc.) and generating
executable software code are shown a lack of interest by practitioners (14-19%).
4</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        The author has previously conducted some similar surveys on practitioners.
However, none of them considered the architectural viewpoints from practitioners’
perspectives. In [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], the author aimed at learning practitioners’ understanding
of software architectures. In [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], the author aimed at learning the informal and
formal software modeling notations used by practitioners for the specifications
of software architectures and practitioners’ expectations and motivations for the
modeling notations. Likewise, in the rest of this section, some other similar
surveys have been discussed, which are not so useful in understanding practitioners’
knowledge and experience on different viewpoints.
      </p>
      <p>
        May [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], for instance, analysed and compared five influential viewpoint
models (e.g., Kruchten’s 4+1 model [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]) using a comparison framework that May
proposed. In his framework, May analysed the viewpoints supported by the
viewpoint models regarding their considerations for the architectural structures (e.g.,
layered, client-server, and abstraction), the types of the stakeholders, and the
functional/non-functional concerns. Smolander et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] surveyed among three
different companies that work for the telecommunications industry, where one
is a system integrator, one is a mobile software company, and the other is a
telecommunication service provider. Smolander et al. analysed these three
companies so as to determine the viewpoints that are used by these organisations
in their software architecture designs. Tang et al. [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ] focussed on a number
of viewpoint models (including Kruchten’s) and analysed their support for the
basic requirements of architecture design including the architecture definition,
analysis, evolution, the support for specifying design decisions, and the use of
repositories. Booch et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] surveyed among a number of enterprise architecture
and technical architecture viewpoint models that promote the graphical
specifications of the enterprise software architectures. Booch et al. grouped the
viewpoint models based on their domain (i.e., company-specific, government-specific,
defense-specific, and consulting) and analysed them to learn which viewpoints
are supported, the accessibility of any resources for the viewpoint model, and
their weakness and strengths relatively to other viewpoint models. Purhonen
et al. [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ] analysed a set of architecture viewpoints (i.e., structure, behaviour,
deployment, and development) regarding their support for the digital signal
processing and middleware software architectures. Lastly, Lassing et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] consider
four viewpoints, grouped as macro architecture level (i.e., the system level) and
micro level (i.e., the internal structure of the system). The macro viewpoints are
the context and technical infrastructure viewpoints, while the micro viewpoints
are the conceptual and development viewpoints. Lassing et al. analysed these
viewpoints for the modifiability of software architectures (i.e., how easily the
system functionality can be changed).
5
      </p>
    </sec>
    <sec id="sec-6">
      <title>Discussions and Conclusions</title>
      <p>In this study, a survey has been conducted on understanding practitioners’
knowledge and experience about the logical, behaviour, concurrency, physical
and deployment viewpoints. While the logical, behaviour, physical, and
deployment viewpoints are used by many practitioners, the concurrency viewpoint for
the specifications of the concurrency issues are shown a lack of interest by
practitioners. For each viewpoint considered, practitioners stated that documenting
the design decisions and their communications with other stakeholders are their
main source of motivation. Also, practitioners prefer the boxes and lines diagram
and natural languages (e.g., English) for each viewpoint considered. However,
these notations do not offer any concrete syntax and semantics; so, the
specifications may not be processed for purposes such as analysis and code generation.</p>
      <p>
        Concerning the logical viewpoint, most practitioners view the logical
components structurally as the composition of external interfaces. Practitioners are
not so keen to specify the internal computations that are mainly concerned with
any internal actions operated on the component state. Practitioners are highly
interested in the event connectors, which may receive the asynchronous events
generated by a component and send it to all listening components. Complex
connectors such as arbitrators and distributors are rarely considered by
practitioners. This may be due to the lack of modeling languages that allow for
specifying complex connectors. Indeed, the event connectors are highly
popular among the architecture modeling languages [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. Concerning the behaviour
viewpoint, most practitioners are interested in specifying the interaction
behaviours of the components (i.e., how the component state changes depending
on the interface operations performed). Practitioners use UML’s state and
sequence diagrams for the behaviour specifications. However, other important
behaviour modeling notations such as formal languages and some domain-specific
languages that could aid in the formal verification of the system behaviours are
rarely used. This is probably due to that those languages are found difficult to
learn and use compared with UML. Given practitioners’ reluctance towards the
concurrency viewpoint, practitioners main concerns have been observed to be
the software modelling notations that lack in the support for the concurrency
issues (e.g., synchronous/asynchronous communications, threads, and processes)
and the mapping between the logical and concurrent components. Even if the
languages support concurrency, they offer this via a process algebras, which are
found as difficult to learn and use. Lastly, concerning the physical and
deployment viewpoints, while many practitioners are interested in specifying the
scalability and availability of the deployment architectures, there is a strong concern
about the languages’ tool support for modeling and analysing those properties.
      </p>
      <p>In the future, the survey results are aimed to be used for the proposal of
a novel architecture description language that supports the logical, behaviour,
concurrency, physical, and deployment viewpoints in a way which addresses the
needs of practitioners determined from the survey.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. The Open Group ArchiMate®
          <volume>1</volume>
          .0 Specification. Technical
          <string-name>
            <surname>Standard</surname>
          </string-name>
          (Feb
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Abrial</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          :
          <article-title>Modeling in Event-B: System</article-title>
          and
          <string-name>
            <given-names>Software</given-names>
            <surname>Engineering</surname>
          </string-name>
          . Cambridge University Press, New York, NY, USA, 1st edn. (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Booch</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mitra</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>A survey of enterprise view models</article-title>
          .
          <source>Tech. Rep. RC25049, IBM Research Report</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Chalin</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiniry</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leavens</surname>
            ,
            <given-names>G.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poll</surname>
          </string-name>
          , E.:
          <article-title>Beyond assertions: Advanced specification and verification with JML and ESC/Java2</article-title>
          . In: de Boer,
          <string-name>
            <given-names>F.S.</given-names>
            ,
            <surname>Bonsangue</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.M.</given-names>
            ,
            <surname>Graf</surname>
          </string-name>
          , S., de Roever, W.P. (eds.)
          <source>FMCO. Lecture Notes in Computer Science</source>
          , vol.
          <volume>4111</volume>
          , pp.
          <fpage>342</fpage>
          -
          <lpage>363</lpage>
          . Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Clements</surname>
            ,
            <given-names>P.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garlan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Little</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nord</surname>
            ,
            <given-names>R.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stafford</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          :
          <article-title>Documenting software architectures: Views and beyond</article-title>
          . In: Clarke,
          <string-name>
            <given-names>L.A.</given-names>
            ,
            <surname>Dillon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Tichy</surname>
          </string-name>
          ,
          <string-name>
            <surname>W.F</surname>
          </string-name>
          . (eds.) ICSE. pp.
          <fpage>740</fpage>
          -
          <lpage>741</lpage>
          . IEEE Computer Society (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Cuenot</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Frey</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Johansson</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lönn</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reiser</surname>
            ,
            <given-names>M.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Servat</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tavakoli</surname>
            <given-names>Kolagari</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Developing automotive products using the east-adl2 : an autosar compliant architecture description language</article-title>
          . Ingénieurs de l'Automobile (Automobile Engineers) :
          <volume>793</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. van Deursen,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Klint</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Visser</surname>
          </string-name>
          , J.:
          <article-title>Domain-specific languages: An annotated bibliography</article-title>
          .
          <source>SIGPLAN Not</source>
          .
          <volume>35</volume>
          (
          <issue>6</issue>
          ),
          <fpage>26</fpage>
          -
          <lpage>36</lpage>
          (
          <year>Jun 2000</year>
          ). https://doi.org/10.1145/352029.352035, http://doi.acm.
          <source>org/10</source>
          .1145/352029. 352035
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Dunsire</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>O'Neill</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Denford</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leaney</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The abacus architectural approach to computer-based system and enterprise evolution</article-title>
          .
          <source>In: 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05)</source>
          . pp.
          <fpage>62</fpage>
          -
          <lpage>69</lpage>
          (
          <year>April 2005</year>
          ). https://doi.org/10.1109/ECBS.
          <year>2005</year>
          .66
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Feiler</surname>
            ,
            <given-names>P.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lewis</surname>
            ,
            <given-names>B.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vestal</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The SAE architecture analysis &amp; design language (AADL): A standard for engineering performance critical systems</article-title>
          .
          <source>In: IEEE Intl Symp. on Intell. Control</source>
          . pp.
          <fpage>1206</fpage>
          -
          <lpage>1211</lpage>
          (
          <year>Oct 2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Garlan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Monroe</surname>
          </string-name>
          , R.T.,
          <string-name>
            <surname>Wile</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Acme: An architecture description interchange language</article-title>
          .
          <source>In: Proceedings of CASCON'97</source>
          . pp.
          <fpage>169</fpage>
          -
          <lpage>183</lpage>
          . Toronto, Ontario (November
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Hoare</surname>
            ,
            <given-names>C.A.R.</given-names>
          </string-name>
          :
          <article-title>Communicating sequential processes</article-title>
          .
          <source>Commun. ACM</source>
          <volume>21</volume>
          (
          <issue>8</issue>
          ),
          <fpage>666</fpage>
          -
          <lpage>677</lpage>
          (
          <year>1978</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Holzmann</surname>
            ,
            <given-names>G.J.:</given-names>
          </string-name>
          <article-title>The SPIN Model Checker - primer and reference manual</article-title>
          .
          <source>AddisonWesley</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Jackson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Alloy: a lightweight object modelling notation</article-title>
          .
          <source>ACM Trans. Softw. Eng. Methodol</source>
          .
          <volume>11</volume>
          (
          <issue>2</issue>
          ),
          <fpage>256</fpage>
          -
          <lpage>290</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kari</surname>
            <given-names>Smolander</given-names>
          </string-name>
          , Kimmo Hoikka,
          <string-name>
            <given-names>J.I.M.K.</given-names>
            ,
            <surname>Mkel</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          :
          <article-title>What is included in software architecture? a case study in three software organizations</article-title>
          .
          <source>In: Proceedings Ninth Annual IEEE International Conference and Workshop on the Engineering of Computer-Based Systems</source>
          . pp.
          <fpage>131</fpage>
          -
          <lpage>138</lpage>
          (
          <year>2002</year>
          ). https://doi.org/10.1109/ECBS.
          <year>2002</year>
          .999831
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Kruchten</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>The 4+1 view model of architecture</article-title>
          .
          <source>IEEE Software 12(6)</source>
          ,
          <fpage>42</fpage>
          -
          <lpage>50</lpage>
          (
          <year>1995</year>
          ). https://doi.org/10.1109/52.469759, http://dx.doi.org/10.1109/52. 469759
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Larsen</surname>
            ,
            <given-names>K.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pettersson</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yi</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>UPPAAL in a nutshell</article-title>
          .
          <source>STTT</source>
          <volume>1</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>134</fpage>
          -
          <lpage>152</lpage>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Lassing</surname>
            ,
            <given-names>N.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rijsenbrij</surname>
          </string-name>
          , D.B.B.,
          <string-name>
            <surname>van Vliet</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          : Viewpoints on modifiability.
          <source>International Journal of Software Engineering and Knowledge Engineering</source>
          <volume>11</volume>
          (
          <issue>4</issue>
          ),
          <fpage>453</fpage>
          -
          <lpage>478</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Luckham</surname>
            ,
            <given-names>D.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kenney</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Augustin</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verra</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bryan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mann</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <source>Specification and Analysis of System Architecture Using Rapide</source>
          <volume>21</volume>
          (
          <issue>4</issue>
          ),
          <fpage>336</fpage>
          -
          <lpage>355</lpage>
          (
          <year>Apr 1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Magee</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kramer</surname>
          </string-name>
          , J.:
          <article-title>Dynamic structure in software architectures</article-title>
          .
          <source>ACM SIGSOFT Software Engineering Notes</source>
          <volume>21</volume>
          (
          <issue>6</issue>
          ),
          <fpage>3</fpage>
          -
          <lpage>14</lpage>
          (nov
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Marca</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGowan</surname>
            ,
            <given-names>C.L.</given-names>
          </string-name>
          :
          <article-title>SADT: Structured Analysis and Design Technique</article-title>
          .
          <string-name>
            <surname>McGraw-Hill</surname>
          </string-name>
          , Inc., New York, NY, USA (
          <year>1987</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>May</surname>
          </string-name>
          , N.:
          <article-title>A survey of software architecture viewpoint models</article-title>
          .
          <source>In: Proceedings of the Sixth Australasian Workshop on Software and System Architectures</source>
          . pp.
          <fpage>13</fpage>
          -
          <lpage>24</lpage>
          (May
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>McDuffie</surname>
            ,
            <given-names>J.H.</given-names>
          </string-name>
          :
          <article-title>Using the architecture description language metah for designing and prototyping an embedded reconfigurable sliding mode flight controller</article-title>
          .
          <source>In: Proceedings of the 21st Digital Avionics Systems Conference</source>
          . vol.
          <volume>2</volume>
          , pp.
          <fpage>8B1</fpage>
          -
          <lpage>1</lpage>
          - 8B1-17 vol.
          <volume>2</volume>
          (
          <year>2002</year>
          ). https://doi.org/10.1109/DASC.
          <year>2002</year>
          .1052937
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Medvidovic</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , R.N.:
          <article-title>A classification and comparison framework for software architecture description languages</article-title>
          .
          <source>IEEE Trans. Software Eng</source>
          .
          <volume>26</volume>
          (
          <issue>1</issue>
          ),
          <fpage>70</fpage>
          -
          <lpage>93</lpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Mehta</surname>
            ,
            <given-names>N.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Medvidovic</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Phadke</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Towards a taxonomy of software connectors</article-title>
          .
          <source>In: Proceedings of the 22Nd International Conference on Software Engineering</source>
          . pp.
          <fpage>178</fpage>
          -
          <lpage>187</lpage>
          . ICSE '00,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Milner</surname>
          </string-name>
          , R.:
          <source>A Calculus of Communicating Systems</source>
          . Springer-Verlag New York, Inc., Secaucus, NJ, USA (
          <year>1982</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Milner</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parrow</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Walker</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>A calculus of mobile processes, i</article-title>
          .
          <source>Inf. Comput</source>
          .
          <volume>100</volume>
          (
          <issue>1</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>40</lpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Murata</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Petri nets: Properties, analysis and applications</article-title>
          .
          <source>Proceedings of the IEEE</source>
          <volume>77</volume>
          (
          <issue>4</issue>
          ),
          <fpage>541</fpage>
          -
          <lpage>580</lpage>
          (
          <year>Apr 1989</year>
          ). https://doi.org/10.1109/5.24143
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28. OMG:
          <article-title>Unified architecture framework profile (uafp)</article-title>
          .
          <source>Specification dtc/17-05-08</source>
          , OMG (nov
          <year>2012</year>
          ), http://www.omg.org/spec/UAF/1.0/Beta2/PDF
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Ozkaya</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>What is software architecture to practitioners: A survey</article-title>
          . In: Hammoudi,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Pires</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.F.</given-names>
            ,
            <surname>Selic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Desfray</surname>
          </string-name>
          , P. (eds.)
          <source>MODELSWARD 2016 - Proceedings of the 4rd International Conference on Model-Driven Engineering and Software Development</source>
          , Rome, Italy,
          <fpage>19</fpage>
          -
          <lpage>21</lpage>
          February,
          <year>2016</year>
          . pp.
          <fpage>677</fpage>
          -
          <lpage>686</lpage>
          . SciTePress (
          <year>2016</year>
          ). https://doi.org/10.5220/0005826006770686, http://dx.doi. org/10.5220/0005826006770686
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Ozkaya</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Architectural languages' connector support for modeling various component interactions: A review</article-title>
          . In: Fujita,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Herrera-Viedma</surname>
          </string-name>
          , E. (eds.) New Trends in
          <source>Intelligent Software Methodologies, Tools and Techniques - Proceedings of the 17th International Conference SoMeT_18</source>
          ,
          <string-name>
            <surname>Granada</surname>
          </string-name>
          , Spain,
          <fpage>26</fpage>
          -
          <issue>28</issue>
          <year>September 2018</year>
          .
          <source>Frontiers in Artificial Intelligence and Applications</source>
          , vol.
          <volume>303</volume>
          , pp.
          <fpage>474</fpage>
          -
          <lpage>489</lpage>
          . IOS Press (
          <year>2018</year>
          ). https://doi.org/10.3233/978-1-
          <fpage>61499</fpage>
          -900-3-474, https://doi.org/10.3233/978-1-
          <fpage>61499</fpage>
          -900-3-474
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Ozkaya</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Do the informal &amp; formal software modeling notations satisfy practitioners for software architecture modeling?</article-title>
          <source>Information &amp; Software Technology</source>
          <volume>95</volume>
          ,
          <fpage>15</fpage>
          -
          <lpage>33</lpage>
          (
          <year>2018</year>
          ). https://doi.org/10.1016/j.infsof.
          <year>2017</year>
          .
          <volume>10</volume>
          .008, https://doi.org/ 10.1016/j.infsof.
          <year>2017</year>
          .
          <volume>10</volume>
          .008
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Perry</surname>
            ,
            <given-names>D.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          :
          <article-title>Foundations for the study of software architecture</article-title>
          .
          <source>SIGSOFT Softw. Eng. Notes</source>
          <volume>17</volume>
          (
          <issue>4</issue>
          ),
          <fpage>40</fpage>
          -
          <lpage>52</lpage>
          (
          <year>Oct 1992</year>
          ). https://doi.org/10.1145/141874.141884, http://doi.acm.
          <source>org/10</source>
          .1145/141874. 141884
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Purhonen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Niemelä</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matinlassi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Viewpoints of dsp software and service architectures</article-title>
          .
          <source>J. Syst. Softw</source>
          .
          <volume>69</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>57</fpage>
          -
          <lpage>73</lpage>
          (
          <year>Jan 2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Rozanski</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woods</surname>
          </string-name>
          , E.:
          <article-title>Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives</article-title>
          .
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          ,
          <volume>2</volume>
          <fpage>edn</fpage>
          . (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Rumbaugh</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jacobson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Booch</surname>
          </string-name>
          , G.:
          <article-title>Unified Modeling Language Reference Manual, The (2Nd Edition)</article-title>
          .
          <source>Pearson Higher Education</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <surname>Spivey</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          :
          <string-name>
            <given-names>Z</given-names>
            <surname>Notation -</surname>
          </string-name>
          <article-title>a reference manual (2</article-title>
          . ed.). Prentice Hall International Series in Computer Science, Prentice Hall (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          37.
          <string-name>
            <surname>Tang</surname>
            , A., Han,
            <given-names>J</given-names>
          </string-name>
          .,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A comparative analysis of architecture frameworks</article-title>
          .
          <source>In: 11th Asia-Pacific Software Engineering Conference (APSEC</source>
          <year>2004</year>
          ), 30 November - 3
          <source>December</source>
          <year>2004</year>
          , Busan, Korea. pp.
          <fpage>640</fpage>
          -
          <lpage>647</lpage>
          . IEEE Computer Society (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          38.
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , R.N.,
          <string-name>
            <surname>Medvidovic</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dashofy</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Software Architecture - Foundations</surname>
          </string-name>
          , Theory, and Practice. Wiley (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          39.
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <source>Business Process Management: Concepts</source>
          , Languages, Architectures. Springer-Verlag New York, Inc., Secaucus, NJ, USA (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>