Development-Paradigm Independent Conceptual Models

Total Page:16

File Type:pdf, Size:1020Kb

Development-Paradigm Independent Conceptual Models Development-Paradigm Independent Conceptual Models Oscar Dieste Departamento de Electrónica y Sistemas – Escuela Politécnica Superior Universidad Alfonso X 28691- Villanueva de la Cañada. Madrid (Spain) e-mail: [email protected] Abstract · Detect missing information, and errors or misinterpretations, before going ahead with system The conceptual models obtained during analysis have construction [5]. two main shortcomings, which have been pointed out by Conceptual modelling is gaining in importance as several researchers: first, they are clearly oriented to a software systems become more complex and the problem specific development paradigm (structured, object domain moves further away from knowledge familiar to oriented, etc.); second, once the conceptual models have developers. The reason is that modelling acts as the been obtained, it is really difficult to change to another starting point for understanding and, thus, being able to development paradigm, because of the model orientation solve customer and/or user problems. This is clear from to a specific development approach. the work of several researchers, who claim that proper Nevertheless, analysis task requires that models be conceptual modelling is crucial for the future independent of any ‘vision of the world’, as those development of software. McGregor [6], Bonffati [7] or suggested by current development paradigms. Model Høydalsvik [8], for example, stress how important independence makes problem comprehension easier. conceptual modelling is for ensuring that CMs faithfully This is why the conceptual models used nowadays are represent the problem to be solved in the user domain. not of use for achieving correct analysis. Nevertheless, several authors have argued that the This paper shows an alternative approach to conceptual CMs used nowadays are oriented to specific software modelling. This approach focuses on the construction of development approaches. This orientation has two special conceptual models, called Generic Conceptual repercussions: (1) CMs have computational constraints, Models, which contain no computational bounds of any that is, CM developers represent specific implementation kind. This approach can be easily integrated into the characteristics in the models [7, 8, 9]; (2) CMs prescribe usual development process, avoiding the problems now the subsequent development process, in which the CMs arising with regard to analysis. are more or less directly transformed into design models [10, 11, 12, 13, 14], and their transformation to a design model related to another development paradigm is really 1. Introduction complicated and sometimes impossible. This means that the CMs used nowadays are not of The requirements engineering (RE) activity is composed use for analysis. In this paper, we illustrate an alternative by four iterative tasks: elicitation, analysis, approach that aims to remove the above constraints. The documentation and validation[1]. Analysis is a critical paper is structured as follows: section 2 focuses on CMs task among them, because of the huge importance of its and their role in software development; section 3 objectives: (1) understand the problem to be solved; (2) discusses the problems with using CMs identified by develop conceptual models (CMs), which represent this several researchers, as well as the limitations we have problem understanding; and (3) define the features of an detected; section 4 introduces the hypothesis used to implementation-independent solution to the problem in define our approach; and section 5 describe the approach question, that is, identify the requirements to be satisfied we have defined for a conceptual modelling process by the future software system. CMs play a central role in independent of any development paradigm. Finally, the analysis, as they make it possible to: preliminary results of applying our approach are · Make real-world concepts and relationships tangible discussed in section 6, as the future work to be carried [2]. out to fully validate and improve it. · Record parts of reality that are important for performing the task in question and downgrade 2. The Role of Conceptual Models other elements that are insignificant [3]. · Support communication among the various The term CM originally emerged in the database field. “stakeholders” (customers, users, developers, CMs were used to represent the data and relations, which testers, etc.) [4]. were to be managed by an information system, irrespective of any implementation feature [19]. The domain. This orientation to the solution is necessitated scope of the term CM has gradually broadened since the by the fact that the representations of the different CMs approval of the ISO conceptual modelling standard [20], include computer-related issues. Several researchers, where its goal was to represent the domain of discourse. mainly from the object-oriented community, have The domain of discourse is the set of data involved in the pointed out that conceptualisation methods suffer from problem to be solved and the operations that affect the this limitation: above data. In this context, only the operations that · It is argued that object-oriented methods are a represented domain rules or, in other words, specific ‘natural’ representation of the world. Nevertheless, integrity constraints of the problem to be solved were this idea is a dangerous over-simplification [9]. represented in the CM. · Object-oriented analysis has several shortcomings, Nevertheless, CMs are used for more than is most importantly in being target-oriented rather than acknowledged by the above definition. The following problem oriented [8]. citations show that CMs are used in SE to: · Object-oriented analysis techniques are strongly · Encourage the analyst to think and document in affected by implementative issues [7]. terms of the problem, as opposed to the solution There are authors that extend the criticisms to other [11]. models, too. For example, Jackson argues that: · Describe the universe of discourse in the · DFD’s are vague pictures suggesting what someone language and in the way of thinking of the thinks might be the shape of a system to solve a domain experts and users [15]. problem, but they do not say what the problem is · Formally define aspects of the physical and social [18]. world around us for the purposes of · There exists no theory of how a model relates to the understanding and communication [16]. real world [19]. · Help requirements engineers understand the Thus, for example, data flow diagrams are clearly domain [17]. guided by functions, key components of structured Taking into account the above definitions, it can be software and, likewise, the models used in object- said that the main characteristics of any CM are oriented analysis lead directly towards software description and understanding; that is, CMs can be used developed by means of classes, objects, messages, by developers to: polymorphism, etc., basic concepts of object-oriented · Understand the needs raised by users. software. · Reach agreement with users on the scope of the If computational characteristics are included in CMs, system and how it is to be built. these are linked to a particular implementation approach, · Use the information represented in the model as a that is, once a given conceptualisation method has been basis for building a traditional or intelligent selected to describe the problem domain, it is practically software system to meet this need. impossible to change the above method “a posteriori” without having to reanalyse the problem. This has also 3. About the Computational Orientation of been stressed by several researchers: Conceptual Models · Because of poorly understood overlap among different requirements languages, it is difficult to Several authors have pointed out that current CMs change languages mid-project [20]. sometimes fail to do their jobs of description and · The use of a CM during analysis defines nearly understanding during analysis. Criticisms can be divided univocally how the design shall be done [10]. into two major groups: · Perhaps the most difficult aspect of problem · The orientation of the conceptualisation methods, analysis is avoiding software design [11]. stressing the fact that most CMs are oriented to · It is sometimes mistakenly believed that the getting a computational solution to the problem or structures produced during analysis will and should need raised and not to easing the understanding of be carried through in design [12]. the user need. · The boundaries between analysis and design · The association between CMs and specific activities in the object-oriented model are fuzzy approaches to software development. [13]. Here, the use of a given CM during the early phases · The software system development approach is of the development process limits the number of possible preconditioned by the CM used [14]. implementation alternatives and means that only the Owing to this limitation, for example, if data flow options that are compatible with the CM used originally diagrams have been used to model the problem domain, are feasible. it will almost certainly be necessary to use the structured Many of the CMs are oriented to providing a method in later development phases; a method of object- computational solution to the problem raised in the user oriented development will have to be used following an object-oriented analysis. Therefore, if we intended to and (2) go from an understanding of the problem to a switch development paradigms, that
Recommended publications
  • Conceptual Modelling and Humanities
    Joint Proceedings of Modellierung 2020 Short, Workshop and Tools & Demo Papers Modellierung 2020: Short Papers 13 Conceptual Modelling and Humanities Yannic Ole Kropp,1 Bernhard Thalheim2 Abstract: Humanities are becoming a hyping field of intensive research for computer researchers. It seems that conceptual models may be the basis for development of appropriate solutions of digitalisation problems in social sciences. At the same time, humanities and social sciences can fertilise conceptual modelling. The notion of conceptual models becomes enriched. The approaches to modelling in social sciences thus result in a deeper understanding of modelling. The main aim of this paper is to learn from social sciences for conceptual modelling and to fertilise the field of conceptual modelling. 1 The Value of Conceptual Modelling 1.1 Computer science is IT system-oriented Computer system development is a complex process and needs abstraction, separation of concerns, approaches for handling complexity and mature support for communication within development teams. Models are one of the main artefacts for abstraction and complexity reduction. Computer science uses more than 50 different kinds of modelling languages and modelling approaches. Models have thus been a means for system construction for a long time. Models are widely used as an universal instrument whenever humans are involved and an understanding of computer properties is essential. They are enhanced by commonly accepted concepts and thus become conceptual models. The main deployment scenario for models and conceptual models is still system construction (with description, prescription, and coding sub-scenarios) although other scenarios became popular, e.g. documentation, communication, negotiation, conceptualisation, and learning. 1.2 Learning from Digital Hunanities Digital humanities is becoming a hyping buzzword nowadays due to digitalisation and due to over-applying computer technology.
    [Show full text]
  • Conceptual Model Evaluation. Towards More Paradigmatic Rigor Jan Recker1
    Conceptual Model Evaluation. Towards more Paradigmatic Rigor Jan Recker1 1 Centre for Information Technology Innovation Queensland University of Technology 126 Margaret Street, Brisbane QLD 4000, Australia [email protected] Abstract. Information Systems (IS) research has so far been primarily con- cerned with the development of new modeling languages, techniques, and methods. Also, evaluation approaches have been developed in order to assess the appropriateness of a modeling approach in a given context. Both modeling and evaluation approaches, however, lack epistemological rigor, leading to problems regarding the applicability of a certain modeling language in a given context on the one hand, and regarding the feasibility of certain evaluation ap- proaches towards certain modeling questions on the other hand. We therefore argue for a philosophical-paradigmatic discussion of evaluation methods for conceptual modeling languages in order to assess their applicability in given modeling contexts and present our research in progress towards a framework for paradigmatic discussion on model evaluation. Keywords. Philosophy, modeling methods, information modeling, research evaluation 1 Introduction The importance of information systems (IS) for successful businesses is widely rec- ognized [1]. Their implementation is preceded by their development through design methodologies which utilize information models to specify IS on a conceptual level. Such conceptual models have been successfully employed throughout IS theory and practice. This has led, however, to the proliferation of an enormous amount of avail- able modeling approaches. The “flooding” of the IS discipline with a multiplicity of conceptual modeling approaches consequently leads to an immanent need for com- paring and evaluating existing modeling methods in order to determine which ap- proach is most appropriate for a given modeling task.
    [Show full text]
  • Conceptual Modeling
    Conceptual Modeling Laurens Van Damme Table of contents • What are Conceptual models? • Conceptualization • Mental model • Conceptual model • How are Conceptual models different from others? • Nonnecessity • Requirements 2 What are Conceptual models? 3 Overview 4 Overview We all know what this is! 5 Overview 6 Conceptualization = set of concepts in the mind of an agent 7 Concept • Aristotle ±340BC • Cognitive processes ↳ makes, uses and transforms ↳ mental representations • Mental representations • Refer to / are about something • Non-conceptual (sensation) • Conceptual (thoughts/believes) https://www.nytimes.com/2016/05/27/world/europe/greece-aristotle-tomb.html 8 Concept Conceptual mental representation → Rely on representation primitives = concepts Concept • Reflects regularities in reality that are cognitively relevant to us • Cognitive filter → strip out properties unnecessary for the problem 9 Concept Example Navigating on the Belgian’s highways Ordering of road segments Road segment Intersection between road segments Filtered: width, distance of or traffic on the road segments https://en.wikipedia.org/wiki/List_of_motorways_in_Belgium 10 Conceptualization = set of concepts in the mind of an agent • Individual concepts (e.g., E19) • Relational concepts: associations that relate individual concepts https://thesaurus.plus/antonyms/conceptualization 11 Overview 12 Mental Model The external reality filtered through the lens of a conceptualization Different levels of generality: • Reflect general beliefs (e.g., every road segment has
    [Show full text]
  • On Using Conceptual Modeling for Ontologies
    On Using Conceptual Modeling for Ontologies S. Spaccapietra1, C. Parent2, C.Vangenot1 and N. Cullot3 1 Database Laboratory, EPFL, 1015 Lausanne, Switzerland [email protected], [email protected] 2 HEC-INFORGE, University of Lausanne, 1015 Lausanne, Switzerland [email protected] 3LE2I Laboratory of Business, University of Burgundy, 21000 Dijon, France [email protected] Abstract. Are database concepts and techniques suitable for ontology design and management? The question has been on the floor for some time already. It gets a new emphasis today, thanks to the focus on ontologies and ontology services due to the spread of web services as a new paradigm for information management. This paper analyzes some of the arguments that are relevant to the debate, in particular the question whether conceptual data models would adequately support the design and use of ontologies. It concludes suggesting a hybrid approach, combining databases and logic-based services.1 1. Introduction Nowadays, all major economic players have decentralized organizational structures, with multiple autonomous units acting in parallel. New information systems have to handle a variety of information sources, from proprietary ones to those available in web services worldwide. Their complexity is best controlled using a network of coordinated web services capable of grasping relevant information wherever it may be and exchanging information with all potential partners. Data semantics is at the heart of such multi-agent systems. Interacting agents in an open environment do not necessarily share a common understanding of the world at hand, as used to be the case in traditional enterprise information systems.
    [Show full text]
  • A Multi-Paradigm Modeling Framework for Modeling and Simulating Problem Situations
    Proceedings of the 2014 Winter Simulation Conference A. Tolk, S. Y. Diallo, I. O. Ryzhov, L. Yilmaz, S. Buckley, and J. A. Miller, eds. A MULTI-PARADIGM MODELING FRAMEWORK FOR MODELING AND SIMULATING PROBLEM SITUATIONS Christopher Lynch Jose Padilla Saikou Diallo John Sokolowski Catherine Banks Virginia Modeling, Analysis and Simulation Center Old Dominion University 1030 University Boulevard Suffolk, VA 23435, USA ABSTRACT This paper proposes a multi-paradigm modeling framework (MPMF) for modeling and simulating problem situations (problems whose specification is not agreed upon). The MPMF allows for a different set of questions to be addressed from a problem situation than is possible through the use of a single modeling paradigm. The framework identifies different levels of granularity (macro, meso, and micro) from what is known and assumed about the problem situation. These levels of granularity are independently mapped to different modeling paradigms. These modeling paradigms are then combined to provide a comprehensive model and corresponding simulation of the problem situation. Finally, the MPMF is implemented to model and simulate the problem situation of representing the spread of obesity. 1 INTRODUCTION When building models and simulations, it is desirable to have a well-defined problem and an agreed upon solution for representing that problem, yet most models depart from this premise. This is difficult to achieve when representing problem situations where there is no agreed upon specification due to differences in opinions of the team (Vennix, 1999). Modeling this type of problem has been addressed by reaching a consensus on what the problem is as proposed in soft-systems methodology (Checkland, 2000).
    [Show full text]
  • A Conceptual Model of Software Development
    Extracted form Ph. Kruchten: Software project management with OpenUP Draft April 2007 A Conceptual Model of Software Development A software project is temporary endeavour intended to create a new software product or service, or the software part of a software-intensive system. It is temporary in the sense that it has a definite beginning and a definite end, in contrast with a continuous endeavour, such as running the IT operations of an organization. A software project has specific and sometimes conflicting objectives and many constraints of diverse nature, mainly technical, temporal and financial. Software project management is therefore the art of balancing competing objectives, managing risks, and overcoming constraints to successfully deliver a product which meets the needs of both customers and users (the customer paying the bill not always being the end-user). A conceptual model of software development To explore the many facets of software project management, we will first introduce a conceptual model of software development. This model (or ontology) of software projects is organized around eight key concepts and their relationships: 1. Intent 2. Product 3. Work 4. People 5. Time 6. Quality 7. Risk 8. Project Intent The concept of Intent denotes what the project is trying to achieve. The Intent defines the scope of the project, the intentions and hopes of the key stakeholders, the objectives. While we think of the intent as “the requirements” or “the specification”, in practice Intent may take many diverse forms: a set of tests that the product must pass contributes to define Intent. A set of software problem reports that must be dealt with also indirectly defines Intent.
    [Show full text]
  • Conceptual Modeling for Virtual Reality
    Conceptual Modeling for Virtual Reality Olga De Troyer, Frederic Kleinermann, Bram Pellens, and Wesley Bille WISE Research Lab Vrije Universiteit Brussel Pleinlaan 2, B-1050 Brussel, Belgium {olga.detroyer,frederic.kleinermann,bram.pellens, Wesley.Bille}@vub.ac.be Abstract that the development of VR applications directly starts at the implementation level. The virtual world that needs to This paper explores the opportunities and challenges for be created must be expressed in terms of low level VR Conceptual Modeling in the domain of Virtual Reality building blocks, such as textures, shapes, sensors, (VR). VR applications are becoming more feasible due to interpolators, etc. This requires a considerable amount of better and faster hardware, and due to new technology and background knowledge in VR. In addition, it makes the faster network connections they also start to appear on the gap between the application domain and the level at Internet. However, the development of such applications which the virtual world needs to be specified very large, is still a specialized, time-consuming and expensive and this makes the translation from the concepts in the process. By introducing a Conceptual Modeling phase application domain into implementation concepts a very into the development process of VR applications, a difficult issue. number of the obstacles preventing a quick spread of this type of applications can be removed. However, existing Like for other domains, introducing a Conceptual Design Conceptual Modeling techniques are too limited for phase in the development process of a VR application modeling a VR application in an appropriate way. The may help the VR community in several ways.
    [Show full text]
  • Conceptual Model Building -101 November 2018 Overview
    Conceptual Model Building -101 November 2018 Overview Introduction to Health Behavior Theory Basics of designing a theory-informed conceptual model to better understand health behavior Understanding the link between a theory-informed conceptual model and a logic model Part 1. Introduction to Health Behavior Theory What health behaviors help to prevent chronic disease? What factors facilitate these health behaviors? What factors prevent these health behaviors? As you can see…there are many factors that influence behavior. So, where do you start? Social Ecological Model CDC’s version of Social Ecological Model Ecological Model of Predictors of Childhood Overweight Community, demographic, and societal characteristics Ethnicity Socioeconomic Parenting styles and status family characteristics School foods& Child feeding Peer and sibling drinks practices interactions Child characteristics Crime rates and Types of foods and child risk factors Family TV neighborhood available in the viewing safety Gender Age home Parent CHILD monitoring of Work hours Nutritional DIETARY WEIGHT SEDENTARY child TV knowledge INTAKE STATUS BEHAVIOR viewing Knowledge & School PHYSICAL Parent preference physical Parent dietary Attitudes Familial ACTIVITY for activity education intake susceptibility to program weight gain Parent activity Leisure time Parent food patterns preferences Parent Parent weight encouragement of status child activity Accessibility of Family leisure recreational time activity facilities Accessibility of convenience Adapted from: Davison & Birch. foods and restaurants 2001 Decision-Oriented Theories Underlying Psychology Core Insight - Behavior is determined by perceptions of costs and benefits that would occur if one performed the behavior -HBM and other theories differ in how they calculate the benefits and the costs Modifications -Behavior is determined by perceptions of costs and benefits if one performed the behavior and about ability to perform the behavior.
    [Show full text]
  • 3 Scientific Models
    Name Class Date CHAPTER 1 The World of Life Science SECTION3 Scientific Models BEFORE YOU READ After you read this section, you should be able to answer these questions: • How do scientists use models? • What are scientific theories and laws? What Are Models? You need a microscope to see inside most cells. How STUDY TIP can you learn about the parts of a cell if you don’t have Learn New Words As you a microscope? One way is to use a model. Scientists use read, underline words you models to learn about things that they cannot see or don’t know. When you fi gure out what they mean, touch. write the words and their A model is something scientists use to represent an defi nitions in your notebook. object or event to make it easier to study. Scientists study models to learn how things work or are made in the natural world. However, you cannot learn everything by studying a model, because models are not exactly like the objects they represent. Some types of scientific models are physical models, mathematical models, and conceptual models. READING CHECK 1. Explain Why can’t you PHYSICAL MODELS learn everything about an A toy rocket and a plastic skeleton are examples of object or event by studying a physical models. Physical models are models that you model? can see or touch. Many physical models look like the things they represent. The figure shows students using a model of a human body to learn how the body works. However, because the model is not alive, the students cannot learn exactly how the body functions.
    [Show full text]
  • Ontology and Information Systems
    Ontology and Information Systems 1 Barry Smith Philosophical Ontology Ontology as a branch of philosophy is the science of what is, of the kinds and structures of objects, properties, events, processes and relations in every area of reality. ‘Ontology’ is often used by philosophers as a synonym for ‘metaphysics’ (literally: ‘what comes after the Physics’), a term which was used by early students of Aristotle to refer to what Aristotle himself called ‘first philosophy’.2 The term ‘ontology’ (or ontologia) was itself coined in 1613, independently, by two philosophers, Rudolf Göckel (Goclenius), in his Lexicon philosophicum and Jacob Lorhard (Lorhardus), in his Theatrum philosophicum. The first occurrence in English recorded by the OED appears in Bailey’s dictionary of 1721, which defines ontology as ‘an Account of being in the Abstract’. Methods and Goals of Philosophical Ontology The methods of philosophical ontology are the methods of philosophy in general. They include the development of theories of wider or narrower scope and the testing and refinement of such theories by measuring them up, either against difficult 1 This paper is based upon work supported by the National Science Foundation under Grant No. BCS-9975557 (“Ontology and Geographic Categories”) and by the Alexander von Humboldt Foundation under the auspices of its Wolfgang Paul Program. Thanks go to Thomas Bittner, Olivier Bodenreider, Anita Burgun, Charles Dement, Andrew Frank, Angelika Franzke, Wolfgang Grassl, Pierre Grenon, Nicola Guarino, Patrick Hayes, Kathleen Hornsby, Ingvar Johansson, Fritz Lehmann, Chris Menzel, Kevin Mulligan, Chris Partridge, David W. Smith, William Rapaport, Daniel von Wachter, Chris Welty and Graham White for helpful comments.
    [Show full text]
  • Conceptual Modeling of Time for Computational Ontologies
    IJCSNS International Journal of Computer Science and Network Security, VOL.20 No.6, June 2020 1 Conceptual Modeling of Time for Computational Ontologies Sabah Al-Fedaghi [email protected] Computer Engineering Department, Kuwait University, Kuwait 1.1 Ontologies and Conceptual Modeling Summary To provide a foundation for conceptual modeling, To provide a foundation for conceptual modeling, ontologies have been introduced to specify the entities, the ontologies have been introduced to specify the entities, the existences of which are acknowledged in the model [4]. existences of which are acknowledged in the model. Conceptual modeling involves “representing aspects of the Ontologies are essential components as mechanisms to world for the purpose of understanding and communication model a portion of reality in software engineering. In this context, a model refers to a description of objects and [, and hence] the contribution of a conceptual modeling notation rests in its ability to promote understanding about processes that populate a system. Developing such a description constrains and directs the design, development, the depicted reality among human users” [5]. Conceptualization refers to abstracting a given portion of and use of the corresponding system, thus avoiding such difficulties as conflicts and lack of a common reality that “exists beyond our concepts” [6], i.e., entities and processes that “exist” in the domain of the modeled understanding. In this cross-area research between modeling and ontology, there has been a growing interest system (note that what there may not be what exists – see [7]). It is also stated that ontology is “an explicit in the development and use of domain ontologies (e.g., Resource Description Framework, Ontology Web specification of a conceptualization” [8].
    [Show full text]
  • Rapid Application Development
    Rapid Application Development Contact at EsperantoXL Ewoud Stuurman [email protected] +31 6 4835 3537 EsperantoXL BV. Rijnzathe 30 3454 PV DE MEERN Executive summary Rapid application development platforms provide a graphical model driven approach with pre-built application components which allow users to visually construct complex processes and applications without coding. This enables both technical and business individuals to orchestrate and deploy business applications with ease and speed. The right model driven development platform provides significant productivity advantages over traditional development methods and enables project delivery by smaller yet faster teams. Whether your business processes are unique, you need to distinguish yourself from the competition or you need the ability to adapt to fast changes in the market you operate in; rapid application development supports these needs. Key benefits: ✓ Cost effective and time saving ✓ Accelerate innovation by 9-12 months ✓ Easy to make adjustments ✓ Tailor made; use what you need ✓ Easy to integrate with current IT systems ✓ Simplified lifecycle management ✓ No coding ✓ Fast delivery ✓ Responsive applications for every platform Rapid Application Development Intro In today's world, markets change fast and companies need to be flexible to adapt to these changes. Also most companies find themselves in challenging environments due to fierce existing competitors and disrupting new start-ups. This requires an IT landscape that is able to quickly adapt, to support the organisation’s business, rather than the other way around, where the business needs to adapt to cope with the existing IT landscape. Developing transformative or disruptive applications at high speed to keep up with the changing markets, requires rapid experimentation, frequent iteration, and close collaboration between business and IT.
    [Show full text]