In computer science, models are made explicit to provide formality and a precise understanding of small, contingent universes (e.g., an organization), as constructed from stakeholder requirements. Conceptual modeling is a fundamental discipline in this context whose main concerns are identifying, analyzing and describing the critical concepts of a universe of discourse. In the information systems field, one of the reasons why projects fail is an inability to capture requirements in a way that can be technically used to configure a system. This problem of requirements specification is considered to have deficiencies in theory. We apply a recently developed model called the Thinging Machine (TM) model which uniformly integrates static and dynamic modeling features to this problem of requirements specification. The object-Oriented (OO) approach to modeling, as applied in Unified Modeling Language, is by far the most applied and accepted standard in software engineering; nevertheless, new notions in the field may enhance and facilitate a supplementary understanding of the OO model itself. We aim to contribute to the field of conceptual modeling by introducing the TM model s philosophical foundation of requirements analysis. The TM model has only five generic processes of things (e.g., objects), in which genericity indicates generality, as in the generic Aristotelian concepts based on abstraction. We show the TM model s viability by applying it to a real business system.
A control model is typically classified into three forms: conceptual, mathematical and simulation (computer). This paper analyzes a conceptual modeling application with respect to an inventory management system. Today, most organizations utilize computer systems for inventory control that provide protection when interruptions or breakdowns occur within work processes. Modeling the inventory processes is an active area of research that utilizes many diagrammatic techniques, including data flow diagrams, Universal Modeling Language (UML) diagrams and Integration DEFinition (IDEF). We claim that …
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 diagrammat…
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) in…
This paper is an exploration of the ontological foundations of conceptual modeling that addresses the concept of events and related notions. Development models that convey how things change over space and time demand continued attention in systems and software engineering. In this context, foundational matters in modeling systems include the definition of an event, the types of events, and the kinds of relationships that can be recognized among events. Although a broad spectrum of research of such issues exists in various fields of study, events have extensive applicability in computing (e.g.,…
In recent years, there has been a dramatic increase in both practical and research applications of unmanned aerial vehicles (UAVs). According to the literature, there is a need in this area to develop a more refined model of UAV system architecture, in other words, a conceptual model that defines the system s structure and behavior. The existing models mostly are fractional and do not account for the entire important dynamic attributes. Progress in this area could reduce ambiguity and increase reliability in the design of such systems. This paper aims to advance the modeling of UAV system arch…
This paper introduces a case study that involves data leakage in a bank applying the so-called Thinging Machine (TM) model. The aim is twofold: (1) Presenting a systematic conceptual framework for the leakage problem that provides a foundation for the description and design of a data leakage system. (2) The aim in (1) is developed in the context of experimentation with the TM as a new methodology in modeling. The TM model is based on slicing the domain of interest (a part of the world) to reveal data leakage. The bank case study concentrates on leakage during internal operations of the bank. T…
Data modeling is a process of developing a model to design and develop a data system that supports an organization s various business processes. A conceptual data model represents a technology-independent specification of structure of data to be stored within a database. The model aims at providing richer expressiveness and incorporating a set of semantics to (a) support the design, control, and integrity parts of the data stored in data management structures and (b) coordinate viewing of connections and ideas on a database. The described structure of the data is often represented in an entity…
The software development life cycle (SDLC) is a procedure used to develop a software system that meets both the customer s needs and real-world requirements. The first phase of the SDLC involves creating a conceptual model that represents the involved domain in reality. In requirements engineering, building such a model is considered a bridge to the design and construction phases. However, this type of model can also serve as a basic model for identifying business processes and how these processes are interconnected to achieve the final result. This paper focuses on process modeling in organiz…
Modeling languages in software engineering (e.g., UML) evolved from software systems modeling where denotational and operational kinds of semantics are the traditional subjects of research and practice. According to some authors, although a large portion of the static semantics (e.g., UML) seems to have reached a consensus, the dynamic semantics of activities, interactions, and state machines poses a major challenge. Central to semantics is the relationship between a sentence and the (actual) world. Carefully examining semantics-related issues in the modeling languages field to avoid problems …
Constructing a conceptual model as an abstract representation of a portion of the real world involves capturing the (1) static (things/objects and trajectories of flow), (2) the dynamic (event identification), and (3) the behavior (e.g., acceptable chronology of events) of the modeled system. This paper focuses on examining the behavior notion in modeling and current works in the behavior space to illustrate that the problem of behavior and its related concepts in modeling lacks a clear-cut systematic basis. The purpose is to advance the understanding of system behavior to avoid ambiguity-rela…
The increasing importance of such fields as embedded systems, pervasive computing, and hybrid systems control is increasing attention to the time-dependent aspects of system modeling. In this paper, we focus on modeling conceptual time. Conceptual time is time represented in conceptual modeling, where the notion of time does not always play a major role. Time modeling in computing is far from exhibiting a unified and comprehensive framework, and is often handled in an ad hoc manner. This paper contributes to the establishment of a broader understanding of time in conceptual modeling based on a…
Models are fundamentally crucial to many scientific fields, including software engineering, systems engineering, enterprise modeling, and business modeling. This paper focuses on diagrammatic conceptual modeling, as opposed to mathematical or computational models, wherein a conceptual model is a translation of reality processes into an abstract mechanism that has similar structure and parallel events of the external processes. Although various modeling approaches exist, including UML (Unified Modeling Language) in software engineering and its dialect, SysML (System Modeling Language), in syste…
This paper is about conceptual modeling of aggregates in software engineering. An aggregate is a cluster of domain objects that can be treated as a single unit. In UML, an aggregation is a type of association in which objects are configured together to form a more complex object. It has been described as one of the biggest betes noires in modeling. In spite of its widespread use, aggregation seems a troublesome concept. It is sometimes treated as part-of; however, the part-of relation is only one of many possible aggregation mechanisms and is itself problematical, partly because of its diverse…
An important factor in guaranteeing the quality of a system is developing a conceptual model that reflects the knowledge about its domain as well as knowledge about the functions it has to perform. In software engineering, conceptual modeling has gained importance as a discipline that offers languages, methods, and methodologies to address the complexity of software development. The key to understanding such complexity is using tools such as diagrams at various levels of representation. A conceptual model must include all relevant static and behavioral aspects of its domain. In UML, the static…
In previous works, we proposed a one-category (entitled thimac) conceptual model called a thinging machine (TM), which integrates staticity (e.g., objects) and dynamism (e.g., events) without losing valuable aspects of diagrammatic intuition in conceptual modeling. We proposed applying TM to conceptual modeling in software engineering (e.g., on or above the level of UML as a conceptual modeling language). In this paper, to show such an application in software engineering, we first present a complete high-level description of a library service system to demonstrate the TM s applicability. Furth…
Modeling in software engineering includes constructing static, dynamic, and behavioral representations. In describing system behavior, actions and states are two of the most commonly used concepts. In this paper, we focus on the notion of action. It generally held that the meaning of the concept of action is not that easy to grasp. According to some researchers, many existing systems do involve the notion of action, but in an obscure way. In Unified Modeling Language (UML), an action is a single atomic step within an activity, i.e., it is not further decomposed within the activity. Activity re…
Conceptual models rely on structural information to describe relationships among UML classes; among these, the whole-part (WP) relationship plays a fundamental role. This paper explores and analyzes the WP semantics at large with a focus on its software engineering use. The WP relationship has often been treated as a first-class modeling construct in object-oriented analysis, a subject of keen interest and it is considered important for UML modeling. From the scientific and philosophical aspects, a theory of parts forming a whole is a complex issue, loaded with controversies that are widely di…
Difficulties arise when conceptual modeling lacks ontological clarity and rigorous definitions, which is especially the case in the relationship construct. Evidence shows that use of relationships is often problematic when it comes to communicating the form of meaning of an application domain. Research on this topic is important because relationships are central to a number of approaches and commonly used by practitioners. In this paper, we study the notion of relation or relationship in the context of conceptual modeling. Specifically, we focus on the notion of relationship used in the entity…
In software engineering, conceptual modeling focuses on creating representations of the world that are as faithful and rich as possible, with the aim of guiding the development of software systems. In contrast, in the computing realm, the notion of ontology has been characterized as being closely related to conceptual modeling and is often viewed as a specification of a conceptualization. Accordingly, conceptual modeling and ontology engineering now address the same problem of representing the world in a suitable fashion. A high-level ontology provides a means to describe concepts and their in…
A conceptual model is used to support development and design within the area of systems and software modeling. The notion of validation refers to representing a domain in a model accurately and generating results using an executable model. In UML specifications, validation verifies the correctness of UML diagrams against any constraints and rules defined within the model. Currently, significant research has been conducted on generating test sets to validate that UML diagrams conform to requirements. UML activity diagrams are a specific focus of such efforts. An activity diagram is a flexible i…
We study operational security in computer network security, including infrastructure, internal processes, resources, information, and physical environment. Current works on developing a security framework focus on a security ontology that contributes to applying common vocabulary, but such an approach does not assist in constructing a foundation for a holistic security methodology. We focus on defining the bounds and creating a representation of a security system by developing a diagrammatic representation (i.e. a model) as a means to describe computer network processes. The model, referred to…
In this paper, we concentrate on object-related analysis in the field of general ontology of reality as related to software engineering (e.g., UML classes). Such a venture is similar to many studies in which researchers have enhanced modeling through ontological analysis of the underlying paradigm of UML models. We attempt to develop a conceptual model that consists of a foundation of things that is supplemented with a second level of designated objects. According to some researchers, the problem of the difference between things and objects is one of the most decisive issues for the conception…
This paper examines the concept of change in conceptual modeling. Change is inherent in the nature of things and has increasingly become a focus of much interest and investigation. Change can be modeled as a transition between two states of a finite state machine (FSM). This change represents an exploratory starting point in this paper. Accordingly, a sample FSM that models a car s transmission system is re-expressed in terms of a new modeling methodology called thinging machine (TM) modeling. Recasting the car-transmission model involves developing (1) an S model that captures the static aspe…
According to the software engineering community, the acknowledgement is growing that a theory of software development is needed to integrate the currently myriad popular methodologies, some of which are based on opposing perspectives. Conceptual modeling (CM) can contribute to such a theory. CM defines fundamental concepts to create representations of reality to achieve ontologically sound software behavior that is characterized by truthfulness to reality and conceptual clarity. In this context, CM is founded on theories about the world that serve to represent a given domain. Ontologies have m…
This paper has a dual character, combining a philosophical ontological exploration with a conceptual modeling approach in systems and software engineering. Such duality is already practiced in software engineering, in which the current dominant modeling thesis is object orientation. This work embraces an anti-thesis that centers solely on the process rather than emphasizing the object. The approach is called occurrence-only modeling, in which an occurrence means an event or process where a process is defined as an orchestrated net of events that form a semantical whole. In contrast to object o…
In software system design, one of the purposes of diagrammatic modeling is to explain something (e.g., data tables) to others. Very often, syntax of diagrams is specified while the intended meaning of diagrammatic constructs remains intuitive and approximate. Conceptual modeling has been developed to capture concepts and their interactions with each other in the intended domain and to represent structural and behavioral features of the modeled system. This paper is a venture into diagrammatic approaches to the semantics of modeling notations, with a focus on data and graph semantics. The first…
In this paper, we explore the notion of change in systems and software engineering, emphasizing its philosophical elucidation. Generally, it has been claimed that change is so pervasive in systems that it almost defeats description and analysis. In this article, we analyze change using the conceptual modeling technique called a thinging machine (TM), which reflects change in terms of the actions of creating, processing, releasing, transferring, and receiving things. We illustrated change in TM modeling with an example of a system s reconfiguration of business product handling designed using bu…
We present a different approach to developing a concept of time for specifying temporality in the conceptual modeling of software and database systems. In the database field, various proposals and products address temporal data. The difficulty with most of the current approaches to modeling temporality is that they represent and record time as just another type of data (e.g., values of a bank balance or amounts of money), instead of appreciating that time and its values are unique, in comparison to typical data attributes. Time is an engulfing phenomenon that lifts a system s entire model from…
In the systems and software modeling field, a conceptual model involves modeling with concepts to support development and design. An example of a conceptual model is a description developed using the Unified Modeling Language (UML). UML uses a model multiplicity formulation approach, wherein a number of models are used to represent alternative views. By contrast, a model singularity approach uses only a single integrated model. Each of these styles of modeling has its strengths and weaknesses. This paper introduces a partial solution to the issue of multiplicity vs. singularity in modeling by …
Object orientation has become the predominant paradigm for conceptual modeling (e.g., UML), where the notions of class and object form the primitive building blocks of thought. Classes act as templates for objects that have attributes and methods (actions). The modeled systems are not even necessarily software systems: They can be human and artificial systems of many different kinds (e.g., teaching and learning systems). The UML class diagram is described as a central component of model-driven software development. It is the most common diagram in object-oriented models and used to model the s…
This study introduces another application of software engineering tools, conceptual modeling, which can be applied to other fields of research. One way to strengthen the relationship between software engineering and other fields is to develop a good way to perform conceptual modeling that is capable of addressing the peculiarities of these fields of study. This study concentrates on humanities and social sciences, which are usually considered softer and further away from abstractions and (abstract) machines. Specifically, we focus on conceptual modeling as a software engineering tool (e.g., UM…
The Internet s ability to support a wide range of services depends on the network architecture and theoretical and practical innovations necessary for future networks. Network architecture in this context refers to the structure of a computer network system as well as interactions among its physical components, their configuration, and communication protocols. Various descriptions of architecture have been developed over the years with an unusually large number of superficial icons and symbols. This situation has created a need for more coherent systematic representations of network architectu…
A conceptual model can be used to manage complexity in both the design and implementation phases of the system development life cycle. Such a model requires a firm grasp of the abstract principles on which a system is based, as well as an understanding of the high-level nature of the representation of entities and processes. In this context, models can have distinct architectural characteristics. This paper discusses model multiplicity (e.g., unified modeling language [UML]), model singularity (e.g., object-process methodology [OPM], thinging machine [TM]), and a heterogeneous model that invol…
The design of complex man-made systems mostly involves a conceptual modeling phase; therefore, it is important to ensure an appropriate analysis method for these models. A key concept for such analysis is the development of a diagramming technique (e.g., UML) because diagrams can describe entities and processes and emphasize important aspects of the systems being described. The analysis also includes an examination of ontological concepts such as states and events, which are used as a basis for the modeling process. Studying fundamental concepts allows us to understand more deeply the relation…