interface. In turn, the state is defined as the current
situation of the Social Machine. Constraints are
defined as rules to be considered when establishing
relationships between different Social Machines.
Finally, Meira et al. (2011) states that every Social
Machine must receive input data, perform processing,
and generate data for output.
According to Burégio et al. (2013), the
relationship, in general, can be defined as "the way
things are connected" and, in this sense, is often used
as an interchangeable term like "connection,"
"association," "link," "relationship." The same still
affirms that the relationship is an essential element in
the model of the Social Machine. For him, a Social
Machine can connect with other Social Machines
following any well-defined protocol. The concept of
relations between SMs is similar to that of
relationships between people. We can view them as
reliable relationships between different SMs,
satisfying the established constraints. In this way, it
was defined: "a relationship is a particular type of
connection that restricts the way two or more Social
Machines are associated or interact with one another
(Burégio et al., 2013)."
Therefore, we identified the need for the term
Relationship-aware, whose idea was to identify the
need for its understanding to connect better the
relationship with the model and, consequently, to
better satisfy the ownership of sociable software
(Burégio et al., 2013).
Initially, the Theory of Relationship Awareness,
by Porter (1976), analyzes how relationships are
established and maintained so that one has a positive
sense of self and of our value as a person; reinforces
people's ability to choose behaviors that meet their
underlying values while respecting the values of
others. In this regard, it is a valuable tool to build
trust, empathy, and productive and effective
relationships through better communication.
Understanding the term Relationship-aware is a
process that depends on the ability of participants in
their activities to self-control and organizes with one
another. It is fundamental how participants establish
these perceptions within a context of social
interaction. However, relationship-aware is not just a
"feedback process." It consists of two greatnesses:
recognition and receptivity. The first refers to how
project structures anticipate the fact that participants
need to establish or maintain their "social positions,"
and how that position is recognized and made
available as a kind of resource to other participants.
The second refers to the quality and speed of reaction
to the participant's activity regarding other people and
technologies (Burégio et al., 2013).
In this context of relationship-aware, systems that
are aware of their relationship to other systems, have
restrictive aspects that are considered. In Meira et al.
(2011) and Brito, Abadie, Muniz, Marques, Buregio,
Vinicius, and Meira (2012), the idea of the Social
Machine is as a unifying mental model to understand,
describe, and project each connected entity
concerning web points as a fundamental element of
that model. Turning software into web services means
that it can interact with a host of other (and sometimes
unknown) applications and services, and possibly
establish a myriad of "social" relationships with them.
In this sense, a system can be seen as a sociable entity,
whose interactions are determined by its "social"
relationships as people. Social Machines can interact
in various ways, depending on the types of
relationships that occur, in some cases, generating
new Social Machines, competing or cooperating
(Meira et al., 2011).
2.4 Types of Relationship
Knowing that a Social Machine, through the view of
Meira et al. (2011) and Burégio et al. (2013), are
systems that use relationships with constraints and, at
the same time, Burégio et al. (2013) addresses a new
type of relationship called Relationship-aware. The
latter is not yet shown in Figure 5, which Burégio et
al. (2013) exposes the different types of relationships,
and in this research, the different constraints in each
type of relationship will be signaled.
Figure 5: Different views of relationships. Source: Burégio
et al, 2013.
In the data-oriented view, the relationship is a
tuple of entities (entity-relationship model), and its
existing constraints are allowed values (cardinalities)
for specific attributes and the functional dependencies
of entities in a relationship (Chen, 1976).
In the object-oriented view, relationships
represent different dependency forces between object
classes. Object orientation and UML (Unified
Modeling Language) allow relationships to be much
more done with classes than just simple statements,
and you can apply constraints to class diagrams that
describe how objects in a class can be used by
restricting objects using the OCL language (Object
Constraint Language), simply a language for