14 research outputs found
Thinging for Software Engineers
The aim of this paper is to promote the terms thing and thinging (which
refers to the act of defining a boundary around some portion of reality and
labeling it with a name) as valued notions that play an important role in
software engineering modeling. Additionally, we attempt to furnish operational
definitions for terms thing, object, process, and thinging. The substantive
discussion is based on the conception of an (abstract) machine, named the
Thinging Machine (TM), used in several research works. The TM creates,
processes, receives, releases, and transfers things. Accordingly, a
diagrammatic representation of the TM is used to model reality. In the
discussion section, this paper clarifies interesting issues related to
conceptual modeling in software engineering. The substance of this paper and
its conclusion suggest that thinging should be more meaningfully emphasized as
a valuable research and teaching topic, at least in the requirement analysis
phase of the software development cycle.Comment: 9 pages, 20 Figure
Existential Ontology and Thinging Modeling in Software Engineering
This study is a sequel to a previous study entitled Thinging for Software
Engineers, which showed that the notion of thing, in contrast to
objectification, has some beneficial orientations in modeling. The
incorporation of thinging in conceptual modeling is required to explain the
roots of Heidegger s conception of things. This requires an understanding of
Heidegger s existential ontology to identify any relationship to thinging. This
paper is an exploration of existential ontology in search of further
clarification of the concept of thinging. We start by reviewing the thinging
machine (TM) introduced in Thinging for Software Engineers and provide a full
example of its utilization in modeling an ordering system. We follow this with
a discussion of the being (existence) of things in the word and Heidegger s
interpretation of time as a possible horizon for any understanding whatsoever
of being. We emphasize that the TM is not related directly to the Heideggerian
notion of existence and its elaborate analysis of Dasein. However, there may be
some benefit to studying non-Dasein things to provide a philosophical
foundation to thinging, as utilized in TM modeling. Interestingly, the TM can
be utilized to model existential ontology, thus increasing the level of
understanding about them.Comment: 11 pages,17 figure
Thinging vs Objectfying in Software Engineering
In this paper, we propose the use of a modeling methodology based on the
notion of thing, with a focus on the current stage of research being on the
analysis phase of software system modeling. The object-oriented approach, which
takes the object as a central concept, provides the opportunity to explore
applying thinging to the reconceptualization of objects. Several
object-oriented examples are recast in terms of thing-oriented modeling. The
results indicate a positive development that leads to several possible options:
(1) supplementing the object orientation (OO) paradigm with additional
notations, and (2) promoting a further understanding of some aspect of the OO
paradigm. The possibility of developing a new approach in modeling based on
thinging also exists.Comment: 8 pages, 18 figure
User Interface as a Thinging Machine
The availability of interaction devices has raised interest in techniques to
support the user interface (UI). A UI specification describes the functions
that a system provides to its users by capturing the interface details and
includes possible actions through interaction elements. UI developers of
interactive systems have to address multiple sources of heterogeneity,
including end users heterogeneity and variability of the context of use. This
paper contributes to the notion of interactivity and interfacing by proposing a
methodology for producing engineering-type diagrams of (abstract) machine
processes that can specify uniform structure and behavior of systems through a
synchronic order of states (stages): creation, release, transfer, receive, and
process. As an example, the diagrammatic methodology is applied to
conceptualizing space as a machine. The resulting depiction seems suitable for
use in designing UIs in certain environments.Comment: 8 pages, 13 figure
Modeling Physical/Digital Systems: Formal Event-B vs. Diagrammatic Thinging Machine
Models are centrally important in many scientific fields. A model is a
representation of a selected part of the world, which is the model s target
system. Here, a system consists of a software portion as a component among many
others. Event-B is a modeling method for formalizing and developing systems
whose components can be modeled based on set theory and first-order logic. The
thinging machine (TM) is a diagram-based model establishes three levels of
representation: (1) a static structural description, which is constructed upon
the flow of things in five generic operations (activities; i.e., create,
process, release, transfer, and receive); (2) a dynamic representation, which
identifies hierarchies of events based on five generic events; and (3) a
behavioral representation according to the chronology of events. This paper is
an exercise in contrasting the formal Event-B to the diagrammatic TM. The
purpose is to further understand modeling in computer science. This is
motivated by the claim that computer scientists should not invent specific
languages to do the modeling. Important notions such as events and behavior are
contrasted, and a case study system of traffic on a bridge is modeled in
Event-B and TM. The results seem to indicate the need for both modeling
approaches.Comment: 13 pages, 18 figure
Tracking Systems as Thinging Machine: A Case Study of a Service Company
Object tracking systems play important roles in tracking moving objects and
overcoming problems such as safety, security and other location-related
applications. Problems arise from the difficulties in creating a well-defined
and understandable description of tracking systems. Nowadays, describing such
processes results in fragmental representation that most of the time leads to
difficulties creating documentation. Additionally, once learned by assigned
personnel, repeated tasks result in them continuing on autopilot in a way that
often degrades their effectiveness. This paper proposes the modeling of
tracking systems in terms of a new diagrammatic methodology to produce
engineering-like schemata. The resultant diagrams can be used in documentation,
explanation, communication, education and control.Comment: 10 pages 15 figure
Thinging for Computational Thinking
This paper examines conceptual models and their application to computational
thinking. Computational thinking is a fundamental skill for everybody, not just
for computer scientists. It has been promoted as skills that are as fundamental
for all as numeracy and literacy. According to authorities in the field, the
best way to characterize computational thinking is the way in which computer
scientists think and the manner in which they reason how computer scientists
think for the rest of us. Core concepts in computational thinking include such
notions as algorithmic thinking, abstraction, decomposition, and
generalization. This raises several issues and challenges that still need to be
addressed, including the fundamental characteristics of computational thinking
and its relationship with modeling patterns (e.g., object-oriented) that lead
to programming/coding. Thinking pattern refers to recurring templates used by
designers in thinking. In this paper, we propose a representation of thinking
activity by adopting a thinking pattern called thinging that utilizes a
diagrammatic technique called thinging machine (TM). We claim that thinging is
a valuable process as a fundamental skill for everybody in computational
thinking. The viability of such a proclamation is illustrated through examples
and a case study.Comment: 10 pages, 18 figure
Modeling the Realization and Execution of Functions and Functional Requirements
Requirements engineering plays a critical role in developing software
systems. One of the most difficult tasks in this process is identifying
functional requirements. A critical problem in many projects is missing
requirements until late in the development cycle. In this paper, our core
interest is function modeling, which refers to building models of systems based
on their functionalities and on the functionalities of their subcomponents. We
present a framework as the basis for specifying functional requirements via a
modeling language that produces a high-level diagrammatic representation. The
aim is to deliver an overall system description, facilitate communication and
understanding, construct a holistic view of the system above the domains of
different expertise, and lay the foundation for the design phase. We analyze
the notion of function and its elementary types and apply examples of natural
language description and scenarios. The results reveal a new method that lays a
foundation for works on functionality and viable methodology for capturing its
requirements.Comment: 12 pages, 31 figure
Modeling Events and Events of Events in Software Engineering
A model is a simplified representation of portion of reality that hides a
system s nonessential characteristics. It provides a means for reducing
complexity as well as visualization and communication and a basis for building
it. Most models involve graphic languages during many of the software lifecycle
phases. A new model, called thinging machine (TM), has recently been developed
as an extension of the input-process-output framework. The paper focuses on
events in a TM, offering a new perspective that captures a system s dynamic
behaviors and a means of diagrammatically modeling events. The event notion is
an important factor in giving semantics to specifications and providing a
natural way to specify the interfaces and observable behavior of system
components. Specifically, five generic TM event processes are analyzed: create,
process, receive, release, and transfer. All events can be mapped (or reduced)
to the events of these five event processesComment: 12 pages, 15 figure
Five Generic Processes for Behavior Description in Software Engineering
Behavior modeling and software architecture specification are attracting more
attention in software engineering. Describing both of them in integrated models
yields numerous advantages for coping with complexity since the models are
platform independent. They can be decomposed to be developed independently by
experts of the respective fields, and they are highly reusable and may be
subjected to formal analysis. Typically, behavior is defined as the occurrence
of an action, a pattern over time, or any change in or movement of an object.
In systems studies, there are many different approaches to modeling behavior,
such as grounding behavior simultaneously on state transitions, natural
language, and flowcharts. These different descriptions make it difficult to
compare objects with each other for consistency. This paper attempts to propose
some conceptual preliminaries to a definition of behavior in software
engineering. The main objective is to clarify the research area concerned with
system behavior aspects and to create a common platform for future research.
Five generic elementary processes (creating, processing, releasing, receiving,
and transferring) are used to form a unifying higher-order process called a
thinging machine (TM) that is utilized as a template in modeling behavior of
systems. Additionally, a TM includes memory and triggering relations among
stages of processes (machines). A TM is applied to many examples from the
literature to examine their behavioristic aspects. The results show that a TM
is a valuable tool for analyzing and modeling behavior in a system.Comment: 12 pages, 35 figure