Deriving design aspects from canonical models

Size: px
Start display at page:

Download "Deriving design aspects from canonical models"

Transcription

1 Deriving design aspects from canonical models Bedir Tekinerdogan & Mehmet Aksit University of Twente Department of Computer Science P.O. Box AE Enschede, The Netherlands {bedir Abstract: Two fundamental issues in aspect orientation are the identification and the composition of aspects. We argue that aspects must be identified at the requirement and the domain analysis phases. We also propose a mechanism for gradually composing aspects throughout the software development process. We illustrate our ideas by using an example transaction system. keywords: aspect oriented design, aspect oriented programming, component composition 1. Introduction Software components can be defined as programming language abstractions. Examples of software components are procedures, data structures and objects. Programming languages are vehicles to express abstract executable mechanisms. Components can be identified by the use of heuristic rules in conventional methods. For example in OMT [Rumbaugh 91] tentative classes are identified by looking for nouns in a problem statement. The identified components are composed by means of the object-oriented composition mechanisms, such as inheritance, aggregation and association. Object-oriented methods define a number of heuristic rules to identify relations among components. In [Kiczales et al. 97], aspects are defined as properties that affect the performance or semantics of the components in systemic ways. Systemic characteristic of aspects implies that they can be considered as concepts. The term performance is a special case of the general term quality. Other quality examples are adaptability and reusability. From this point of view, aspects are concepts, which affect the quality and/or semantics of software components [Aksit & Tekinerdogan 98]. An aspect language is a language whose abstractions can directly represent one or more aspects. A trivial aspect is an aspect, which can be directly represented by a software component. This means that an aspect can show up as a software component (or can become trivial) if a suitable programming language can be designed for that aspect. Similar to object-oriented design, in aspect-oriented design, two issues appear to be important: identification of the abstraction models, that is, aspects and the composition of these aspects, or aspect weaving [Kiczales 97]. We will focus on these two issues in this paper. Regarding the aspect identification we argue that like objects, aspects should be identified during the requirement and the domain analysis phases. We will also discuss an approach in which aspects are gradually composed along the software development process. The outline of this paper is as follows: In the next section for illustration purposes we will give an example of a pilot project on atomic transaction systems for a car dealer management system. This example will be used throughout the paper. Section 3 will elaborate on our approach for aspect identification and aspect composition. Section 4 will give our conclusions. 2. Example: Systems for a Car Dealer System In order to illustrate our ideas we will shortly describe a pilot project which aims at designing an object-oriented atomic transaction framework to be used in a distributed car dealer management system 1. Data and processing in 1 This project is carried out together with Siemens-Nixdorf Software Center and supported by The Dutch Ministry of Economical Affairs under the SENTER program. 1

2 a car dealer management system are largely distributed and therefore serializability and recoverability of executions are required. Using atomic transactions [Bernstein 87], serializability and recoverability for a group of statements can be ensured. Serializability means that the concurrent execution of a group of transactions is equivalent to some serial execution of the same set of transactions. Recoverability means that each execution either completes successfully, or has no effect on data shared with other transactions. A car dealer management system is a data-intensive system that involves several applications with varying characteristics, operates in heterogeneous environments, and may incorporate different data formats. To achieve optimal behavior, each of these aspects may require transactions with dedicated serialization and recovery techniques. This requires transactions with dynamic adaptation of transaction behavior, optimized with respect to the application and environmental conditions, and data formats. The adaptation policy, therefore, must be determined by the programmers, the operating system or the data objects. Further, reusability of the software is considered as an important requirement to reduce development and maintenance costs. 3. Aspect abstraction and aspect composition Software development can be seen as a problem solving process in which the requirements represent the problem for which a programming solution is required. A software development process involves a number of steps, which produce various kinds of software artifacts. These steps can be considered as transitions between artifacts. No doubt, the early phases of the software development process includes concerns, which have a major impact on the final structure and quality of the software [Aksit 97]. We therefore, believe that aspects appear beyond the programming level and as such the identification of aspects should start at the levels of requirements engineering. Here the fundamental question is, given a problem domain like the transaction system, how should we abstract and identify the aspects? To address this issue, we propose the method described in Figure 1, which defines the basic steps needed to identify aspects in the earlier phases of the software development process. This method will be described in more detail in subsequent sections. CLIENT S WISH PROBLEM DOMAIN ASPECT- ORIENTED DESIGN 1. Requirements Analysis 2. Domain Analysis 6. Identify Rules for Aspect composition 3a. Conceptual Modeling 5. Aspect Composition Specification 3b. Aspect abstraction 4. Define design space Figure 1. The aspect modeling method 3.1 Requirements Analysis The first step in software development is the requirements analysis phase. The goal of the requirements analysis phase is to understand and capture the exact needs of the clients of a software system [Wieringa 96]. Requirements analysis deals with eliciting, analyzing and capturing the requirements of the client for which the software system is developed. systems From the requirements analysis of the distributed car dealer system [Tekinerdogan 96] it followed that because of the heterogeneity of the car dealer system adaptability was an important quality aspect. In addition, it was required that the transaction system should have an acceptable performance. We could extract four basic groups of aspects from the requirements analysis phase: Aspects related to the transaction models, aspects related to quality factors such as adaptability and performance and aspects related to the object model. 3.2 Domain Analysis Domain analysis aims at systematically identifying, formalizing and classifying the knowledge in problem domain in a reusable way. The basic steps of domain analysis are the identification of the knowledge sources, the data collection from the knowledge sources, data analysis of the extracted knowledge and knowledge modeling. Domain models are mainly derived by considering commonalities and variations between the 2

3 retrieved data. The basic difference between requirements analysis and domain analysis is that requirements analysis focuses on the requirements of one application whereas domain analysis attempts to model the knowledge of a wide range of related applications. The deliverables of domain analysis are a set of domain models, relations and rules that are common in a problem domain for the corresponding applications. Domain models can be represented in many ways, e.g. ER diagrams, object-oriented class diagrams, or just ordered text. In [Aksit et. al. 98] we applied domain analysis techniques to support the development of stable frameworks. 3.3 Conceptual modeling Requirements analysis extracts the potential aspects. Domain analysis collects knowledge about these aspects. The conceptual modeling process elaborates on the domain model to define canonical models. Canonical models are similar to concepts of the classical view [Smith & Medin 81]. Concepts are not chosen arbitrarily but are formed by abstracting the knowledge about instances. An identified concept is useful if it has meaningful differences with the existing concepts. The meaningfulness on its turn is defined by the context. In the following section we will illustrate the process of forming conceptual models for the example transaction system Conceptual Models for Adaptable System Domain Model A considerable number of textbooks and articles have been written on atomic transactions [Bernstein 87] [Elmagarmid 92]. After analyzing and comparing the literature, we noticed that most publications adopt a similar structure. This helped us to define the conceptual model of transaction systems, which is shown by Figure 2. The node represents a transaction block as defined by the programmer. The node Manager provides mechanisms for initiating, starting and terminating the transaction. It maintains the data objects that are affected by the transaction. If a transaction reaches its final state successfully, then the node Manager sends a commit message to the corresponding data objects to terminate the transaction. Otherwise, an abort message is sent to all the data objects to undo the effects of the transaction. PolicyManager adapts adapts manages Manager DataManager controls DataObject coordinates Scheduler coordinates RecoveryManager Figure 2. Conceptual model for transaction systems The node PolicyManager determines the strategy for optimizing the transaction behavior. In most publications, PolicyManager is included in Manager. We considered, however, transaction policies as a different concern, and therefore defined it as a separate node. The node DataManager controls the access to its DataObject, and includes the nodes Scheduler and RecoveryManager. The node Scheduler orders the incoming messages to achieve serializability. Scheduler may include deadlock avoidance and/or detection mechanisms. The node RecoveryManager keeps track of changes to the data object to recover from failures. A succinct representation of the conceptual model for transaction systems is as follows: = (TM, PM, DM, SC, RM) Hereby, the subconcepts TM, PM, DM, SC and RM represent Manager, PolicyManager, DataManager, Scheduler, and RecoveryManager respectively. Domain Coupling Aspect Potentially, all the domain elements may be coupled together. This coupling has also a great impact on the structure and the quality of the final software system. As such we consider the domain coupling also as an aspect. The coupling aspect can be defined as the Cartesian product of the domain elements: Domain Coupling = x 3

4 Adaptability As it was also stated in the adaptability workshop [Adaptability 96], we define adaptability as follows: Adaptability = (FX, AD) where FX represents the fixed concerns, and AD represents the adaptable concerns. Performance The performance of an implementation can be improved by using the following 3 criteria: implementing the efficient alternative, by run-time dispatching or by prioritization. In case most efficient alternative is selected, then all the aspects of the transaction system must be fixed and in lined. This will of course reduce the adaptability of the transaction system. In the criterion run-time dispatching, the performance affecting alternatives must be made adaptable, and a decision-maker must select the most efficient one. The prioritization approach requires a real-time language and operating system to control the executions based on priorities. Obviously, many of the alternatives conflict with each other. During the mapping process, the most appropriate alternatives must be selected based on the requirements and the design context. The performance model can now be defined as: Performance = (EA, DD, EP) Where the elements EA, DD and EP represent efficient alternative, dynamic dispatch and explicit prioritization respectively. Object Model The object model is defined as: ObjectModel = (CL, OP, AT) Hereby, the elements CL, OP and AT represent the concepts class, operation and attribute respectively. We define the object coupling aspects as follows: Object Coupling = (IN, AS, AG) where the elements IN, AS, and AG represent inheritance, association and aggregation respectively. 3.4 Define design space Jacobson defines information space as a space where information can be expressed [Jacobson 1992]. One may define models within an information space by using the concepts relevant to this information space. Objectoriented analysis and design methods and patterns are the instruments to define various kinds of models suitable for different stages of software development. The more powerful the instruments are, the larger the information space that software engineers can express. Our concept of design space is similar to the concept of information space. In our method the information space is defined as a Cartesian product of the identified aspects in the aspect identification process in step 3. Each of these aspects is derived from the concepts, which represent the abstraction of a wide range of domain instances. As such, the Cartesian product of these concepts represents the total design space. In [Aksit & Tekinerdogan 1998] we elaborate on the concept of design space and more specific on the concept of design algebra. For the adaptable transaction domain the design space is as follows: Design Space = ( x ) x ObjectModel x Object Coupling x Adaptability x Performance) = (TM, PM, SC, DM, RM) (TM, PM, SC, DM, RM) (CL, OP, AT) (IN, AS, AG) (FX, AD) (EA, DD, EP) The design space for the transaction problem domain has 6 dimensions, consisting of 5x5x3x3x2x3 = 1350 elements. Each element in this design space represents a design solution for the given problem domain. 4

5 3.5 Aspect composition specification Basically there are two ways for aspect composition. Composition at-once or gradual composition. In the composition at-once approach which is shown in Figure 3, one aspect composer composes all the identified aspects into to the final realization model. Model Adaptability Performance Aspect Realization Model Object Model Figure 3. Composition at-once of aspects The problem with this approach is that the aspect composer needs to deal with all the aspects at once which may be a difficult, error-prone and time-consuming process. In addition, not all the combinations of the design space may be possible or useful. It is therefore, not necessary to elaborate on all the elements of the design space. Accordingly, we need some mechanisms to restrict this large design space and exploit only the useful combinations. In order to meet this requirement we will gradually explore the useful combinations in this design space. Figure 4 shows this process of gradually refining the domain model with the appropriate aspects until the realization model is acquired. DM 1 DM 2 DM n select X S 1 X S 2 X RM CM 1 CM 2 CM m Figure 4. Gradual composition of aspects In Figure 4 we start with a Domain Model (DM) and define a design space by taking the Cartesian product with a Cross Model (CM). A cross-model may be a domain model, a quality model or a component model. From the resulted space a new model is selected which includes the useful and desired combinations. The selection is based on some design rules. This process is iterated until we have included all the aspects and domain models. The final result of this process is a realization model (RM). The realization model includes all the elements, which define the final implementation for the design problem. Figure 4 implies that we have several specific aspect composers during the software development process. The basic issue here is how to order the gradual aspect composition. Since we have 6 aspects we can apply the gradual aspect composition in 6!= 720 ways. This is a difficult task. We therefore apply some general rules to manage this situation. The most intuitive ordering is to start with the domain models and end with the component models. A possible ordering of aspect composition for the given example problem is as follows: (((((( x Adaptability) x Performance) x Object Model) x Coupling) x Object Relations) Figure 5 shows the ordering of the aspect composition process for this ordering. In this figure we see that for obtaining the final realization 6 specific aspect composers are used. Each aspect composer composes two aspects into one model. For example Adaptable composes transaction model M Trans and adaptability model M Adapt into a adaptable transaction model called M AdaptTrans. M AdaptTrans is further composed with the Performance model by the AdaptablePerformance. 5

6 M Trans Adaptable M Adapt M AdaptTrans M Perform Adaptable Performance Aspect M AdaptPerformTrans M Object Object Aspect or Component Legend M ObjectAdapt PerformTrans M ObjectAdapt PerformTrans DomainCoupling M CouplingObject AdaptPerformTrans M ObjectRel ObjectCoupling M RelatedCouplingObject AdaptPerformTrans ObjectRealization RealizationModel Figure 5. Gradual composition of aspects in transaction domain 3.6 Define aspect composition rules After we have determined the ordering of the aspect composers we must define the rules which will be applied in each specific aspect composer. In [Aksit & Tekinerdogan 98] we have described this process in more detail. For illustration purposes we only explain Adaptable of Figure 5. This aspect composer first takes the Cartesian product of with Adaptability: AdaptableSpace = x Adaptability = (TM PM DM SC RM) X (AD FX) = ( (TM, AD) (TM, FX) (PM, AD) (PM, FX) (DM, AD) (DM, FX) (SC, AD) (SC, FX) (RC, AD) (RC, FX) ) This defines the space of the adaptable transaction domain, whereby the elements of the product represent all the possible concepts of an adaptable transaction domain. We are not interested in all these combinations. The aspect composer Adaptable selects all the useful combinations from this design space and defines a new model called M Adapt. adapt: AS M Adapt This function can be implemented, by using a dialog interface. In the following dialog example, the software engineer is asked to determine whether the concept algorithm type should be made adaptable: DO YOU THINK THAT Manager SHOULD BE MADE ADAPTABLE? 6

7 In a similar way the adaptability type for the other transaction concepts range may be determined by such dialogs. Adaptable may for example come up with the following model. M Adapt = ((TM, AD), (PM, AD), (DM, AD), (SC, AD), (RM, FX)). This model will be further used/refined by the other aspect composers. The final aspect composer ObjectRealization will provide the implementation for the selected and woven aspects. 4. Conclusion In this paper we have proposed an approach for identification of proper aspects from the domain analysis and requirements analysis phases. The aspect composition can be done centrally by one composer or gradually by multiple composers along the software development process. We illustrated the practical applicability of gradually composing aspects. 5. References [Adaptability 96] M. Aksit, B. Tekinerdogan, L. Bergmans, K. Lieberherr, P. Steyaert, C. Lucas, & K. Mens, ECOOP 96 Adaptability in Object-Oriented Software Development Workshop, url: [Aksit 97] M. Aksit. Issues in Aspect-Oriented Programming, Position paper, AOP workshop, ECOOP 97. [Aksit & Tekinerdogan 98] M. Aksit & B. Tekinerdogan, Models for Composition of Design Aspects, University of Twente, Department of Computer Science, [Arrango 94] G. Arrango. Domain Analysis Methods. In Software Reusability, Schäfer, R. Prieto-Díaz, and M. Matsumoto (Eds.), Ellis Horwood, New York, New York, 1994, pp [Bernstein 87] P.A. Bernstein, V. Hadzilacos, & N. Goodman. Concurrency control and recovery in Database Systems. Addison-Wesley, [Elmagarmid 92] A. Elmagarmid (ed), Database Models for advanced applications, San Mateo, CA, Morgen Kaufmann, [Jacobson 92] I. Jacobson, M. Christerson, P. Jonsson & G. Overgaard, Object-Oriented Software Engineering - A Use Case Driven Approach, Addison-Wesley/ACM Press, [Kiczales et al. 97] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J-M. Loingtier and J. Irwin, Aspect-Oriented Programming, ECOOP 97 Conference proceedings, LNCS 1241, June 1997, pp [Smith & Medin 81] E.E. Smith & D.L. Medin. Categories and Concepts, Harvard University Press, [Tekinerdogan 96] B. Tekinerdogan. Requirements analysis of transaction processing in a distributed car dealer system. Technical report. University of Twente, [Wieringa 96] R.J. Wieringa. Requirements Engineering: Frameworks for understanding, Wiley,

Evaluating Architecture Implementation Alternatives based on Adaptability Concerns

Evaluating Architecture Implementation Alternatives based on Adaptability Concerns Evaluating Architecture Implementation Alternatives based on Adaptability Concerns Mehmet Aksit and Bedir Tekinerdogan TRESE project, CTIT and Department of Computer Science, University of Twente, P.O.

More information

Designing Software Architectures as a Composition of Specializations of Knowledge Domains

Designing Software Architectures as a Composition of Specializations of Knowledge Domains Designing Software Architectures as a Composition of Specializations of Knowledge Domains Mehmet Aksit 1, Francesco Marcelloni 2, Bedir Tekinerdogan 1, Charles Vuijst 1 and Lodewijk Bergmans 1, 3 1 TRESE

More information

Chapter 8 DERIVING DESIGN ALTERNATIVES BASED ON QUALITY FACTORS 1. INTRODUCTION

Chapter 8 DERIVING DESIGN ALTERNATIVES BASED ON QUALITY FACTORS 1. INTRODUCTION Chapter 8 DERIVING DESIGN ALTERNATIVES BASED ON QUALITY FACTORS Mehmet Ak!it and Bedir Tekinerdo"an TRESE Group, Department of Computer Science, University of Twente, postbox 2!7, 7500 AE, Enschede, The

More information

Deriving Object-Oriented Frameworks From Domain Knowledge

Deriving Object-Oriented Frameworks From Domain Knowledge Deriving Object-Oriented Frameworks From Domain Knowledge Mehmet Aksit 1, Bedir Tekinerdogan 1, Francesco Marcelloni 2 and Lodewijk Bergmans 1, 3 1 TRESE Project, Department of Computer Science, University

More information

A Meta-Model for Composition Techniques in Object-Oriented Software Development

A Meta-Model for Composition Techniques in Object-Oriented Software Development A Meta-Model for Composition Techniques in Object-Oriented Software Development Bedir Tekinerdogan Department of Computer Science University of Twente P.O. Box 217, 7500 AE Enschede, The Netherlands E-Mail:

More information

Modeling Heuristic Rules of Methods

Modeling Heuristic Rules of Methods Modeling Heuristic Rules of Methods Bedir 7HNLQHUGR DQÃÉÃ0HKPHWÃAkúLW TRESE project, Department of Computer Science, University of Twente, P.O. Box 217, 7500 AE Enschede, The Netherlands. email: {bedir

More information

Composition and Separation of Concerns in the Object-Oriented Model

Composition and Separation of Concerns in the Object-Oriented Model ACM Computing Surveys 28A(4), December 1996, http://www.acm.org/surveys/1996/. Copyright 1996 by the Association for Computing Machinery, Inc. See the permissions statement below. Composition and Separation

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

The 7 C s for Creating Living Software: A Research Perspective for Quality-Oriented Software Engineering

The 7 C s for Creating Living Software: A Research Perspective for Quality-Oriented Software Engineering Turk J Elec Engin, VOL.12, NO.2 2004, c TÜBİTAK The 7 C s for Creating Living Software: A Research Perspective for Quality-Oriented Software Engineering Mehmet AKŞİT University of Twente, Department of

More information

Reducing Quantization Error and Contextual Bias Problems in Object-Oriented Methods by Applying Fuzzy-Logic Techniques

Reducing Quantization Error and Contextual Bias Problems in Object-Oriented Methods by Applying Fuzzy-Logic Techniques Reducing Quantization Error and Contextual Bias Problems in Object-Oriented Methods by Applying Fuzzy-Logic Techniques Mehmet Aksit and Francesco Marcelloni TRESE project, Department of Computer Science,

More information

Using AOP to build complex data centric component frameworks

Using AOP to build complex data centric component frameworks Using AOP to build complex data centric component frameworks Tom Mahieu, Bart Vanhaute, Karel De Vlaminck, Gerda Janssens, Wouter Joosen Katholieke Universiteit Leuven Computer Science Dept. - Distrinet

More information

Presentation-abstraction-control Pattern

Presentation-abstraction-control Pattern Presentation-abstraction-control Pattern Mehmet Aksit CTIT and Department of Computer Science P.O. Box 217 7500 AE Enschede, The Netherlands aksit@cs.utwente.nl trese.cs.utwente.nl/~aksit Mehmet Aksit

More information

Composition Graphs: a Foundation for Reasoning about Aspect-Oriented Composition

Composition Graphs: a Foundation for Reasoning about Aspect-Oriented Composition s: a Foundation for Reasoning about Aspect-Oriented - Position Paper - István Nagy Mehmet Aksit Lodewijk Bergmans TRESE Software Engineering group, Faculty of Computer Science, University of Twente P.O.

More information

Correctness Criteria Beyond Serializability

Correctness Criteria Beyond Serializability Correctness Criteria Beyond Serializability Mourad Ouzzani Cyber Center, Purdue University http://www.cs.purdue.edu/homes/mourad/ Brahim Medjahed Department of Computer & Information Science, The University

More information

Variability in Service-Oriented Systems: An Analysis of Existing Approaches

Variability in Service-Oriented Systems: An Analysis of Existing Approaches Variability in -Oriented Systems: An Analysis of Existing Approaches Holger Eichelberger, Christian Kröher, and Klaus Schmid Software Systems Engineering, University of Hildesheim Marienburger Platz 22,

More information

Dynamic Weaving for Building Reconfigurable Software Systems

Dynamic Weaving for Building Reconfigurable Software Systems Dynamic Weaving for Building Reconfigurable Software Systems FAISAL AKKAWI Akkawi@cs.iit.edu Computer Science Dept. Illinois Institute of Technology Chicago, IL 60616 ATEF BADER abader@lucent.com Lucent

More information

Product Line Evolution Using Source Packages

Product Line Evolution Using Source Packages Product Line Evolution Using Source Packages Arie van Deursen Merijn de Jonge CWI P.O. Box 94079, 1090 GB Amsterdam, The Netherlands http://www.cwi.nl/ {arie,mdejonge} Abstract We present a language-independent

More information

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

More information

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective

More information

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

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

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

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

Real-Time Specification Inheritance Anomalies and Real-Time Filters

Real-Time Specification Inheritance Anomalies and Real-Time Filters Real-Time Specification Inheritance Anomalies and Real-Time Filters Mehmet Aksit Jan Bosch William van der Sterren * Lodewijk Bergmans TRESE project Department of Computer Science University of Twente

More information

Implementing Software Connectors through First-Class Methods

Implementing Software Connectors through First-Class Methods Implementing Software Connectors through First-Class Methods Cheoljoo Jeong and Sangduck Lee Computer & Software Technology Laboratory Electronics and Telecommunications Research Institute Taejon, 305-350,

More information

Separation of Concerns

Separation of Concerns Separation of Concerns Erik Ernst Dept. of Computer Science, University of Aarhus, Denmark eernst@daimi.au.dk Abstract. Separation of concerns is a crucial concept in discussions about software engineering

More information

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) ) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) Transactions - Definition A transaction is a sequence of data operations with the following properties: * A Atomic All

More information

Designing Aspect-Oriented Crosscutting in UML

Designing Aspect-Oriented Crosscutting in UML Designing Aspect-Oriented Crosscutting in UML Dominik Stein, Stefan Hanenberg, and Rainer Unland Institute for Computer Science University of Essen, Germany {dstein shanenbe unlandr}@cs.uni-essen.de ABSTRACT

More information

extrinsic members RoleB RoleA

extrinsic members RoleB RoleA ASPECT- ORIENTED PROGRAMMING FOR ROLE MODELS Elizabeth A. Kendall Department of Computer Science, Royal Melbourne Institute of Technology GPO Box 2476V, Melbourne, VIC 3001, AUSTRALIA email: kendall@rmit.edu.au

More information

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

Lecturer: Sebastian Coope Ashton Building, Room G.18   COMP 201 web-page: Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 19 Essentials of Class Models 1 On Naming classes

More information

CISC 322 Software Architecture

CISC 322 Software Architecture CISC 322 Software Architecture UML - The Unified Modelling Language Nicolas Bettenburg 1 DEFINITION The Unified Modelling Language (UML) is a graphical language for visualizing, specifying, constructing,

More information

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT) OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE () Ahmed Hayajneh, May 2003 1 1 Introduction One of the most popular object-oriented development techniques today is the Object Modeling

More information

A REVIEW OF BASIC KNOWLEDGE OF DATABASE SYSTEM

A REVIEW OF BASIC KNOWLEDGE OF DATABASE SYSTEM A REVIEW OF BASIC KNOWLEDGE OF DATABASE SYSTEM 1. Relational model I still remember it is my first time to read such an academic article in detail. I have to say that it s really a hard time for me at

More information

STRUCTURING CRITERIA FOR THE DESIGN OF COMPONENT-BASED REAL-TIME SYSTEMS

STRUCTURING CRITERIA FOR THE DESIGN OF COMPONENT-BASED REAL-TIME SYSTEMS STRUCTURING CRITERIA FOR THE DESIGN OF COMPONENT-BASED REAL-TIME SYSTEMS Aleksandra Tešanović and Jörgen Hansson Department of Computer Science, Linköping University, Sweden {alete,jorha}@ida.liu.se ABSTRACT

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative

More information

INTEGRATING DESIGN RATIONALE WITH A PROCESS MODEL

INTEGRATING DESIGN RATIONALE WITH A PROCESS MODEL INTEGRATING DESIGN RATIONALE WITH A PROCESS MODEL J. E. BURGE, D. C. BROWN AI in Research Group Department of Computer Science WPI, 100 Institute Road Worcester, MA 01609, USA Abstract. One goal for having

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Using Aspects to Make Adaptive Object-Models Adaptable

Using Aspects to Make Adaptive Object-Models Adaptable Using Aspects to Make Adaptive Object-Models Adaptable Ayla Dantas 1, Joseph Yoder 2, Paulo Borba 1, Ralph Johnson 2 1 Software Productivity Group Informatics Center Federal University of Pernambuco Recife,

More information

PIP: Progressive Implementation Pattern

PIP: Progressive Implementation Pattern PIP: Progressive Implementation Pattern Sérgio Soares and Paulo Borba Informatics Center Federal University of Pernambuco Intent Tame complexity and improve development productivity. Reduce the impact

More information

Base Architectures for NLP

Base Architectures for NLP Base Architectures for NLP Tom Mahieu, Stefan Raeymaekers et al. Department of Computer Science K.U.Leuven Abstract Our goal is to develop an object-oriented framework for natural language processing (NLP).

More information

Aspect-Orientation from Design to Code

Aspect-Orientation from Design to Code Aspect-Orientation from Design to Code Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany groher@informatik.tu-darmstadt.de Thomas Baumgarth Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739

More information

Using Aspects to Make Adaptive Object-Models Adaptable

Using Aspects to Make Adaptive Object-Models Adaptable Using Aspects to Make Adaptive Object-Models Adaptable Ayla Dantas 1, Joseph Yoder 2, Paulo Borba, and Ralph Johnson 1 Software Productivity Group Informatics Center Federal University of Pernambuco Recife,

More information

A Proposal For Classifying Tangled Code

A Proposal For Classifying Tangled Code A Proposal For Classifying Tangled Code Stefan Hanenberg and Rainer Unland Institute for Computer Science University of Essen, 45117 Essen, Germany {shanenbe, unlandr@csuni-essende Abstract A lot of different

More information

Model Composition Directives

Model Composition Directives Model Composition Directives Greg Straw, Geri Georg, Eunjee Song, Sudipto Ghosh, Robert France, and James M. Bieman Department of Computer Science Colorado State University, Fort Collins, CO, 80523 {straw,

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

UML Aspect Specification Using Role Models

UML Aspect Specification Using Role Models UML Aspect Specification Using Role Models Geri Georg Agilent Laboratories, Agilent Technologies, Fort Collins, USA geri_georg@agilent.com Robert France Department of Computer Science, Colorado State University

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

A Design Rationale Representation for Model-Based Designs in Software Engineering

A Design Rationale Representation for Model-Based Designs in Software Engineering A Design Rationale Representation for Model-Based Designs in Software Engineering Adriana Pereira de Medeiros, Daniel Schwabe, and Bruno Feijó Dept. of Informatics, PUC-Rio, Rua Marquês de São Vicente

More information

Open Reuse of Component Designs in OPM/Web

Open Reuse of Component Designs in OPM/Web Open Reuse of Component Designs in OPM/Web Iris Reinhartz-Berger Technion - Israel Institute of Technology ieiris@tx.technion.ac.il Dov Dori Technion - Israel Institute of Technology dori@ie.technion.ac.il

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

Multi-Dimensional Separation of Concerns and IBM Hyper/J

Multi-Dimensional Separation of Concerns and IBM Hyper/J Multi-Dimensional Separation of Concerns and IBM Hyper/J Technical Research Report Barry R. Pekilis Bell Canada Software Reliability Laboratory Electrical and Computer Engineering University of Waterloo

More information

Resource Estimation for Objectory Projects

Resource Estimation for Objectory Projects Resource Estimation for Objectory Projects Gustav Karner Objective Systems SF AB Torshamnsgatan 39, Box 1128 164 22 Kista email: gustav@os.se September 17, 1993 Abstract In order to estimate the resources

More information

Using Functional Characteristics to Analyze State Changes of Objects

Using Functional Characteristics to Analyze State Changes of Objects 94 Using Functional Characteristics to Analyze State Changes of Objects Uldis DONINS, Janis OSIS 1, Erika ASNINA and Asnate JANSONE Department of Applied Computer Science, Riga Technical University, Latvia

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

CM-OPL: An Ontology Pattern Language for the Configuration Management Task

CM-OPL: An Ontology Pattern Language for the Configuration Management Task CM-OPL: An Ontology Pattern Language for the Configuration Management Task Ana Carolina Almeida 1, Daniel Schwabe 2, Sérgio Lifschitz 2, Maria Luiza M. Campos 3 1 Dept. of Comp. Science State University

More information

Correctness Criteria Beyond Serializability

Correctness Criteria Beyond Serializability Comp. by: CsenthilkumaranGalleys0000875825 Date:3/11/08 Time:13:18:10 Stage:First Proof C Correctness Criteria Beyond Serializability MOURAD OUZZANI 1,BRAHIM MEDJAHED 2,AHMED Au1 K. ELMAGARMID 3 1 Cyber

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

An Aspect-Based Approach to Modeling Security Concerns

An Aspect-Based Approach to Modeling Security Concerns An Aspect-Based Approach to Modeling Security Concerns Geri Georg Agilent Laboratories, Agilent Technologies, Fort Collins, USA geri_georg@agilent.com Robert France, Indrakshi Ray Department of Computer

More information

UML-Based Conceptual Modeling of Pattern-Bases

UML-Based Conceptual Modeling of Pattern-Bases UML-Based Conceptual Modeling of Pattern-Bases Stefano Rizzi DEIS - University of Bologna Viale Risorgimento, 2 40136 Bologna - Italy srizzi@deis.unibo.it Abstract. The concept of pattern, meant as an

More information

FlowBack: Providing Backward Recovery for Workflow Management Systems

FlowBack: Providing Backward Recovery for Workflow Management Systems FlowBack: Providing Backward Recovery for Workflow Management Systems Bartek Kiepuszewski, Ralf Muhlberger, Maria E. Orlowska Distributed Systems Technology Centre Distributed Databases Unit ABSTRACT The

More information

A Type Graph Model for Java Programs

A Type Graph Model for Java Programs A Type Graph Model for Java Programs Arend Rensink and Eduardo Zambon Formal Methods and Tools Group, EWI-INF, University of Twente PO Box 217, 7500 AE, Enschede, The Netherlands {rensink,zambon}@cs.utwente.nl

More information

An Optimal Locking Scheme in Object-Oriented Database Systems

An Optimal Locking Scheme in Object-Oriented Database Systems An Optimal Locking Scheme in Object-Oriented Database Systems Woochun Jun Le Gruenwald Dept. of Computer Education School of Computer Science Seoul National Univ. of Education Univ. of Oklahoma Seoul,

More information

Bugdel: An Aspect-Oriented Debugging System

Bugdel: An Aspect-Oriented Debugging System Bugdel: An Aspect-Oriented Debugging System Yoshiyuki Usui and Shigeru Chiba Dept. of Mathematical and Computing Sciences Tokyo Institute of Technology 2-12-1-W8-50 Ohkayama, Meguro-ku Tokyo 152-8552,

More information

A practical and modular implementation of extended transaction models

A practical and modular implementation of extended transaction models Oregon Health & Science University OHSU Digital Commons CSETech January 1995 A practical and modular implementation of extended transaction models Roger Barga Calton Pu Follow this and additional works

More information

Towards a Goal-Oriented Requirements Methodology Based on the Separation of Concerns Principle

Towards a Goal-Oriented Requirements Methodology Based on the Separation of Concerns Principle Towards a Goal-Oriented Requirements Methodology Based on the Separation of Concerns Principle Geórgia Maria C. de Sousa and Jaelson Brelaz de Castro Centro de Informática Universidade Federal de Pernambuco

More information

LECTURE 3: SOFTWARE DESIGN. Software Engineering Mike Wooldridge

LECTURE 3: SOFTWARE DESIGN. Software Engineering Mike Wooldridge LECTURE 3: SOFTWARE DESIGN Mike Wooldridge 1 Design Computer systems are not monolithic: they are usually composed of multiple, interacting modules. Modularity has long been seen as a key to cheap, high

More information

Implementing Producers/Consumers Problem Using Aspect-Oriented Framework

Implementing Producers/Consumers Problem Using Aspect-Oriented Framework Implementing Producers/Consumers Problem Using Aspect-Oriented Framework 1 Computer Science Department School of Science Bangkok University Bangkok, Thailand netipan@iit.edu Paniti Netinant 1, 2 and Tzilla

More information

Behavioral Design Patterns Used in Data Structures Implementation

Behavioral Design Patterns Used in Data Structures Implementation Behavioral Design Patterns Used in Data Structures Implementation Niculescu Virginia Department of Computer Science Babeş-Bolyai University, Cluj-Napoca email address: vniculescu@cs.ubbcluj.ro November,

More information

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) ) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) Goal A Distributed Transaction We want a transaction that involves multiple nodes Review of transactions and their properties

More information

Dynamic Weaving for Building Reconfigurable Software Systems

Dynamic Weaving for Building Reconfigurable Software Systems Dynamic Weaving for Building Reconfigurable Software Systems JAGDISH LAKHANI lakhjag@iitedu Computer Science Dept Illinois Institute of Technology Chicago, IL 60616 FAISAL AKKAWI akkawif@iitedu Computer

More information

INFORMS 4th Conference on Information Systems and Technology. Generalizations as Data and Behavior Abstractions

INFORMS 4th Conference on Information Systems and Technology. Generalizations as Data and Behavior Abstractions INFORMS 4th Conference on Information Systems and Technology Generalizations as Data and Behavior Abstractions,..- Dale L. Lunsford The University of Southern Mississippi, College of Business Administration,

More information

Towards Reusable Heterogeneous Data-Centric Disentangled Parts

Towards Reusable Heterogeneous Data-Centric Disentangled Parts Towards Reusable Heterogeneous Data-Centric Disentangled Parts Michael Reinsch and Takuo Watanabe Department of Computer Science, Graduate School of Information Science and Technology, Tokyo Institute

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

Intro to Transaction Management

Intro to Transaction Management Intro to Transaction Management CMPSCI 645 May 3, 2006 Gerome Miklau Slide content adapted from Ramakrishnan & Gehrke, Zack Ives 1 Concurrency Control Concurrent execution of user programs is essential

More information

Using Domain-Specific Modeling to Generate User Interfaces for Wizards

Using Domain-Specific Modeling to Generate User Interfaces for Wizards Using Domain-Specific Modeling to Generate User Interfaces for Wizards Enis Afgan, Jeff Gray, Purushotham Bangalore University of Alabama at Birmingham Department of omputer and Information Sciences 1300

More information

Modeling the Dialogue Aspects of an Information System

Modeling the Dialogue Aspects of an Information System Association for Information Systems AIS Electronic Library (AISeL) ECIS 2000 Proceedings European Conference on Information Systems (ECIS) 2000 Modeling the Dialogue Aspects of an Information System M.

More information

An Analysis of Aspect Composition Problems

An Analysis of Aspect Composition Problems An Analysis of Aspect Composition Problems Wilke Havinga havingaw@cs.utwente.nl Istvan Nagy nagyist@cs.utwente.nl TRESE/Software Engineering group University of Twente, The Netherlands Lodewijk Bergmans

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

Model Driven Development of Context Aware Software Systems

Model Driven Development of Context Aware Software Systems Model Driven Development of Context Aware Software Systems Andrea Sindico University of Rome Tor Vergata Elettronica S.p.A. andrea.sindico@gmail.com Vincenzo Grassi University of Rome Tor Vergata vgrassi@info.uniroma2.it

More information

An Effective Class Hierarchy Concurrency Control Technique in Object-Oriented Database Systems

An Effective Class Hierarchy Concurrency Control Technique in Object-Oriented Database Systems An Effective Class Hierarchy Concurrency Control Technique in Object-Oriented Database Systems Woochun Jun and Le Gruenwald School of Computer Science University of Oklahoma Norman, OK 73019 wocjun@cs.ou.edu;

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2005 Vol. 4, No. 3 Special issue: 6th GPCE Young Researchers Workshop 2004 Feature

More information

AmI Design Process. 01QZP - Ambient intelligence. Fulvio Corno. Politecnico di Torino, 2017/2018

AmI Design Process. 01QZP - Ambient intelligence. Fulvio Corno. Politecnico di Torino, 2017/2018 AmI Design Process 01QZP - Ambient intelligence Fulvio Corno Politecnico di Torino, 2017/2018 Design Process http://dilbert.com/strips/comic/2002-02-20/ http://dilbert.com/strips/comic/2001-12-12/ 2017/2018

More information

Transaction Management Overview. Transactions. Concurrency in a DBMS. Chapter 16

Transaction Management Overview. Transactions. Concurrency in a DBMS. Chapter 16 Transaction Management Overview Chapter 16 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transactions Concurrent execution of user programs is essential for good DBMS performance. Because

More information

Component-Based Software Engineering TIP

Component-Based Software Engineering TIP Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.

More information

Transaction Processing Concurrency control

Transaction Processing Concurrency control Transaction Processing Concurrency control Hans Philippi March 14, 2017 Transaction Processing: Concurrency control 1 / 24 Transactions Transaction Processing: Concurrency control 2 / 24 Transaction concept

More information

University of Huddersfield Repository

University of Huddersfield Repository University of Huddersfield Repository Ghareb, Mazen and Allen, Gary Improving the Design and Implementation of Software Systems uses Aspect Oriented Programming Original Citation Ghareb, Mazen and Allen,

More information

Overview. Introduction to Transaction Management ACID. Transactions

Overview. Introduction to Transaction Management ACID. Transactions Introduction to Transaction Management UVic C SC 370 Dr. Daniel M. German Department of Computer Science Overview What is a transaction? What properties transactions have? Why do we want to interleave

More information

Design and Evolution of an Agent-Based CASE System for OOAD

Design and Evolution of an Agent-Based CASE System for OOAD Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering

More information

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 20 Concurrency Control Part -1 Foundations for concurrency

More information

Applying ISO/IEC Quality Model to Quality Requirements Engineering on Critical Software

Applying ISO/IEC Quality Model to Quality Requirements Engineering on Critical Software Applying ISO/IEC 9126-1 Quality Model to Quality Engineering on Critical Motoei AZUMA Department of Industrial and Management Systems Engineering School of Science and Engineering Waseda University azuma@azuma.mgmt.waseda.ac.jp

More information

Perspectives on User Story Based Visual Transformations

Perspectives on User Story Based Visual Transformations Perspectives on User Story Based Visual Transformations Yves Wautelet 1, Samedi Heng 2, and Manuel Kolp 2 1 KU Leuven, Belgium yves.wautelet@kuleuven.be, 2 LouRIM, Université catholique de Louvain, Belgium

More information

Transaction Management Overview

Transaction Management Overview Transaction Management Overview Chapter 16 CSE 4411: Database Management Systems 1 Transactions Concurrent execution of user programs is essential for good DBMS performance. Because disk accesses are frequent,

More information

Henning Koch. Dept. of Computer Science. University of Darmstadt. Alexanderstr. 10. D Darmstadt. Germany. Keywords:

Henning Koch. Dept. of Computer Science. University of Darmstadt. Alexanderstr. 10. D Darmstadt. Germany. Keywords: Embedding Protocols for Scalable Replication Management 1 Henning Koch Dept. of Computer Science University of Darmstadt Alexanderstr. 10 D-64283 Darmstadt Germany koch@isa.informatik.th-darmstadt.de Keywords:

More information

Design patterns of database models as storage systems for experimental information in solving research problems

Design patterns of database models as storage systems for experimental information in solving research problems Design patterns of database models as storage systems for experimental information in solving research problems D.E. Yablokov 1 1 Samara National Research University, 34 Moskovskoe Shosse, 443086, Samara,

More information

From Analysis to Design. LTOOD/OOAD Verified Software Systems

From Analysis to Design. LTOOD/OOAD Verified Software Systems From Analysis to Design 1 Use Cases: Notation Overview Actor Use case System X System boundary UCBase «extend» UCExt Actor A UCVar1 UCVar2 Extending case Generalization «include» Actor B UCIncl Included

More information

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box

More information

Analysing the navigational aspect

Analysing the navigational aspect A. M. Reina Dpto. Lenguajes y Sistemas Informáticos Universidad de Sevilla. e-mail: reinaqu@lsi.us.es Analysing the navigational aspect J. Torres Dpto. Lenguajes y Sistemas Informáticos Universidad de

More information

Characteristics of Runtime Program Evolution

Characteristics of Runtime Program Evolution Characteristics of Runtime Program Evolution Mario Pukall and Martin Kuhlemann School of Computer Science, University of Magdeburg, Germany {pukall, kuhlemann}@iti.cs.uni-magdeburg.de Abstract. Applying

More information