39735656
What Is the Role of Cognition in Conceptual Modeling? A Report on the First Workshop on Cognition and Conceptual Modeling
Conceptual modeling has been advocated as an approach for representing the subject matter of an information system in a way that better reflects the way users think about that subject matter. Therefore, conceptual modeling appears to have a natural cognitive basis. However, there has been a surprising lack of attention in conceptual modeling research to cognitive issues and the role of cognition in both the development and evaluation of conceptual modeling techniques. The objective of the First Workshop on Cognition and Conceptual Modeling was to bring together researchers studying a wide range of questions relevant to the conference theme. This paper summarizes the motivation for the workshop, the presentations made, and outlines the workshop's contribution to furthering our understanding of the role of cognition in conceptual modeling.
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.
19364877
Understanding the Role of Use Cases in 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 UML (Booch, Jacobson, & Rumbaugh, 1999) and the Unified Software Development Process (Jacobson, Booch, & Rumbaugh, 1999). This paper 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 model from a set of use cases. Moreover, the role of categorization in human thinking suggests that class models 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.
39978783
Conceptual Modeling in Systems Development: Should it Be Driven by User's or Designer's Needs? (Panel discussion)
16857252
A graphical technique for modeling multi-user data requirements
Existing graphical techniques for data modeling handle diverse user requirements by combining local user views into an integrated schema. This produces a design that does not directly represent the data requirements of any user group in a heterogeneous environment, and which is flexible in the face of changing requirements. This paper offers an explanation of these problems in terms of the treatment of classification in existing data models and diagramming techniques. A new graphical technique is introduced which draws from research on human classification and offers a more flexible approach to modeling multiple views and sharing data among them. Implications of the model for research and practice are also discussed.<<ETX>>
38919704
How UML is used
Many UML projects are not Use Case driven.
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.