A Comparison of Modelling Frameworks. Norwegian Institute of Technology, Trondheim, Norway. The close relationship between the elds is indicated by a

Size: px
Start display at page:

Download "A Comparison of Modelling Frameworks. Norwegian Institute of Technology, Trondheim, Norway. The close relationship between the elds is indicated by a"

Transcription

1 A Comparison of Modelling Frameworks for Software Processes and Information Systems Reidar Conradi, Geir Magne Hydalsvik, Guttorm Sindre, Norwegian Institute of Technology, Trondheim, Norway. Abstract. This paper takes the position that software process modelling and information systems modelling are closely related in topic although research is performed by two rather distinct camps and approaches dier. We think that both elds would benet from more cooperation. The close relationship between the elds is indicated by a modelling example. Keywords: software process modelling, information systems modelling. 1 Introduction So far, research in software PM has been rather separate from the related eld of information systems (IS) modelling. Although not completely disjoint, there are basically two dierent groups of people involved each with their research projects, workshops and conferences. However, the problem domains are actually quite similar the only dierence being a shift in meta-level. Just like an information system supports an organizational information processing activity, a software process tool supports the activity of developing such systems. Indeed, this system (i.e. process support environment) is itself an information system, and software is itself information. Hence it is not surprising that the disciplines should be similar in topic: software process modelling has just narrowed the topic to investigating support for one specic kind of human information processing activity, namely software development. In conrast, information systems engineering considers information processing activities in general. The purpose of this paper is to illustrate through a simple modelling example that the dierence between the two elds is mostly in the approaches chosen, not in the problems which they have to deal with. Thus, a closer coupling between the elds should therefore be fruitful. For this exercise we use the PPP approach for information systems modelling, and the EPOS approach for software process modelling. 2 Examples 2.1 PPP The PPP (Phenomena, Process and Programs) environment [GLW91] is based on a certain development strategy for IS. A PPP model consists of four submodels using four dierent sub-languages: a Process Model (PrM) (an \activity model" from the PM view) based on structured analysis and data ow diagrams, a Phenomenon Model (PhM) based on the classical Entity{Relationship

2 datamodel with type inheritance, a Process Life Description (PLD) (operations) giving an algorithmic sequential description of some behaviour pattern, and a User Interface Description (UID) based on a diagrammatic, formal language for specifying any user interface. We will only give a short indication of the PrM sub-language. RESOURCE TIMER (DELAY) D on off signal P1 P2 PROCESS S1 AGENT STORE Fig. 1. Basic concepts of the PrM language. The basic concepts in PrM is shown in gure 1. It includes the fundamental concepts of processes, data ow, stores, and external entities. Additional concepts include ports, triggering rules and timers, this to remove vagueness and make the model executable. Graphical symbols for ports include AND, XOR, OR, repeated output and conditional output { or any combination of these. 2.2 EPOS-PM The EPOS PML or SPELL [CJM + 92] is used to describe product models (for passive artifacts), activity models (for \active" tasks), tool models (as envelopes), and to some degree role models and project models. SPELL is fully objectoriented data model with explicit relations, meta-types, and where tasks are special objects. We can say that SPELL is a concurrent, reective and persistent

3 PML, expressed in Prolog. It is a superset of the DDL/DML of the uniformly versioned EPOSDB. Process (sub)models in EPOS can be template models (schemas of types), enactable models (instances of such types), or enacting models (active task instances). Process models can be versioned (e.g. customised), and can evolve dynamically in a (sub)project context, utilising nested and cooperating transactions. We can dene both generic and specic process models, e.g. by subtyping of reusable model libraries. A project-specic template model is typically instantiated by a Planner and executed by an Execution Manager, our Process Interpreter. Tasks (activities) stand in a task network, and operate on products employing humans and tools { all dened by SPELL types. In this paper we will only consider EPOS-PM and associated Task Networks. Task DataEntity Input DataFlow Entry Action Exit Pre Code Post Output DataFlow DataEntity Fig. 2. Conceptual task model. Figure 2 shows a conceptual task model. Entry is the pre-condition to be met before Action initiation. The task will execute whenever its pre-condition becomes true. A task's Code part is responsible for causing its Post-condition to become true. A task network is a partially ordered network of tasks (boxes), edges (ows), and denoted data entities (circles). A task can be decomposed into a subtask network. 2.3 The IFIP Working Conference example The following example is a subset of the IFIP conference example that has been around for about 10 years, serving as a reference example in the information engineering communities. Activities to be undertaken can shortly be described as follows: 1. Prepare a list of persons who will receive information of the conference, and who are invited to contribute papers (call for papers). 2. Record letters of intent. 3. Record papers received.

4 4. Distribute papers among referees. 5. Record referee-reports and select papers for presentation. 6. Group papers into sessions and appoint chairman for each session. To keep the example short we will focus on a decomposition of \Distribute papers among referees". IFIP in PPP The solution depicted in Figure 3 is adopted from [Ber87]. It can briey be described as follows: When the current date reach the submission deadline, a signal will cause P3.1 to be activated (triggered). Before this process is allowed to execute, items P in S1 must be available. The output from this process consists of unchanged items P, and two signals Num. The processes P3.2 and P3.3 is activated in parallel, but process P3.3 must wait for \Paper Copies" generated by P3.2. The output port in process P3.2 shows a repetition. The original paper is stored in S3 and a number (Num) of copies in S3.1, and is repeated for all papers. Process P3.3 will send each paper to each referee and register this information in S2. P3: Distribute Papers Among Referees Deadline signal S3 Submitted Papers P3.1 P3.2 T Determine Number of Referees P Num T Copy Paper P T S1 Received Papers Num S3.1 Paper Copies. P3.3 Referees S2 Referee Info. T Select Referees S2 Referee Info. Fig. 3. PPP: Process Decomposition

5 IFIP in EPOS The solution depicted in Figure 4 is based on the PPP solution in the previous section. Only a task network instance is depicted, not the corresponding type specications and hierarchy. The task T3 is decomposed into three subtasks, taking as input a subset of T3's input and generating a subset of T3's output. The sequencing among tasks is obtained by dynamic PRE/POST-conditions over the status information of its input/output products. E.g. task T3.1 will execute at a specic point in time (i.e. the pre-condition reads the system clock and compares it to the task's deadline attribute), but only if there exists papers at this point in time. If so, task T3.1 will change the status of \Received Papers" from exists to counted, and create the entity \Num". A table of pre/post-conditions is outlined in Table 1. An external agent in EPOS is modelled through a task, as we assume that this TASK PRE POST Det.Numb.of.Ref. Rec.Pap.status = exists Rec.Pap.status = counted Num.status = created Copy Paper Rec.Pap.status = counted Rec.Pap.status = submitted Num.status = created Pap.Copy.status = created Select Ref. Pap.Copy.status = created Ref.Pac.status = created Num.status = created Ref.Info.status = exists Ref.Info.status = allocated Table 1. EPOS: Pre- and Postconditions task (sending a referee package) is found elsewhere, and thus we only produce its input. 2.4 Comparing the IFIP solutions The formalisms found in PPP and EPOS-PM are aimed at dierent problems: PPP at generating code (CASE-tool) and EPOS-PM at process enactment. However, both have the same building blocks of data entities, data ows, and input/output transformations. Comparing the two solutions results in the observations outlined below. Diagrammatic language: PPP have an explicit graphical representation of instances, ports, external agents, and time. This facilitates understandability, a prerequisite to conceptual modelling. However, these is no type-editor for PhM types. EPOS-PM is more language-oriented, and has a more primitive and not formalised (and thus user-controllable) graphical representation. Instances versus Types: PPP do not have explicit types and inheritance for PrM (activities), only for PhM (phenomenons). The PLD operations might also have been expressed by normal object-oriented procedures in the PhM

6 T3: Distribute Papers Among Referees Received Papers Referee Info. Received Papers T3.1 T3.2 Determine Number of Copy Paper Referees Num Paper Copies T3.3 Select Referees Received Papers Referee Package Referee Info. Fig. 4. EPOS: Task decomposition model. Adding these features would to some degree have unied three of the four PPP submodels, supporting e.g. reuse of task denitions and added exibility in the evolutive dimension. While PPP rely on instance specications, EPOS-PM rely on type specications. EPOS-PM task networks are incrementally and automatically (re-)generated by the Planner, observing the type specicatons on legal network structure. Flow among processes: PPP separates between real entities and information entities. Both PPP and EPOS-PM is dierentiating between single entities and sets of such. None of the formalisms dierentiates between signals and data. Control among processes: PPP has an explicit representation of sequence, choice, and repetitions (port symbols). In EPOS-PM this is implicitly dened by Pre/Post-conditions, although the ow is more implicit. Activation and deactivation of processes: PPP dierentiates between triggering and non-triggering signals. A PPP task is activated if it receives a triggering signal, then it executes its PLD and terminates when all the required output has been generated. An EPOS task is activated if its pre-condition becomes true, it then sequentially execute its code, generate all outputs, and then terminates (awaits further activation). The pre/post-condition of a task is \ANDconcatenated" by the corresponding conditions of its supertypes. Time: PPP has an explicit representation of time. In EPOS-PM this is modelled in terms of attributes and reading the system clock when evaluating the pre-condition. Constraints: None of the formalisms can express overall consistency rules.

7 3 Conclusion The paper has compared the disciplines of software PM and IS engineering, both with respect to the problems they are addressing and the approaches chosen. All in all, the problem areas are very analogous, but there are notable dierences in the approaches. These may partly be attributed to the historical background of the two research camps the IS eld originating from database research and the PM eld originating from programming language research. Whereas the modelling techniques used in IS has had a stronger emphasis on end-user comprehensibility, through diagrammatic representations of the models and various support for validation, PM is maybe using more low-level languages the research focussing on mechanisms to support system evolution and cooperation between developers. This is also illustrated by our example comparing the environments PPP and EPOS. Since there are strengths and weaknesses with both approaches, the two camps could have a lot to learn from each other. For instance, EPOS could benet from providing a more high-level diagrammatic modelling language along the lines of PPP, and PPP could benet from introducing object-oriented typing of activities and generally from a versioned transaction context, along the lines of EPOS. This work on comparison will be continued in an upstarting ESPRIT Basic Research Action, PROMOTER, where it will be applied to dierent scenarios and process management systems. Acknowledgement Thanks go to our colleagues, whose research and comments have made this paper possible, in particular Cristina Mazzi and Odd Ivar Lindland. References [Ber87] S. Berdal et al. Modelling an IFIP working conference. Technical Report DAISEE-79, Dept. of electrical engineering and computer science, Norwegian Institute of Technology, [CJM + 92] Reidar Conradi, M. Letizia Jaccheri, Cristina Mazzi, Amund Aarsten, and Minh Ngoc Nguyen. Design, use, and implementation of SPELL, a language for software process modeling and evolution. In J.-C. Derniame (ed.): Proc. from EWSPT'92, Sept. 7{8, Trondheim, Norway, Springer Verlag LNCS 635, pages 167{177, September [GLW91] J. A. Gulla, O. I. Lindland, and G. Willumsen. PPP an integrated CASE environment. In R. Andersen, J. A. Bubenko jr., and A. Slvberg, editors, Advanced Information Systems Engineering, Proc. CAiSE'91, Trondheim, pages 194{221, Heidelberg, Springer Verlag (LNCS 498).

8 epos/papers/pmis-ewspt94.tex November 10, 1993 This article was processed using the LaT E X macro package with LLNCS style

Process Model Evolution and Consistency Maintenance in EPOS. Weicheng Zhu, Reidar Conradi. Department of Computer Systems and Telematics

Process Model Evolution and Consistency Maintenance in EPOS. Weicheng Zhu, Reidar Conradi. Department of Computer Systems and Telematics Process Model Evolution and Consistency Maintenance in EPOS Weicheng Zhu, Reidar Conradi Department of Computer Systems and Telematics Norwegian Institute of Technology (NTH), Trondheim, Norway Submitted

More information

Brian Drabble, Je Dalton and Austin Tate

Brian Drabble, Je Dalton and Austin Tate Technical Report O-Plan Tasking Specication Brian Drabble, Je Dalton and Austin Tate Approved for public release; distribution is unlimited Articial Intelligence Applications Institute University of Edinburgh

More information

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Diego Sevilla 1, José M. García 1, Antonio Gómez 2 1 Department of Computer Engineering 2 Department of Information and

More information

security model. The framework allowed for quickly creating applications that examine nancial data stored in a database. The applications that are gene

security model. The framework allowed for quickly creating applications that examine nancial data stored in a database. The applications that are gene Patterns For Developing Successful Object-Oriented Frameworks Joseph W. Yoder August 27, 1997 1 Overview The work described here extends last years OOPSLA framework workshop paper [Yoder 1996] describing

More information

Acknowledgments 2

Acknowledgments 2 Program Slicing: An Application of Object-oriented Program Dependency Graphs Anand Krishnaswamy Dept. of Computer Science Clemson University Clemson, SC 29634-1906 anandk@cs.clemson.edu Abstract A considerable

More information

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA

More information

SAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group

SAMOS: an Active Object{Oriented Database System. Stella Gatziu, Klaus R. Dittrich. Database Technology Research Group SAMOS: an Active Object{Oriented Database System Stella Gatziu, Klaus R. Dittrich Database Technology Research Group Institut fur Informatik, Universitat Zurich fgatziu, dittrichg@ifi.unizh.ch to appear

More information

Chapter 6 Architectural Design

Chapter 6 Architectural Design Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 9 OO modeling Design Patterns Structural Patterns Behavioural Patterns

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

Agent-Oriented Software Engineering

Agent-Oriented Software Engineering Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented

More information

Assessing Process-centered Software Engineering

Assessing Process-centered Software Engineering Assessing Process-centered Software Engineering Environments Vincenzo Ambriola, Reidar Conradi, Alfonso Fuggetta Università di Pisa, NTH Trondheim, Politecnico di Milano Second revision, Version 2.0 26/12/96

More information

Contents. References 43

Contents. References 43 Contents 1 Atomicity Decomposition Part 1 - Overview and Background 1 1.1 Introduction................................... 1 1.2 Overview of Atomicity Decomposition Diagram in Event-B........ 1 1.3 Event-B

More information

PSEE Architecture: EPOS process models and tools

PSEE Architecture: EPOS process models and tools 1 PSEE Architecture: EPOS process models and tools Reidar Conradi et al. Norwegian Institute of Technology, N-7034 Trondheim, Norway Phone: +47 73 593444, Fax: +47 73 594466, Email: conradi@idt.unit.no

More information

Software Architecture. Lecture 4

Software Architecture. Lecture 4 Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check

More information

Analysis and Design with the Universal Design Pattern

Analysis and Design with the Universal Design Pattern Analysis and Design with the Universal Design Pattern by Koni Buhrer Software Engineering Specialist Rational Software Developing large software systems is notoriously difficult and unpredictable. Software

More information

Extending CDIF to Support Enterprise Modeling

Extending CDIF to Support Enterprise Modeling Extending CDIF to Support Enterprise Modeling Per Burman Submitted by Per Burman to the University of Skövde as a dissertation towards the degree of M.Sc. by examination and dissertation in the department

More information

Parametric and provisioning approaches are again obviously useful for various

Parametric and provisioning approaches are again obviously useful for various Parametric and provisioning approaches are again obviously useful for various kinds of generic descriptions and provide the most direct means of deriving their product architecture from the product line

More information

2 Texts and Text Styles The texts considered for generation in the current stage of the AGILE project are simplied versions of routine passages occurr

2 Texts and Text Styles The texts considered for generation in the current stage of the AGILE project are simplied versions of routine passages occurr Text Structuring in a Multilingual System for Generation of Instructions Ivana Kruij-Korbayova and Geert-Jan M. Kruij Institute of Formal and Applied Linguistics ( UFAL) Faculty of Mathematics and Physics,

More information

The Stepping Stones. to Object-Oriented Design and Programming. Karl J. Lieberherr. Northeastern University, College of Computer Science

The Stepping Stones. to Object-Oriented Design and Programming. Karl J. Lieberherr. Northeastern University, College of Computer Science The Stepping Stones to Object-Oriented Design and Programming Karl J. Lieberherr Northeastern University, College of Computer Science Cullinane Hall, 360 Huntington Ave., Boston MA 02115 lieber@corwin.ccs.northeastern.edu

More information

Virtual Multi-homing: On the Feasibility of Combining Overlay Routing with BGP Routing

Virtual Multi-homing: On the Feasibility of Combining Overlay Routing with BGP Routing Virtual Multi-homing: On the Feasibility of Combining Overlay Routing with BGP Routing Zhi Li, Prasant Mohapatra, and Chen-Nee Chuah University of California, Davis, CA 95616, USA {lizhi, prasant}@cs.ucdavis.edu,

More information

Software Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University

Software Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University Software Component Relationships Stephen H. Edwards Department of Computer Science Virginia Polytechnic Institute and State University 660 McBryde Hall Blacksburg, VA 24061-0106 Tel: (540)-231-7537 Email:

More information

Applying Experiences with Declarative Codifications of Software Architectures on COD

Applying Experiences with Declarative Codifications of Software Architectures on COD Applying Experiences with Declarative Codifications of Software Architectures on COD Position Paper Roel Wuyts Stéphane Ducasse Gabriela Arévalo roel.wuyts@iam.unibe.ch ducasse@iam.unibe.ch arevalo@iam.unibe.ch

More information

Configuration management for Lyee software

Configuration management for Lyee software Knowledge-Based Systems 16 (2003) 441 447 www.elsevier.com/locate/knosys Configuration management for Lyee software V. Gruhn*, R. Ijioui, D. Peters, C. Schäfer Faculty of Mathematics and Computer Science,

More information

agent: Project_Manager Multi-Designer Booch Multi-Designer Booch Class_Diagram Class_Diagram Identify_Relationships Reuse_Implementation

agent: Project_Manager Multi-Designer Booch Multi-Designer Booch Class_Diagram Class_Diagram Identify_Relationships Reuse_Implementation Programming Process Coordination in Little-JIL Barbara Staudt Lerner, Leon J. Osterweil, Stanley M. Sutton Jr., and Alexander Wise Computer Science Department University of Massachusetts Amherst, Massachusetts

More information

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean

More information

Cell-8 Cell-2 Cell-9 Cell-3 Cell-4. Cell-6

Cell-8 Cell-2 Cell-9 Cell-3 Cell-4. Cell-6 Team GAMMA: Agent Programming on Gaea NODA, Itsuki 1 noda@etl.go.jp ETL Umezono 1-1-4, Tsukuba Ibaraki 305, JAPAN 1 Introduction We are developing a new software methodology for building large, complicated

More information

A Framework-Solution for the. based on Graphical Integration-Schema. W. John, D. Portner

A Framework-Solution for the. based on Graphical Integration-Schema. W. John, D. Portner A Framework-Solution for the EMC-Analysis-Domain based on Graphical Integration-Schema W. John, D. Portner Cadlab - Analoge Systemtechnik, Bahnhofstrasse 32, D-4790 Paderborn, Germany 1 Introduction Especially

More information

CS:2820 (22C:22) Object-Oriented Software Development

CS:2820 (22C:22) Object-Oriented Software Development The University of Iowa CS:2820 (22C:22) Object-Oriented Software Development! Spring 2015 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this

More information

Architectural Design

Architectural Design Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database Extensions to SQL ODMG Object Model and the Object Definition Language ODL Object Database Conceptual

More information

SIF8035. Events and System Requirements

SIF8035. Events and System Requirements SIF8035 Lecture 4 DFD and PrM Events and System Requirements Events Occurrences at a specific time and place Trigger all system processing Requirement definition Determine relevant events External events

More information

A Comparative Study of Ontology Languages and Tools

A Comparative Study of Ontology Languages and Tools A Comparative Study of Ontology Languages and Tools Xiaomeng Su and Lars Ilebrekke Norwegian University of Science and Technology (NTNU) N-7491, Trondheim, Norway xiaomeng@idi.ntnu.no ilebrekk@stud.ntnu.no

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

More information

PPP. An Integrated CASE environment

PPP. An Integrated CASE environment PPP An Integrated CASE environment aon Atle Gulla Odd Ivar Lindland Geir Willumsen Department of Electrical Engineering and Computer Science The Norwegian Institute of Technology 7034 TRONDHEIM, NORWAY

More information

A Loosely Synchronized Execution Model for a. Simple Data-Parallel Language. (Extended Abstract)

A Loosely Synchronized Execution Model for a. Simple Data-Parallel Language. (Extended Abstract) A Loosely Synchronized Execution Model for a Simple Data-Parallel Language (Extended Abstract) Yann Le Guyadec 2, Emmanuel Melin 1, Bruno Ran 1 Xavier Rebeuf 1 and Bernard Virot 1? 1 LIFO - IIIA Universite

More information

The Architecture of a System for the Indexing of Images by. Content

The Architecture of a System for the Indexing of Images by. Content The Architecture of a System for the Indexing of s by Content S. Kostomanolakis, M. Lourakis, C. Chronaki, Y. Kavaklis, and S. C. Orphanoudakis Computer Vision and Robotics Laboratory Institute of Computer

More information

SOME TYPES AND USES OF DATA MODELS

SOME TYPES AND USES OF DATA MODELS 3 SOME TYPES AND USES OF DATA MODELS CHAPTER OUTLINE 3.1 Different Types of Data Models 23 3.1.1 Physical Data Model 24 3.1.2 Logical Data Model 24 3.1.3 Conceptual Data Model 25 3.1.4 Canonical Data Model

More information

Outline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations

Outline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations Outline Computer Science 331 Data Structures, Abstract Data Types, and Their Implementations Mike Jacobson 1 Overview 2 ADTs as Interfaces Department of Computer Science University of Calgary Lecture #8

More information

Abstract. This paper shows how parallelism has been integrated into

Abstract. This paper shows how parallelism has been integrated into Parallel Optimisation in the SCOOP Library Per Kristian Nilsen 1 and Nicolas Prcovic 2 1 SINTEF Applied Mathematics, Box 124 Blindern, 0314 Oslo, NORWAY E-mail: pkn@math.sintef.no 2 CERMICS-INRIA Sophia

More information

Outline. 1 About the course

Outline. 1 About the course Outline EDAF50 C++ Programming 1. Introduction 1 About the course Sven Gestegård Robertz Computer Science, LTH 2018 2 Presentation of C++ History Introduction Data types and variables 1. Introduction 2/1

More information

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1 ECE155: Engineering Design with Embedded Systems Winter 2013 Lecture 33 April 4, 2013 Patrick Lam version 1 Unied Modelling Language The Unied Modelling Language (UML) is a language for specifying and

More information

Software Architecture in Practice

Software Architecture in Practice Software Architecture in Practice Chapter 5: Architectural Styles - From Qualities to Architecture Pittsburgh, PA 15213-3890 Sponsored by the U.S. Department of Defense Chapter 5 - page 1 Lecture Objectives

More information

Generalized Document Data Model for Integrating Autonomous Applications

Generalized Document Data Model for Integrating Autonomous Applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract

More information

1.1 Jadex - Engineering Goal-Oriented Agents

1.1 Jadex - Engineering Goal-Oriented Agents 1.1 Jadex - Engineering Goal-Oriented Agents In previous sections of the book agents have been considered as software artifacts that differ from objects mainly in their capability to autonomously execute

More information

Conceptual Model for a Software Maintenance Environment

Conceptual Model for a Software Maintenance Environment Conceptual Model for a Software Environment Miriam. A. M. Capretz Software Engineering Lab School of Computer Science & Engineering University of Aizu Aizu-Wakamatsu City Fukushima, 965-80 Japan phone:

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships. Q 1) Attempt all the following questions: (a) Define the term cohesion in the context of object oriented design of systems? (b) Do you need to develop all the views of the system? Justify your answer?

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

(b) extended UML state machine diagram. (a) UML state machine diagram. tr D2 tr D1 D2 D1 D2

(b) extended UML state machine diagram. (a) UML state machine diagram. tr D2 tr D1 D2 D1 D2 A Semantic Model for the State Machine in the Unied Modeling Language Kevin Compton 1, James Huggins 3, and Wuwei Shen 1? 1 EECS Department, University of Michigan 1301 Beal Avenue, Ann Arbor, MI 48109-2122

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010 CS403- Database Management Systems Solved MCQS From Midterm Papers April 29,2012 MC100401285 Moaaz.pk@gmail.com Mc100401285@gmail.com PSMD01 CS403- Database Management Systems MIDTERM EXAMINATION - Spring

More information

SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2)

SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2) SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay Lecture #10 Process Modelling DFD, Function Decomp (Part 2) Let us continue with the data modeling topic. So far we have seen

More information

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development

More information

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) -

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) - Sistemas Digitais I LESI - 2º ano Lesson 5 - VHDL Prof. João Miguel Fernandes (miguel@di.uminho.pt) Dept. Informática - Introduction - VHDL was developed, in the mid-1980s, by DoD and IEEE. VHDL stands

More information

Chapter 11 Object and Object- Relational Databases

Chapter 11 Object and Object- Relational Databases Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

Object-Oriented and Cooperative Process Modelling in EPOS

Object-Oriented and Cooperative Process Modelling in EPOS Object-Oriented and Cooperative Process Modelling in EPOS 1 Reidar Conradi 1, Marianne Hagaseth, Jens-Otto Larsen, Minh Ngoc Nguyên, Bjørn P. Munch, Per H. Westby, Weicheng Zhu, Norwegian Institute of

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

POSD - a notation for presenting complex systems of processes

POSD - a notation for presenting complex systems of processes POSD - a notation for presenting complex systems of processes Abstract Peter Henderson 1 and Graham D Pratten 2 Keywords: legacy systems, distributed systems, adaptability, process modelling, dataflow

More information

Concurrent Programming Lecture 3

Concurrent Programming Lecture 3 Concurrent Programming Lecture 3 3rd September 2003 Atomic Actions Fine grain atomic action We assume that all machine instructions are executed atomically: observers (including instructions in other threads)

More information

1 Executive Overview The Benefits and Objectives of BPDM

1 Executive Overview The Benefits and Objectives of BPDM 1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will

More information

System. Functions Behavior Communication

System. Functions Behavior Communication Postmodern Software Design with NYAM: Not Yet Another Method Roel Wieringa Department of Computer Science University of Twente the Netherlands roelw@cs.utwente.nl? No Institute Given Abstract. This paper

More information

A Software Safety Argument Pattern Catalogue

A Software Safety Argument Pattern Catalogue A Software Safety Argument Pattern Catalogue R. Hawkins and T. Kelly {richard.hawkins\tim.kelly}@york.ac.uk Department of Computer Science The University of York Abstract This document presents a catalogue

More information

Reflection and Reification in Process System Evolution: experience and opportunity

Reflection and Reification in Process System Evolution: experience and opportunity Reflection and Reification in Process System Evolution: experience and opportunity R. Mark Greenwood 1, Dharini Balasubramaniam 2, Graham Kirby 2, Ken Mayes 1, Ron Morrison 2, Wykeen Seet 1, Brian Warboys

More information

Relation Renement in Object-Relation Data Models. Svein Erik Bratsberg and Erik Odberg, Div. of Computer Systems and Telematics,

Relation Renement in Object-Relation Data Models. Svein Erik Bratsberg and Erik Odberg, Div. of Computer Systems and Telematics, Relation Renement in Object-Relation Data Models Svein Erik Bratsberg and Erik Odberg, Div. of Computer Systems and Telematics, The Norwegian Institute of Technology, N-7034 Trondheim, Norway E-mail: sebra@idt.unit.no

More information

Martin P. Robillard and Gail C. Murphy. University of British Columbia. November, 1999

Martin P. Robillard and Gail C. Murphy. University of British Columbia. November, 1999 Migrating a Static Analysis Tool to AspectJ TM Martin P. Robillard and Gail C. Murphy Department of Computer Science University of British Columbia 201-2366 Main Mall Vancouver BC Canada V6T 1Z4 fmrobilla,murphyg@cs.ubc.ca

More information

Towards a Global Component Architecture for Learning Objects: An Ontology Based Approach

Towards a Global Component Architecture for Learning Objects: An Ontology Based Approach Towards a Global Component Architecture for Learning Objects: An Ontology Based Approach Katrien Verbert, Joris Klerkx, Michael Meire, Jehad Najjar, and Erik Duval Dept. Computerwetenschappen, Katholieke

More information

Parallel Rewriting of Graphs through the. Pullback Approach. Michel Bauderon 1. Laboratoire Bordelais de Recherche en Informatique

Parallel Rewriting of Graphs through the. Pullback Approach. Michel Bauderon 1. Laboratoire Bordelais de Recherche en Informatique URL: http://www.elsevier.nl/locate/entcs/volume.html 8 pages Parallel Rewriting of Graphs through the Pullback Approach Michel Bauderon Laboratoire Bordelais de Recherche en Informatique Universite Bordeaux

More information

Experimenting with Multi-Level Models in a Two-Level Modeling Tool

Experimenting with Multi-Level Models in a Two-Level Modeling Tool Experimenting with Multi-Level Models in a Two-Level Modeling Tool Martin Gogolla Database Systems Group, University of Bremen, Germany gogolla@informatik.uni-bremen.de Abstract. This paper discusses two

More information

Aligning Mal-activity Diagrams and Security Risk Management for Security Requirements Definitions

Aligning Mal-activity Diagrams and Security Risk Management for Security Requirements Definitions Aligning Mal-activity Diagrams and Security Risk Management for Security Requirements Definitions Mohammad Jabed Morshed Chowdhury 1, 2, Raimundas Matulevičius 1, Guttorm Sindre 2, and Peter Karpati 2

More information

First Steps Towards Conceptual Schema Testing

First Steps Towards Conceptual Schema Testing First Steps Towards Conceptual Schema Testing Albert Tort and Antoni Olivé Universitat Politècnica de Catalunya {atort,olive}@lsi.upc.edu Abstract. Like any software artifact, conceptual schemas of information

More information

Khoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety

Khoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety Data Parallel Programming with the Khoros Data Services Library Steve Kubica, Thomas Robey, Chris Moorman Khoral Research, Inc. 6200 Indian School Rd. NE Suite 200 Albuquerque, NM 87110 USA E-mail: info@khoral.com

More information

HyperFrame - A Framework for Hypermedia Authoring

HyperFrame - A Framework for Hypermedia Authoring HyperFrame - A Framework for Hypermedia Authoring S. Crespo, M. F. Fontoura, C. J. P. Lucena, D. Schwabe Pontificia Universidade Católica do Rio de Janeiro - Departamento de Informática Universidade do

More information

Design Patterns for Description-Driven Systems

Design Patterns for Description-Driven Systems Design Patterns for Description-Driven Systems N. Baker 3, A. Bazan 1, G. Chevenier 2, Z. Kovacs 3, T Le Flour 1, J-M Le Goff 4, R. McClatchey 3 & S Murray 1 1 LAPP, IN2P3, Annecy-le-Vieux, France 2 HEP

More information

Role based Software Process Modelling

Role based Software Process Modelling Role based Software Process Modelling Fadila Atil, Djamel Meslati, Nora Bounour & Said Ghoul * LRI Laboratory, University of Badji Mokhtar, BP 12, Annaba, Ageria * Institute of Computer science, university

More information

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer

More information

Managing your metadata efficiently - a structured way to organise and frontload your analysis and submission data

Managing your metadata efficiently - a structured way to organise and frontload your analysis and submission data Paper TS06 Managing your metadata efficiently - a structured way to organise and frontload your analysis and submission data Kirsten Walther Langendorf, Novo Nordisk A/S, Copenhagen, Denmark Mikkel Traun,

More information

Software Process Model Specification'

Software Process Model Specification' Software Process Model Specification' 22 M. Baldi and M. L. Iaccheri Dipartimento di Automatica e Informatica Corso Duca degliabruzzi 24, 10129 Torino, Italy Abstract The E3 process model specificatioo

More information

An Ontological Analysis of Metamodeling Languages

An Ontological Analysis of Metamodeling Languages An Ontological Analysis of Metamodeling Languages Erki Eessaar and Rünno Sgirka 2 Department of Informatics, Tallinn University of Technology, Estonia, eessaar@staff.ttu.ee 2 Department of Informatics,

More information

Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures

Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures Muhammad Ali Babar National ICT Australia Ltd. and University of New South

More information

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

More information

Transforming Transaction Models into ArchiMate

Transforming Transaction Models into ArchiMate Transforming Transaction Models into ArchiMate Sybren de Kinderen 1, Khaled Gaaloul 1, and H.A. (Erik) Proper 1,2 1 CRP Henri Tudor L-1855 Luxembourg-Kirchberg, Luxembourg sybren.dekinderen, khaled.gaaloul,

More information

model-driven development Separation of Concerns in Model-Driven Development

model-driven development Separation of Concerns in Model-Driven Development focus model-driven development Separation of Concerns in Model-Driven Development Vinay Kulkarni and Sreedhar Reddy, Tata Research Development and Design Centre To facilitate traceability, reuse, and evolution,

More information

Simulink/Stateflow. June 2008

Simulink/Stateflow. June 2008 Simulink/Stateflow Paul Caspi http://www-verimag.imag.fr/ Pieter Mosterman http://www.mathworks.com/ June 2008 1 Introduction Probably, the early designers of Simulink in the late eighties would have been

More information

Design Process Ontology Approach Proposal

Design Process Ontology Approach Proposal Design Process Ontology Approach Proposal Grzegorz J. Nalepa 1 and Weronika T. Furma«ska 1 Institute of Automatics, AGH University of Science and Technology, Al. Mickiewicza 30, 30-059 Kraków, Poland gjn@agh.edu.pl,

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University

More information

MeDUSA Method for Designing UML2-based Embedded System Software Architectures

MeDUSA Method for Designing UML2-based Embedded System Software Architectures MeDUSA Method for Designing UML2-based Embedded System Software Architectures Alexander Nyßen 1, Horst Lichter 1, Jan Suchotzki 2, Lukas Kurmann 3 1 Introduction MeDUSA (Method for Designing UML2-based

More information

Dimensions for the Separation of Concerns in Describing Software Development Processes

Dimensions for the Separation of Concerns in Describing Software Development Processes Dimensions for the Separation of Concerns in Describing Software Development Processes Pavel Hruby Navision Software Frydenlunds Allé 6 DK-2950 Vedbæk, Denmark ph@navision.com http://www.navision.com,

More information

Do! environment. DoT

Do! environment. DoT The Do! project: distributed programming using Java Pascale Launay and Jean-Louis Pazat IRISA, Campus de Beaulieu, F35042 RENNES cedex Pascale.Launay@irisa.fr, Jean-Louis.Pazat@irisa.fr http://www.irisa.fr/caps/projects/do/

More information

Lecture 1. Chapter 6 Architectural design

Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process

More information

A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN

A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN GARJE RAKESH RAMESHRAO RESEARCH SCHOLAR, DEPT. OF COMPUTER SCIENCE CMJ UNIVERSITY, SHILLONG, MEGHALAYA INTRODUCTION Object-oriented Analysis and Design is

More information

Ch 1: The Architecture Business Cycle

Ch 1: The Architecture Business Cycle Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures

More information