Sunteți pe pagina 1din 7

2016 5th International Workshop on Theory-Oriented Software Engineering

The Role of Semiotic Engineering in Software Engineering

Vahdat Abdelzad Timothy C. Lethbridge Mahmood Hosseini


School of Electrical School of Electrical Faculty of Science and
Engineering and Computer Engineering and Computer Technology, Bournemouth
Science, University of Ottawa Science, University of Ottawa University
Ottawa, Ontario, Canada Ottawa, Ontario, Canada Poole, United Kingdom
v.abdelzad@uottawa.ca tcl@eecs.uottawa.ca tcl@eecs.uottawa.ca

ABSTRACT stakeholders involved in software engineering has received


Semiotic engineering is based upon the semiotic theory of little attention. An example of this is restrictions on expres-
Human-Computer Interaction (HCI), which focuses on com- siveness imposed by notations in requirements engineering
munication between designers and users. Semiotic engi- [6].
neering tries to improve users’ interpretation through meta- In current software engineering approaches, it is possi-
communication and emphasizes that designers should play ble to find patterns and guidelines that aim at facilitating
the role of legitimate interlocutors in interactive systems. communication, but it is rare to find a concrete theory sup-
On the other hand, there is a gap in software engineering on porting them. Communication in software engineering is
how to obtain systems specifications efficiently, how to cre- primarily undertaken through artifacts, where each artifact
ate easy-to-understand and communicative models, and how might be produced by one or several stakeholders and can
to produce comprehensive modeling languages and develop- be used by many other stakeholders. Improper or immature
ment processes. In this paper, we explore several contri- communication may result in severe consequences, such as
butions of semiotic engineering to software engineering and extra cognitive work for developers, misunderstanding of re-
discuss how the theory can facilitate the creation of com- quirements, and failed software systems.
prehensive artifacts. We also discuss semiotic engineering In the domain of human computer interaction (HCI), var-
for assessing and improving software modeling languages, in ious theories, e.g., distributed cognition [18] and activity
our case UML. We anticipate that our work would lead to theory [19], have been developed to address communication.
the semiotic theory becoming recognized as a central theory However, one theory, named semiotic engineering [13], has a
driving software engineering research and practice. distinctive perspective. This theory concentrates on commu-
nication as its base concept. Indeed, semiotic engineering is
a theory of HCI which focuses on how well producers of soft-
CCS Concepts ware artifacts communicate their intent to their consumers
∙Software and its engineering → Software creation through user interface signs and patterns of interaction [13].
and management; Software system models; ∙Human-centeredIn other words, semiotic engineering consists of a powerful
computing → HCI theory, concepts and models; infrastructure for the purpose of studying communication
and it provides concepts to assess and improve communi-
Keywords cation between producers and consumers. Therefore, this
theory focuses on communication as an issue often forgotten
Semiotic engineering; communication; software engineering; by scientists in both HCI and software engineering. Semiotic
modeling; artifact; UML engineering is, consequently, an eligible candidate theory to
be applied to software engineering in order to manage the
1. INTRODUCTION communication challenge.
In software engineering, scientists concentrate on such is- The goal of this paper is to draw attention to the con-
sues as development approaches, modeling tools, and test- cept of communication in software engineering in a scientific
ing methods so as to produce high quality software systems way through the theory of semiotic engineering. Bringing
[24]. In order to achieve this goal, researchers and indus- either a theory or a solution based on a theory into a field
trial companies have been using various approaches, such as like software engineering is not an easy task. Hence, we be-
Model-Driven Software Development (MDSD) [8]. Unfor- lieve there needs to be considerable thought and research
tunately, the nature of communication among the multiple before such a theory can become influential and successful.
However, there is a need to start somewhere, and explore
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
which theories have the potential to be used in the field.
for profit or commercial advantage and that copies bear this notice and the full citation This paper hence provides some preliminary thoughts about
on the first page. Copyrights for components of this work owned by others than the the role of semiotic engineering in software engineering and
author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or why it has the potential. It also discusses the application of
republish, to post on servers or to redistribute to lists, requires prior specific permission
and/or a fee. Request permissions from permissions@acm.org. semiotic engineering in software modeling languages, such as
TOSE’16, May 16 2016, Austin, TX, USA UML, as an example to express how the theory can provide
⃝c 2016 Copyright held by the owner/author(s). Publication rights licensed to ACM. challenging questions and trigger research to seek proper an-
ISBN 978-1-4503-4174-5/16/05. . . $15.00 swers.
DOI: http://dx.doi.org/10.1145/2897134.2897136

15
The rest of the paper is structured as follows. Section to evaluate the quality of metacommunication [14]. These
2 covers key background necessary to understand semiotic two methods have the capability to be used in the direction
engineering. In Section 3, we focus on several relevant re- of how to detect problems, how to improve the metacommu-
search projects in order to investigate communication using nication, and how to generate new knowledge. The methods
semiotic engineering theory in software engineering, and we emphasize communication and signification processes rather
discuss their explicit and implicit contributions and draw- than cognitive processes, which are mostly used in HCI eval-
backs. In Section 4, we explore applications of semiotic uation methods.
engineering as a method to evaluate communication. We
discuss how one application of semiotic engineering can be 3. RELATED RESEARCH
used to find usability challenges related to the Unified Mod-
In this section, we present a summary of related research
eling Language (UML) [4]. This, in turn, exposes why UML
and discuss the contributions and drawbacks of these ap-
may have some communication issues in terms of education,
proaches. Our objective is to explain how semiotic engi-
acceptability among developers, and lack of communication
neering could have a positive contribution to software engi-
between UML designers and UML developers (software de-
neering in different dimensions. This section is not an ex-
signers) as their users. Finally, we present our conclusion
haustive study about the application and effects of semiotic
and future work in Section 5.
engineering on software engineering. We have focused on re-
search that covers a wide spectrum of phases and activities
2. SEMIOTIC ENGINEERING in software engineering and also can effectively express the
Semiotics is about studying signs and sign processes as combination between the two fields.
part of communication [1]. It covers semantic, syntactic, and
pragmatic dimensions of signs. In the semantic and syntac- 3.1 Communication in Computer-Supported
tic dimensions, semiotics explores the meaning and formal Modeling
structure of signs respectively. Finally, it studies the rela- Computer-supported modeling (CSMod) tools help us to
tion between signs and sign-using agents in the pragmatic define system behavior and desired system properties. There
dimension. is a need for different kinds of communication with these
Semiotic engineering was initially proposed as a semiotic tools in order to achieve software development goals. In this
approach to design user interface languages [13]. However, subsection, we explore how semiotic engineering could help
it has been evolved over years into a semiotic theory of researchers to evaluate a CSMod tool and offer some ideas
HCI. The theory concentrates on two fundamental concepts about how to improve the communication.
named metacommunication and meaning. Metacommunica- Ferreira et al. [16] have combined and applied Semiotic In-
tion is all about ”communication about the communication”. spection Modeling (SIM) [14], Cognitive Dimensions of No-
In other words, it is the main process held in the designer-to- tations (CDN) Framework [9], and Discourse Analysis (DA)
user communication and system-user communication. This [17] to ARIS Express (AE) [2], in modeling tasks with Busi-
point of view considers designers and users as ”legitimate ness Process Modeling Notation (BPMN) [3], in order to
interlocutors” at interaction time. In the theory, top level analyze the tool from an HCI perspective and understand
communication is considered as a one-shot comprehensive how communication is performed in software modeling. In-
message paraphrased as [12]: deed, they have focused on two dimensions:
”Here is my understanding of who you are, what I’ve learned
you want or need to do, in which preferred ways, and why. 1. how modeling notations respond to the expressive needs
This is the system that I have therefore designed for you, and of model builders, and
this is the way you can or should use it in order to fulfill a 2. how the context of communication is made available
range of purposes that fall within this vision” to the model builders.
The subject ”I” in the above paragraph specifies the de-
signer of the system (or artifact) and the subject ”you” is the The results suggest that CSMod design tools can be evolved
user of the artifact. The type and content of the message as in relatively unexplored directions, helping users (i.e., mod-
sent by the designer is completely related to the context of elers) to gain greater awareness of the communication-through-
design. For example, there can be a guide regarding how to models process. The results also show that although there
perform the interaction with the artifact in an HCI context is a large amount of documentation available for AE (in the
or description of elements inside the artifact in a software form of tutorials, videos, manuals, etc.), when it comes to
development context. operation, the documentation is not as helpful as one would
Meaning is considered to be a culturally-determined, con- expect. AE delivers constraints of business modeling to users
stantly evolving process. As a result, there is no fixed target while it could have provided task-related help for them.
to be met, captured, and encoded. This arises from the fact The following are some specific areas the paper highlights
that human meanings change in both predictable and un- where investigation about communication through models
predictable ways, just as human life evolves. It emphasizes could help to improve the tool. The evidence for these rec-
that it is impossible to fully understand the users’ meaning, ommendations was generated by empirical observation and
but it is possible to capture the relevant parts and encode discourse analysis.
them in systems so as to enable communication with users. First, Ferreira et al. [16] determined that defining the pur-
Indeed, because of this nature there is a need for metacom- pose of models (the builder’s intent) and the targeted con-
munication. sumers are two important challenges. Second, the evidence
Semiotic engineering is supported by two qualitative eval- reveals that there should be a protocol between modelers
uation methods named the semiotic inspection method (SIM) and users in order to define which elements should be used
and the communicability evaluation method (CEM) in order or not, when and why. Lack of this protocol may raise a

16
cognitive issue called diffuseness, which is the complexity modeling language. Answers to this question would reveal
or verbosity of the notation in expressing meanings. Dif- the impact rate of the issues on human behaviors in accept-
fuseness has a negative impact on the completion of tasks. ing a modeling language or tool. This is important because
Third, there is a lack of closeness in the mapping of the rep- although human expectation in tools can only be satisfied,
resentation to the domain; this is exemplified by icons that one can still identify problematic features and try to avoid
do not have clear meanings, forcing users to search for extra them altogether.
material in order to understand them. Finally, there is the
issue of secondary notation, which is the ability to use no- 3.2 Communication in Software Artifacts
tations beyond the formal syntax for expressing information
In the process of software development, lots of artifacts
or meaning. Neither AE nor BPMN provides such a nota-
are produced and used by stakeholders. These artifacts ne-
tion. However, the availability of secondary notation has a
cessitate communication between producers and consumers,
positive effect on the completion of tasks.
which needs to be studied. While it is possible to find guide-
Another cognitive dimension in AE which has a positive
lines for this purpose [20], these guidelines cannot ensure the
impact on the achievement of the task is visibility, which is
suitability and helpfulness of communication. In this sub-
the ability to view all components simultaneously, or two or
section, we look at a research project that explores commu-
more related components side by side at the same time. This
nication between Application Programming Interface (API)
CDN is achieved when AE allows users to choose different
designers and programmers.
but related elements while they try to use one of them. It
In the research done by Afonso et al. [5], API is considered
was also noticed that AE interface design supports model
as an artifact mediating and easing the communication pro-
builders better than model readers.
cess between designers and programmers. Communication
In the domain of communication through models, Ferreira
between APIs and programmers is evaluated based upon
et al. [16] expressed that there are mismatches between the
a combined semiotic and cognitive method. Furthermore,
user profile that AE supposedly targets (occasional users
some tools and techniques are identified which help design-
and beginners) and the one that emerges from an analysis
ers to accomplish the communication task.
of emission and reception of its designers’ message. It was
Programmers need to realize the concepts and the de-
also shown that designers apparently believe that it suffices
sign behind the interfaces available in order to use them
to support the expression of communication and the inter-
effectively. This imposes a considerable amount of cogni-
pretation will take care of itself. This is one of the important
tive load on programmers, depending on the abstractions
challenges in communication. The research concludes that if
involved and the design of the artifacts provided. From a
one wishes to discover the power of communication through
human-centric perspective, we may consider that a commu-
models, a combination of semiotic, cognitive, and discourse
nication process takes place among programmers, mediated
analysis methods should be investigated. Together, not only
by the software artifacts involved. If this communication is
can they tell us about how the CSMod design message is
not satisfactory, defects related to the incorrect use of APIs
composed and how it affects the users as they build, edit
or to the misinterpretation of its design will arise in final sys-
or read models, but also they inform us about the cognitive
tems. Therefore, designers need to provide necessary com-
challenge associated with the supported notations.
munication information through artifacts to decrease these
In our point of view, the significant part of the research
kinds of defects.
is to construct a protocol for communication among models.
The most common form of API specification is the combi-
This protocol could include social protocols as a good strat-
nation of its syntactic (e.g., signatures) and semantic (e.g.,
egy to overcome representation limitations. This is really
behavior) elements written in a formal and natural language
important because novices use the social protocol for learn-
respectively. This form limits the designers’ options to be
ing the meaning of new notations and intermediate ones use
”present” at the interaction time to provide more dynamic
it when they are challenged by several notations with dif-
information to programmers. According to this limitation,
ferent meanings. Consequently, in order to discover more
environments which provide runtime monitoring and behav-
issues about AE and BPMN, different levels of users (e.g.,
ioral specification are considered to be useful because de-
beginners, intermediates, and experts) could be considered
signers will have more opportunity to communicate with
and then explored separately, and various issues could be
programmers. Contracts [21] are a good example for this
classified for different user levels. Furthermore, general is-
purpose.
sues that could happen to all users could be identified.
Furthermore, from a cognitive perspective, these environ-
In the research, it would be possible to consider the the-
ments or tools have an impact on the programmers’ work-
ory of ecology [25] in order to know whether the level of
load, since they provide a more precise description of the
abstraction for AE and BPMN is proper or not. By consid-
API behavior than the textual documentation, helping pro-
ering the level of abstraction, it would be clear which parts
grammers to understand the causes of possible errors by
of the modeling need social protocols and which ones need
giving them immediate feedback related to API misuses.
technological protocols. In addition, it would reveal which
Another point which can be achieved by behavioral spec-
issues are related to which levels. A mapping could also be
ification languages is a higher expressiveness to describe a
created between user levels and abstraction levels in order
software artifact, allowing the use of tools, such as model
to have more concrete and more practical findings.
checkers [7], to validate the specification.
Finally, the result of the research could be concretized
It is furthermore determined by Afonso et al. [5] that the
by getting more feedback from users, e.g., by asking ques-
greatest focus of API specification is in syntactic and behav-
tions such as how they would like to tackle issues in each
ioral dimensions, and there is not enough attention paid to
case. One good question which ought to be asked of users is
synchronization and quality of service. Communication in
whether they would like to model using a particular tool or
terms of synchronization is a valuable resource in express-

17
ing the designer’s intents, as they offer a formal definition of Modeling Language for Interaction as Conversation (MoLIC)
the allowed sequence of operations. The quality-of-service has been discussed in [10, 11, 22]. MoLIC is a modeling lan-
dimension opens the possibility of specifying non-functional guage for HCI based upon semiotic engineering, and is an
aspects of a software artifact that are more related to the extension to UML diagrams with the purpose of removing
execution environment or the precision of the results of the some existing ambiguities in models of software systems de-
computation being carried out. This dimension offers de- veloped using UML. The ambiguities arise because UML
signers an opportunity to specify the limitations or require- does not have an acceptable coverage of user interaction
ments of an API in terms of its execution environment. modeling.
From a semiotic engineering perspective, the main signs It is pointed out that user interaction diagrams should be
used by API designers in order to send their message to users considered as a blueprint of the system. Such a blueprint
are method signatures, return values for methods and other could be used as a reference point for global design deci-
related operations, such as insertion and removal from collec- sions, and would be an additional resource for deriving both
tions (dynamic signs), and the textual description. However, HCI and software engineering models. The blueprint can be
there can be some extensions in order to make this communi- enhanced by MoLIC because it adopts the HCI theory and
cation more effective, e.g., better code examples, methods to provides us with an ontology for describing and evaluating
test consistency, and formal specifications. From a cognitive relevant HCI phenomena, always keeping the focus on the
perspective, it might be possible to provide interesting in- quality of use of the proposed solution.
sights regarding this particular design, e.g., a hidden depen- According to the proposal [10], modeling should be done
dency between classes in the API, viscosity, and premature after use case elicitation and specification. Then, class di-
commitments, as these are not obvious at first, especially to agrams can be created or improved by detailed interactive
novices. information obtained from a MoLIC model. The advantages
Many defects of software development, recognized by semi- of using MoLIC in this part of the process is that no system
otic engineering, are shown by Afonso et al. [5] that are decomposition needs to be made or revised before this step,
due to poor communication among developers (designers and thus the cost of changes remains low. Furthermore, de-
and programmers). However, we believe that the most im- signers will be motivated to find and correct problems in
portant result of the research, not clear at first glance, is these information sources, such as inconsistencies and in-
their categorization of several communication problems in completeness.
software development, each of which can be resolved by dif- The paper reveals how theories in HCI can help software
ferent theories of HCI. Furthermore, the research attempts developers to build comprehensive models for software sys-
to show that semiotic engineering can be considered as a tems. On the other hand, it shows how it is possible to
powerful theory in the domain of interaction, which might combine HCI and software modeling with each other. The
be between two humans or between a computer and a hu- research implicitly shows that the lack of good interaction
man. It may be understood that all artifacts in software modeling diagrams can damage communication among de-
development can be considered as mediation between their velopers of software systems. This is possible because soft-
creators and users. Therefore, there should be comprehen- ware developers need to be able to explore such models to
sive metacommunication strategies to be used by designers understand the whole system.
so as to provide all stakeholders with needed information in In our point of view, enhancements could be made if the
artifacts. authors had created a mapping from MoLIC to the UML
The research conducted by Afonso et al. [5] is a start extensions mechanism, because MoLIC has a good theory
for future research and it does not give more detailed in- background, but its technical structure is not strong enough
formation about how to create these kinds of metacommu- to be chosen as a good combination for UML. The profile ex-
nication. Another thing worth mentioning is that semiotic tension of UML could be used to cover MoLIC concepts. In
engineering might not have a concrete solution for problems that case, it may increase usability and also easy acceptance
that it discovers. However, it has the potential to be ex- of the concept in software engineering.
tended into the domain of problem solving. For example,
researchers working in the domain of software documenta- 3.4 Communication in Testing
tion and maintenance may use rich conceptual definitions
Testing usability is a key task in both HCI and software
of metacommunication so that they change the structure
engineering. Engineers utilize various techniques and crite-
of the current format in the documentation. Moreover, this
ria in this process. Comprehensive testing includes check-
potential may also be used for changing the nature of graph-
ing all requirements from HCI and software engineering per-
ical and textual modeling languages used for communication
spectives. The research done by Schilling [26] looks at this
among stakeholders.
challenge (how to test systems from both perspectives) by
proposing a software development method inspired by semi-
3.3 Communication in Better Description otic engineering.
HCI developers are responsible for creating suitable user An Interactive System (IS) development method is pro-
interfaces, and software engineers develop software systems posed by Schilling [26] for performing usability tests in ear-
to cover the required functionality and all other necessary lier stages of software development, based upon the integra-
requirements. Both groups start their work from the stated tion of concepts from models used in usability, semiotics,
requirements but with different purposes. This can pose and software engineering. Three major engineering phases
a big communication challenge between these two groups are considered for this purpose. The first one, using meth-
when system-user interaction is poorly understood. Below, ods from usability engineering, supports gathering informa-
we discuss a research project that focuses on how a tool tion and verifying and validating user interfaces. In this
based upon semiotic engineering can bridge the gap. phase, several user interface alternatives from user interface

18
requirements models should be derived. These models ex- cases.
press the need, preference, and constraints of both users and Unfortunately, it is hard to find a theory in software en-
clients, and are obtained from qualitative and quantitative gineering to aim at communication. This stimulates the
research. Based on the obtained results, all user interfaces question in our minds regarding how we can expect good
will be then evaluated. The second phase follows standard communication among software artifacts while we do not
software engineering testing approaches, testing IS after the know whether or not there are enough data, symbols, and
execution of the implementation and integration activities. structures in artifacts to facilitate such communication.
The last phase is semiotic engineering, which tests IS us- Software artifacts are created in the process of software
ability with real users in the real context of use. This phase development and their producers are goal-oriented. This
allows developers to test the interactivity and communica- means that they primarily attempt to satisfy software de-
bility between the user and system to investigate how the velopment requirements and pay little attention to items
user interface affects users’ activities and how they achieve such as:
their goals through the user interface.
Integration of models belonging to three engineering do- ∙ how artifacts will be used in the future;
mains brings advantages that can be viewed from two per- ∙ how easy artifacts are to interpret;
spectives. From the users’ point of view, it can result in de-
creased learning time and increased user satisfaction. From ∙ how artifacts will reveal their designers’ hidden pre-
the developers’ point of view, it can be used to improve sumptions;
communication among developers to help them perform us-
ability test tasks in an efficient manner by using the same ∙ how much cognitive work artifacts will put on the users
vocabulary and artifacts.
Therefore, it is necessary to adopt a theory that covers
Schilling’s research [26] shows the usability of semiotic
these questions by providing a method for evaluation and im-
engineering in the software development process. By con-
provement. We can propose that there should be a method
sidering semiotic engineering explicitly as a final phase in
to evaluate software artifacts. This method will finally be
usability testing, it is revealed that the theory can provide
extended to a concrete framework that allows developers
acceptable feedback on usability problems. On the other
to do tradeoff analysis. The core of the method should be
hand, the nature of the proposed process can yield a good
prepared and covered by semiotic engineering theory. For
sign of the application of semiotic engineering in the im-
example, there is a method in [16] used to evaluate CSMod
provement of software development processes.
tools and it is a combination of semiotic engineering and
Furthermore, the lack of good metacommunication among
CDN. In the method, it is necessary to consider software
different models leads to more time spent on developing
engineering criteria to evaluate the effectiveness of artifacts
a software system. The combination of various models in
for having rich communication. Since cognition is a char-
Schilling’s research [26] is a kind of communication that pro-
acteristic of artifacts, the positive and negative effects of
vides automatic test generation. According to this simple
cognitive notations in software artifacts should also be in-
proposal, we should extend the concept of communication
volved. This should get more attention because measuring
in different ways to get maximum benefits from different
those effects may depend more on the context.
models created during the software development and user
It can be seen how following the concept of communi-
interface design.
cation and semiotic engineering provides us with questions
Schilling et al. [26] claimed good automatic test gener-
and partial answers to get the final answer which can be a
ation, but it cannot be observed in the data available in
framework in this case.
the paper. Moreover, the description for phases is rather
abstract, causing the reader not to understand the exact 4.2 UML and Semiotic Engineering
advantages and disadvantages of the proposed process.
In order to figure out the potential relationship between
UML and semiotic engineering, we focus on some questions
4. OUR PERSPECTIVE that may be answered by it. Most of the questions are chal-
In this section, we discuss how semiotic engineering may lenging and need to be explored to a considerable extent,
be used to evaluate and improve communication between so as to find more concrete answers. However, the questions
producers and consumers in software engineering. We focus show that UML needs to be rechecked based upon HCI theo-
on some challenge in UML which might be either discovered ries, especially semiotic engineering. This rechecking should
or improved by having a semiotic engineering perspective. be done more in the direction of usability challenge.
Indeed, the goal is to express how semiotic engineering can In our discussion, UML is considered in two dimensions.
approach the challenges existing in software engineering. The first dimension is about UML models as software ar-
tifacts whose producers are software designers, and whose
4.1 Role of Semiotic Engineering consumers are software stakeholders. This dimension is sup-
The focus of semiotic engineering is on communication, ported to some extent by methodologies, but it is hard to
especially computer-mediated designer-user communication. find a concrete theory that clearly specifies the nature of
It points out that rich communication should be provided these artifacts. The second dimension is about communica-
by one-shot messages which designers give to their users tion between model developers and UML itself. Indeed, in
through the media they produce. This concept is power- the second dimension, producers are UML designers (e.g.,
ful because several things around us have at least a designer researchers who work on extending UML meta-model) and
(producer) and a user (consumer), so the theory can be ap- consumers are software engineers who use UML for software
plied to several other cases as well. Therefore, software ar- development. There is a gap in this dimension because com-
tifacts such as models can also be viewed as one of these munication between designers of UML and its users has not

19
been defined very well; at least we do not see such commu- der to make the theory available for software engineering in
nication. general.
UML is designed and developed mainly by the Object
Management Group (OMG). It is used in different areas and
most of its users are developers. Developers need to com-
5. CONCLUSION AND FUTURE WORK
municate with UML tools so that they can model the target In this paper, we explored research contributions of semi-
system. If there is communication between developers and otic engineering to software engineering in general and to
tools, there should be a method or theory to support it in modeling in particular. We pointed out why the combina-
an appropriate way. tion of semiotic engineering with different concepts of soft-
In the context of model communication, consumers are not ware engineering should be considered. We explored some
typical information technology (IT) users; they are software the implicit and explicit contributions and drawbacks of the
developers. Typically, we talk about UML tools for provid- approach. Our key point is that semiotic engineering theory
ing better communication among developers using UML, but can be beneficial in software engineering because it focuses
it might be possible to have some other factors, which play on communication, which is also central to the whole process
hidden roles (e.g., the nature of models or diagrams). Cur- in software engineering.
rently, there is a tendency in software research communities Furthermore, this paper proposed initial ideas about the
that UML has the necessary expressiveness for communica- use of semiotic engineering theory along with other theories
tion, but in practice UML is not being used in their projects as a method to evaluate and improve software artifacts as
[23] or the levels of regular usage of UML components are computer-mediated communication between producers and
not as expected [15]. We think that one of the reasons for consumers. The paper discussed certain challenges of UML
this issue can be due to communication issues. This can be that can be explained with and explored by semiotic engi-
clarified by the fact that it has been verified based on experi- neering. Although there is no concrete framework or theory
ences, psychology, science, and engineering that modeling is proposed so far for this purpose, it shows how the semi-
beneficial, so MDSD is the right approach. Furthermore, de- otics perspective on the challenge of software engineering
velopers believe in modeling but do not use UML. It should can open new thoughts and solutions.
be pointed out that modeling can be textual and graphical, A good direction for future work would be to obtain a
so the issue may not be just about notations and graphical more concrete interpretation about the use of semiotic en-
elements used for UML. gineering theory in software engineering. This can be done
We believe that UML evaluation should be separated from by exhaustive study of research interaction between semi-
its tools and this can be achieved by using semiotic engineer- otic engineering and software engineering. Another direc-
ing. There are lots of tools that support UML, so the selec- tion would be to create a concrete method for evaluating and
tion of tools for the study can affect the final results. The improving software artifacts based on semiotic engineering,
evaluation should be based upon concrete syntax, structure, cognitive dimensions, and software engineering theories.
and cognitive effects. If UML is evaluated based on tools,
core communication challenge in the nature of UML cannot 6. REFERENCES
be found.
Another interesting subject that has been explored in HCI [1] The science of communication studied through the
is whether reducing cognitive load has a positive effect on interpretation of signs and symbols as they operate in
usability and learning. The designers of UML, we believe various fields, esp. language. In Oxford English
did not pay much attention to cognition, focusing instead Dictionary. 2003.
on having strong structure and coverage. However, they [2] ARIS Express Free Modeling Software.
should consider that UML models are created by users and http://www.ariscommunity.com/aris-express, 2016.
are interpreted by computers and humans. Therefore, the [3] Business Process Model and Notation (BPMN).
cognitive dimension of UML should be studied and modified http://www.omg.org/spec/BPMN/, 2016.
to enable better usability. The following are examples of [4] Unified Modeling Language (UML)- Object
topics that could easily be studied by semiotic engineering: Management Group.
http://www.omg.org/spec/UML/, 2016.
∙ What is the extent to which specific details should ap- [5] L. Afonso, R. Cerqueira, and C. de Souza. Evaluating
pear in class diagrams such as empty boxes when there application programming interfaces as communication
are no attributes or methods to display, or mandatory artefacts. In Psychology of Programming Interest
type and visibility information? Group Annual Conference, pages 151–162, 2012.
[6] A. Al-Rawas and S. Easterbrook. Communication
∙ To what extent can specific diagrams, like state ma-
Problems in Requirements Engineering: A Field
chines and class diagrams, be used together?
Study. In Proceedings of the First Westminster
Conference on Professional Awareness in Software
∙ What is the cognitive load of various notations?
Engineering, Royal Society, London, 1996.
In general, the theory can help UML designers to play [7] C. Baier and J.-P. Katoen. Principles Of Model
their role as legitimate interlocutors. Checking. MIT Press, 2008.
As seen, following the theory challenges UML and some- [8] S. Beydeda, M. Book, and V. Gruhn. Model-Driven
how provides guidelines which can be investigated and ap- Software Development. Heidelberg: Springer, 2005.
plied to UML. This exposes the fact the semiotic theory has [9] A. Blackwell and T. Green. Notational systems-the
the potential to be applied to software modeling languages, cognitive dimensions of notations framework. In HCI
but there is still a need for more studies to be done in or- Models, Theories, and Frameworks: Toward a

20
Multidisciplinary Science, pages 103– 134, San [19] K. Kuutti. Activity theory as a potential framework
Francisco, 2003. for human-computer interaction research. Context and
[10] M. de Paula and S. Barbosa. Investigating the role of Consciousness: Activity theory and human-computer
a model-based boundary object in facilitating the interaction, Cambridge: MIT Press, pages 14–44,
communication between interaction designers and 1995.
software engineers. In 6th international conference on [20] I. R. McChesney and S. Gallagher. Communication
Task models and diagrams for user interface design, and co-ordination practices in software engineering
pages 273–278, 2007. projects. Information and Software Technology,
[11] M. G. de Paula, S. D. J. Barbosa, and C. J. P. 46(7):473–489, jun 2004.
de Lucena. Conveying human-computer interaction [21] B. Meyer. Applying ”design by contract”. Computer,
concerns to software engineers through an interaction 25(10):40–51, 1992.
model. In Latin American conference on [22] M. G. D. Paula, S. D. J. Barbosa, C. J. P. D. Lucena,
Human-computer interaction, pages 109–119, New D. D. Informática, and R. M. D. S. Vicente. Relating
York, New York, USA, 2005. ACM Press. Human-Computer Interaction and Software
[12] C. de Souza. Semiotic Engineering - A New Paradigm Engineering Concerns : Towards Extending UML
for Designing Interactive Systems. The Past and Through an Interaction Modeling Language. In
Future of Information Systems: 1976-2006 and Closing the Gaps: Software Engineering and
Beyond SE - 21, 214:231–242, 2006. Human-Computer Interaction, pages 40–46, 2003.
[13] C. S. de Souza. The semiotic engineering of [23] M. Petre. UML in practice. In Proceedings -
human-computer interaction. The MIT Press, International Conference on Software Engineering,
Cambridge, Massachusetts, London, England, 2005. pages 722–731, Piscataway, NJ, USA, may 2013. IEEE
[14] C. S. de Souza and C. F. Leitão. Semiotic Engineering Press.
Methods for Scientific Research in HCI. Princeton: [24] R. E. D. F. Pierre Bourque. Guide to the Software
NJ. Morgan & Claypool, jan 2009. Engineering Body of Knowledge Version 3.0
[15] B. Dobing and J. Parsons. How UML is used. (SWEBOK Guide V3.0). IEEE Computer Society,
Communications of the ACM, 49(5):109–113, 2006. 2014.
[16] J. J. Ferreira and C. S. D. Souza. Communicating [25] Samuel M. Scheiner and Michael R. Willig. The
ideas in computer-supported modeling tasks : A case Theory of Ecology. University of Chicago Press, 2011.
study with BPMN. In HCI International 2013 - [26] A. Schilling, K. Madeira, P. Donegan, K. Sousa,
Human-Computer Interaction, pages 320–329, 2013. E. Furtado, and V. Furtado. An integrated method for
[17] J. P. Gee. An Introduction to Discourse Analysis: designing user interfaces based on tests. In Proceedings
Theory and Method. London: Routledge, 2005. of the 1st International Workshop on Advances in
[18] E. Hutchins. Cognition in the Wild. Cambridge, Model-based Testing, A-MOST ’05, pages 1–5, New
MA:MIT Press, 1995. York, NY, USA, 2005. ACM.

21

S-ar putea să vă placă și