Searcharxiv⌕ Search

arXiv subjects

Sabah Al-Fedaghi

Publications and source records attributed to Sabah Al-Fedaghi.

At least 37 records · Page 2Linked to original sources

Conceptual Modeling of the Whole-Part Relationship

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 discussed. This paper aims to offer a semantic assembly model that is useful to describe WP relationships in conceptual modeling. We contribute to the WP research by conducting an ontological analysis using UML samples that exemplify the WP construct. The method of investigation is based on a model called a thinging machine (TM) to explore the WP semantics through applying TM to numerous existing UML models. The TM model uses the so-called thimacs (things/machines) to form building blocks for describing the domain at a three levels of description: static, events, and behavioral models. This approach contrasts the UML method, which is infected by a multiplicity problem concerning the integrated view of structure and behavior and how to associate diagrams with one another. This investigation s results point to a promising contribution to the understanding of the notion of WP relationship in UML.

cs.SE↗

Conceptual Modeling of Aggregation: an Exploration

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 semantics. The purpose of this paper is to develop a semantic assembly model that is useful to represent relationships in the domain and achieve various levels of interoperability among software. The paper contributes to ontological conceptual clarity about aggregation, based on a model called a thinging machine (TM). The TM model uses so-called thimacs (things/machines) as building blocks for describing the domain. Thus, the notion of aggregation is extended to behavioral aggregation, in which individual entities collectively behave as a unit. The results point to a promising contribution to the understanding of the notion of aggregation compared to the ontological positions that are based on substance or relation.

cs.SE↗

Conceptual Modeling of Objects

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 of reality. In software engineering, objects serve two purposes: they promote understanding of the real world and provide a practical basis for computer implementation. The notion of object plays a central role in the object-oriented approach, in which other notions are viewed by decomposing them into objects and their relationships. This paper contributes to the establishment of a broader understanding of the notion of object in conceptual modeling based on things that are simultaneously machines. In this study, we explored the underlying hypothesis of conceptual models (e.g., UML) to enhance their ontological analysis by using the thing/machine (TM) model, which presents the domain as thimacs. Following the philosophical distinction between things and objects, we can specify modeling at two levels: the thinging stage and the objectification stage. Objects are thimacs that control the handleablity of their sub-parts when interacting with the outside of the object (analogous to the body parts holding together in an assemblage when interacting with the outside). The results promise a more refined modeling process to develop a high-level description of the involved domain.

cs.SE↗

Conceptual Modeling of Actions

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 represents a behavior that is composed of actions. This paper contributes to the establishment of a broader interdisciplinary understanding of the notion of action in conceptual modeling based on a model called the thinging machine (TM). The TM uses only five primitive actions: create, process, release, transfer, and receive. The goal of such a venture is to improve the process of developing conceptual models by refining basic concepts such as action and event. To demonstrate how TM modeling represents actions, UML activity and Business Process Model and Notation (BPMN) diagrams are re-modeled in terms of the five TM actions. The results reveal the viability of the TM s five actions in modeling and relate them to other important notions such as activity, event, and behavior.

cs.SE↗

Conceptual Modeling with Constraints

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 aspects include structural diagrams that represent the internal architecture of a system with a special focus on the classes, the connections and interactions that they have, and integrity constraints over the state of the domain. UML does not have sufficient expressiveness for complete specifications of certain constraints. Constraints assist in analyzing permissible design requirements and the limitations of the intended functions. To overcome the limitations of the graphical notation, other types of languages are used to complement the diagrammatic language (e.g., the textual Object Constraint Language [OCL]). In this paper, we study how to express constraints diagrammatically using the thinging machine (TM) through examples taken from the UML/OCL literature. This would contribute to further understanding the notion of constraint in conceptual modeling. It also demonstrates the expressiveness and limitation of the TM. The paper suggests that the TM can provide a diagrammatic constraints language in conceptual models.

cs.SE↗

State-Based Behavior Modeling in Software and Systems Engineering

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 relationship between these concepts and modeling frameworks. In this paper, we critically analyze the classic definition of a state utilizing the thinging machine (TM) model. States in state machine diagrams are considered the appropriate basis for modeling system behavioral aspects. Despite its wide application in hardware design, the integration of a state machine model into a software system s modeling requirements increased the difficulty of graphical representation (e.g., integration between structural and behavioral diagrams). To understand such a problem, in this paper, we project (create an equivalent representation of) states in TM machines. As a case study, we re-modeled a state machine of an assembly line system in a TM. The outcome is a complicated picture of assembly line behavior. Therefore, as an alternative solution, we re-modeled the assembly line based solely on the TM. This new model presents a clear contrast between state-based modeling of assembly line behavior and the TM approach. The TM modeling seems more systematic than its counterpart, the state machine, and its notions are well defined. In a TM, states are just compound events. A model of a more complex system than the one in the assembly line has strengthened such a conclusion.

cs.SE↗

Change in Conceptual Modeling and Systems Reconfiguration

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 business process modeling notation (BPMN). Then we analyze the notion of change and compare its various definitions in philosophy. Specifically, we examine Zeno s paradox that involves how to account for change and continuity together in moving things. The problem is that we cannot assert that an arrow is actually moving when it has been shot from a bow because the arrow needs to be at a certain place at each point in time, which by definition cannot contain any duration at all. In our analysis of this problem, we convert the arrow trajectory into space units called thimacs. In the TM generic actions, two types of change are identified: state and progression (PROCESS) changes. Therefore, when an arrow flows to a TM machine that represents a trajectory space unit, it is rejected, causing it to bounce away to the outside. That is, the arrow is transferred, arrives, and is transferred back; therefore, the arrow is never accepted into a thimac in the trajectory at any moment. The result of such analysis seems to introduce a logical explanation for the notion of movement discussed in Zeno s puzzles.

cs.SE↗

Conceptual Modeling of Events Based on One-Category Ontology

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. Furthermore, we explore the TM s features, emphasizing the realization of thimacs as events. The purpose is to develop better understanding of the TM notions by contrasting them with their uses in related fields. The notion of an event plays a prominent role in many fields of study, including philosophy, linguistics, literary theory, probability theory, artificial intelligence, physics, and history. A TM event is a static thimac with a time breath (time subthimac) that infuses dynamism into the thimac. It arises from how the TM static region is infected with time. Such a view is contrasted with some philosophical and linguistics definitions of an event (e.g., unit of experience of Whitehead). We also raise interesting issues (e.g., event movement) in this study.

cs.SE↗

Software Engineering Meets Network Engineering: Conceptual Model for Events Monitoring and Logging

Abstraction applied in computer networking hides network details behind a well-defined representation by building a model that captures an essential aspect of the network system. Two current methods of representation are available, one based on graph theory, where a network node is reduced to a point in a graph, and the other the use of non-methodological iconic depictions such as human heads, walls, towers or computer racks. In this paper, we adopt an abstract representation methodology, the thinging machine (TM), proposed in software engineering to model computer networks. TM defines a single coherent network architecture and topology that is constituted from only five generic actions with two types of arrows. Without loss of generality, this paper applies TM to model the area of network monitoring in packet-mode transmission. Complex network documents are difficult to maintain and are not guaranteed to mirror actual situations. Network monitoring is constant monitoring for and alerting of malfunctions, failures, stoppages or suspicious activities in a network system. Current monitoring systems are built on ad hoc descriptions that lack systemization. The TM model of monitoring presents a theoretical foundation integrated with events and behavior descriptions. To investigate TM modeling s feasibility, we apply it to an existing computer network in a Kuwaiti enterprise to create an integrated network system that includes hardware, software and communication facilities. The final specifications point to TM modeling s viability in the computer networking field.

cs.NI↗

Software Engineering Meets Systems Engineering: Conceptual Modeling Applied to Engineering Operations

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 systems engineering, several difficulties arise in such models, including the problem of model multiplicity that is related to the lack an integrated view of structure and behavior. This paper generalizes conceptual modeling to be applied in organizations at large. According to authorities, the so-called organization theory portrays organizations as machine-like systems. As a machine, an organization coordinates its parts to transform inputs into outputs. Therefore, we synthesize the notion of an organization as a machine and apply a new modeling methodology called thinging machine (TM) to real engineering operations. The results show the viability of the TM methodology serving as a foundation for high-level modelling of systems.

cs.SE↗

Conceptual Data Modeling: Entity-Relationship Models as Thinging Machines

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-relationship (ER) model, which was one of the first data-modeling techniques and is likely to continue to be a popular way of characterizing entity classes, attributes and relationships. This paper is an attempt to examine the basic ER modeling notions to analyze the concepts to which they refer as well as ways to represent them. In such a mission, we apply a new modeling methodology (thinging machine; TM) to ER in terms of its fundamental building constructs, representation entities, relationships and attributes. The goal of this venture is to further the understanding of data models and enrich their semantics. Three specific contributions to modeling in this context are incorporated: (a) using the TM model s five generic actions to inject processing in the ER structure; (b) relating the single ontological element of TM modeling (i.e., a thing/machine or thimac) to ER entities and relationships; and (c) proposing a high-level integrated, extended ER model that includes structural and time-oriented notions (e.g., events or behavior).

cs.DB↗

Beyond SDLC: Process Modeling and Documentation Using Thinging Machines

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 organizations, per se, beyond its application in the SDLC when an organization needs further documentation to meet its growth needs and address regular changes over time. The resultant process documentation is created alongside the daily operations of the business process. The model provides process visualization and documentation to assist in defining work patterns, avoiding redundancy, or even designing new processes. In this paper, a proposed diagrammatic representation models each process using one diagram comprising five actions and two types of relationships to build three levels of depiction. These levels consist of a static description, events, and the behavior of the modeled process. The viability of a thinging machine is demonstrated by re-modeling some examples from the literature.

cs.SE↗

TMUML: A Singular TM Model with UML Use Cases and Classes

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 adopting UML use cases and class models into the conceptual thinging machine (TM) model. To apply use cases, we adopt the observation that a use-case diagram is a description that shows the internal structure of the part of the system represented by the use case in addition to being useful to people outside of the system. Additionally, the UML class diagram is recast in TM representation. Accordingly, we develop a TMUML model that embraces the TM specification of the UML class diagram and the internal structure extracted from the UML use case. TMUML modeling introduces some of the advantages that have made UML a popular modeling language to TM modeling. At the same time, this approach supplies UML with partial model singularity. The paper details experimentation with TMUML using examples from the literature. Our results indicate that mixing UML with other models could be a viable approach.

cs.SE↗

Validation: Conceptual versus Activity Diagram Approaches

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 instrument for describing a system s behaviors and the internal logic of complex operations. This paper focuses on the notion of validation using activity diagrams and contrasts that process with a proposed method that involves an informal validation procedure. Accordingly, this informal validation involves comparing requirements to specifications expressed by a diagram of a modeling language called thinging machine (TM) modeling. The informal validation is a type of model checking that requires the model to be small enough for the verification to be done in a limited space or time period. In the proposed method, the model diagram is divided into subdiagrams to achieve this purpose. We claim the TM behavioral model comes with a particular dispositional structure that allows a designer to carve a model into smaller components for informal validation, which is shown through two case studies.

cs.SE↗

Classes in Object-Oriented Modeling (UML): Further Understanding and Abstraction

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 static design view of a system. Objects both carry data and execute actions. According to some authorities in modeling, a certain degree of difficulty exists in understanding the semantics of these notions in UML class diagrams. Some researchers claim class diagrams have limited use for conceptual analysis and that they are best used for logical design. Performing conceptual analysis should not concern the ways facts are grouped into structures. Whether a fact will end up in the design as an attribute is not a conceptual issue. UML leads to drilling down into physical design details (e.g., private/public attributes, encapsulated operations, and navigating direction of an association). This paper is a venture to further the understanding of object-orientated concepts as exemplified in UML with the aim of developing a broad comprehension of conceptual modeling fundamentals. Thinging machine (TM) modeling is a new modeling language employed in such an undertaking. TM modeling interlaces structure (components) and actionality where actions infiltrate the attributes as much as the classes. Although space limitations affect some aspects of the class diagram, the concluding assessment of this study reveals the class description is a kind of shorthand for a richer sematic TM construct.

cs.SE↗

UML Sequence Diagram: An Alternative Model

The general acceptance of sequence diagrams can be attributed to their relatively intuitive nature and ability to describe partial behaviors (as opposed to such diagrams as state charts). However, studies have shown that over 80 percent of graduating students were unable to create a software design or even a partial design, and many students had no idea how sequence diagrams were constrained by other models. Many students exhibited difficulties in identifying valid interacting objects and constructing messages with appropriate arguments. Additionally, according to authorities, even though many different semantics have been proposed for sequence diagrams (e.g., translations to state machines), there exists no suitable semantic basis refinement of required sequence diagram behavior because direct style semantics do not precisely capture required sequence diagram behaviors; translations to other formalisms disregard essential features of sequence diagrams such as guard conditions and critical regions. This paper proposes an alternative to sequence diagrams, a generalized model that provides further understanding of sequence diagrams to assimilate them into a new modeling language called thinging machine (TM). The sequence diagram is extended horizontally by removing the superficial vertical-only dimensional limitation of expansion to preserve the logical chronology of events. TM diagramming is spread nonlinearly in terms of actions. Events and their chronology are constructed on a second plane of description that is superimposed on the initial static description. The result is a more refined representation that would simplify the modeling process. This is demonstrated through remodeling sequence diagram cases from the literature.

cs.SE↗

Model Multiplicity (UML) Versus Model Singularity in System Requirements and Design

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 involves multiplicity and singularity. The basic idea of model multiplicity is that it is not possible to present all views in a single representation, so a number of models are used, with each model representing a different view. The model singularity approach uses only a single unified model that assimilates its subsystems into one system. This paper is concerned with current approaches, especially in software engineering texts, where multimodal UML is introduced as the general-purpose modeling language (i.e., UML is modeling). In such a situation, we suggest raising the issue of multiplicity versus singularity in modeling. This would foster a basic appreciation of the UML advantages and difficulties that may be faced during modeling, especially in the educational setting. Furthermore, we advocate the claim that a multiplicity of views does not necessitate a multiplicity of models. The model singularity approach can represent multiple views (static, behavior) without resorting to a collection of multiple models with various notations. We present an example of such a model where the static representation is developed first. Then, the dynamic view and behavioral representations are built by incorporating a decomposition strategy interleaved with the notion of time.

cs.SE↗

Modeling in Systems Engineering: Conceptual Time Representation

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 software and system engineering model denoted thinging machine (TM). TM modeling is founded on a one-category ontology called a thimac (thing/machine) that is used to elaborate the design and analysis of ontological presumptions. The issue under study is a sample of abstract modeling domains as exemplified by time. The goal is to provide better understanding of the TM model by supplementing it with a conceptualization of time aspects. The results reveal new characteristics of time and related notions such as space, events, and system behavior.

cs.SE↗