14 research outputs found

    Thinging for Software Engineers

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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

    Full text link
    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
    corecore