40838489
The Role of Use Cases in the UML: A Review and Research Agenda
A use case is a description of a sequence of actions constituting a complete task or transaction in an application. Use cases were first proposed by Jacobson (1987) and have since been incorporated as one of the key modeling constructs in the UML(Booch, Jacobson, & Rumbaugh, 1999) and the Unified Software Development Process(Jacobson, Booch, & Rumbaugh, 1999). This chapter traces the development of use cases, and identifies a number of problems with both their application and theoretical underpinnings. From an application perspective, the use-case concept is marked by a high degree of variety in the level of abstraction versus implementation detail advocated by various authors. In addition, use cases are promoted as a primary mechanism for identifying objects in an application, even though they focus on processes rather than objects. Moreover, there is an apparent inconsistency between the so-called naturalness of object models and the commonly held view that use cases should be the primary means of communicating and verifying requirements with users. From a theoretical standpoint, the introduction of implementation issues in use cases can be seen as prematurely anchoring the analysis to particular implementation decisions. In addition, the fragmentation of objects across use cases creates conceptual difficulties in developing a comprehensive class diagram from a set of use cases. Moreover, the role of categorization in human thinking suggests that class diagrams may serve directly as a good mechanism for communicating and verifying application requirements with users. We conclude by outlining a framework for further empirical research to resolve issues raised in our analysis.
36768622
An Ontological Metamodel of Classifiers and Its Application to Conceptual Modelling and Database Design
Classification is a key concept in conceptual modeling. However, the recognition that there might be different kinds of classes has received limited attention in conceptual modeling research. Most work has focused on the concept of role. However, confusion exists on the definition, properties, and representation of role. In this paper, we propose a metamodel of classifiers based on ontological foundations. We focus on the notion of role in the object-oriented and conceptual modeling literature. The metamodel conforms to the fundamental role features identified in the literature and handles several problems associated with role modeling. Furthermore, we contrast conceptual models created using our metamodel to those created using traditional ER or class modeling approaches, and highlight the database design implications of the differences. Using examples, we demonstrate that relational database schemata generated using our approach are more stable with respect to changing requirements.
31313973
Experimental Research on Conceptual Modeling: What Should We Be Doing and Why?
This panel considers a number of contentious issues in the conduct of experimental research on conceptual modeling. The panelists will present a range of perspectives on the issues to encourage audience input and discussion.
38548288
Dimensions of UML Diagram Use: A Survey of Practitioners
The UML is an industry standard for object-oriented software engineering. However, there is little empirical evidence on how UML is used. This article reports results of a survey of UML practitioners. We found differences in several dimensions of UML diagram usage on software development projects including; frequency, the purposes for which they were used, and the roles of clients/users in their creation and approval. System developers are often ignoring the â€œuse case-drivenâ€ prescription that permeates much of the UML literature, making limited or no use of either use case diagrams or textual use case descriptions. Implications and areas requiring further investigation are discussed.
36248930
What do the pictures mean? Guidelines for experimental evaluation of representation fidelity in diagrammatical conceptual modeling techniques
It is important to articulate the objectives and underlying assumptions behind a growing body of experimental research in conceptual modeling. We provide four guidelines for developing materials for experiments that evaluate conceptual modeling techniques, under the assumption that a primary purpose of conceptual modeling is to facilitate communication between analysts and users in validating domain knowledge during systems development. These guidelines assist in developing experimental materials that support meaningful tests of domain semantics. We present empirical evidence indicating the value of two of the guidelines. We also evaluate selected recent experiments on conceptual modeling with respect to the guidelines.
29203736
Property-Based Semantic Reconciliation of Heterogeneous Information Sources
Integrating information from diverse sources is of great importance in the database area. The main difficulty in information integration is reconciling data semantics. Common approaches to semantic reconciliation are based on first identifying similar entity types in various sources, and then reconciling entity type properties (attributes and relationships). Such approaches assume all instances to be reconciled belong to well-defined types. We suggest an alternative approach based on two fundamental principles. First, reconciliation does not require that instances be assigned to specific types. Instead, sources can be reconciled by analyzing similarities of properties. Second, properties that appear different may be manifestations of a higher-level property that has the same meaning across sources. We present the fundamental ideas underlying our approach, analyze its potential advantages, suggest how the approach can be formalized, demonstrate with examples the feasibility of using it for semantic reconciliation, and suggest directions for further research.
7550336
Model driven middleware: A new paradigm for developing distributed real-time and embedded systems
Distributed real-time and embedded (DRE) systems have become critical in domains such as avionics (e.g., flight mission computers), telecommunications (e.g., wireless phone services), tele-medicine (e.g., robotic surgery), and defense applications (e.g., total ship computing environments). These types of system are increasingly interconnected via wireless and wireline networks to form systems of systems. A challenging requirement for these DRE systems involves supporting a diverse set of quality of service (QoS) properties, such as predictable latency/jitter, throughput guarantees, scalability, 24x7 availability, dependability, and security that must be satisfied simultaneously in real-time. Although increasing portions of DRE systems are based on QoS-enabled commercial-off-the-shelf (COTS) hardware and software components, the complexity of managing long lifecycles (often ~15-30 years) remains a key challenge for DRE developers and system integrators. For example, substantial time and effort is spent retrofitting DRE applications when the underlying COTS technology infrastructure changes. This paper provides two contributions that help improve the development, validation, and integration of DRE systems throughout their lifecycles. First, we illustrate the challenges in creating and deploying QoS-enabled component middleware-based DRE applications and describe our approach to resolving these challenges based on a new software paradigm called Model Driven Middleware (MDM), which combines model-based software development techniques with QoS-enabled component middleware to address key challenges faced by developers of DRE systems - particularly composition, integration, and assured QoS for end-to-end operations. Second, we describe the structure and functionality of CoSMIC (Component Synthesis using Model Integrated Computing), which is an MDM toolsuite that addresses key DRE application and middleware lifecycle challenges, including partitioning the components to use distributed resources effectively, validating software configurations, assuring multiple simultaneous QoS properties in real-time, and safeguarding against rapidly changing technology.