Modeling Systems Using Design Patterns

Size: px
Start display at page:

Download "Modeling Systems Using Design Patterns"

Transcription

1 Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, Bratislava, Slovakia Abstract. The possibility of the re-use of the design patterns brings into patterns more than it might seem. We use design patterns in method named pure design patterns phase. In described method we seek to take advantage of design patterns composition for complex solution of closer problems. We modified standard software development process with use of special phase, which by using design patterns as elementary modeling unit purport to describe majority of solution. In this paper we describe basic notation for model in this phase. Based on example with patterns Composite and Iterator we define general relation between any two patterns. 1 Motivation Current phases of software development process are fairly delimitated and defined except for some experimental projects. To find the exact limits between phases is becoming harder and harder, however. After business processes were defined and requirements were concretized, there was a place for analysts and designers to create a model of reality. In this phase, there is a need for narrow communication about modeled problems between analysts and designers. Designers need to zoom in reality described in the analysis. Based on the analysis, the designers need to define the design model. It is very important to remove all communication differences between the analysts and the designers as well as those between designers themselves. We want to be able to create a communication bridge between analysts and designers to define a terminological glossary, basic modeling units etc. We create a model in which analysts can find their required functionality and which offers designers view the realization of the defined functionality. There are several resources Supervisor: doc. Ing. Jana Minárová, PhD., Institute of Informatics and Software Engineering, Faculty of Informatics and Information Technologies STU in Bratislava M. Bieliková (Ed.), IIT.SRC 2005, April 27, 2005, pp

2 152 Jaroslav Jakubík how to attain this bridge. In this method the concept of design patterns according to catalogue [1] is used. By the described method, we want to refine differences between the analysis and the design to quickly come to an agreement between the analysts and the designers concerning the design model. 2 Introduction to problem Analysts know what and designers know how. There is a need to join these two views together into one model where analysts can see which part of the system is able to provide a required functionality and designers can have an apparent method how this model can be transform into a design. For this context we use older concept of design patterns. In each catalogue of design patterns, a lot of patterns described with various UML diagrams, examples and recommendations of use can be found. We can process this additional information and get a list of functionality which using of each design pattern brings. From an analyst s point of view, we have design pattern functionalities. On the other side, from the point of view of a designer, we have a way to implement a current pattern, entire view of a design and an implementation of the application, a way in which an application will be expandable in future and a lot of information from many experts in the domain of object oriented software development. 3 Related works There exist a lot of theories about design patterns composition. The main idea of these theories is that pattern glue with another (or the same) pattern together solves largest scope of problems. Whereas majority of publication concentrate on composing design patterns on class level such as [6] and that argue by various mathematical theories, we want to look on composition of design patterns on view of their functionality. We enable analysts and designers to speak the same language, which lighten and simplify mutual understanding. Concept of modeling with pure design patterns was used in [7, 8]. Authors based on publication of Alexander [9] defined two ways of composing design patterns. Straight modeling was distributed to two phases. In the first phase Analysis analysts list all related patterns. In second phase high level design designers keep patterns selected by analytics to three models Pattern-Level Model, Pattern-Level with Interfaces and Detailed Pattern-Level model. In each model designer explore new details of pattern and application domain. The last model can be transformed directly to class diagram. This method is very similar like our approach but it is concerned on special group of patterns named constructional patterns. Authors in thesis don t define any relations between patterns. There are many notations of saving metainformation about design patterns in concrete design. There are two mainly ways of these notations. First way is to extend

3 Modeling Systems Using Design Patterns 153 UML with resource exactly to extend UML for example UML Collaboration Notation [3], Stereotype annotation [4], Tagged Pattern Annotation [2]. Second way is to define visualization of design pattern in class diagrams for example Venn Diagram-Style Pattern Annotation [5], Dotted Bounding Pattern Annotation [4], Pattern: Role Annotation [5]. Basic modeling units in all of these notations are class, method or attribute in dependence of concrete notation. For our using there are all notations too detailed and didn t defined relations and their notations on pattern level. 4 Pure design patterns phase We define phase of software development process which fall into analysis and into design too. We named this phase as pure design patterns phase. In this phase we will not speak about classes and relations between them but we will speak about design patterns and relations between patterns. We create model in which we used only design patterns. Analysts know functionality of each pattern so they can create list of patterns which cover required functionality. Designers, based on other view of analysis and personal know-how, can define other patterns which can be added to analysts patterns for covering other problems. We have got a group of patterns which cover part of required functionality. The bigger is part covered with patterns the fewer problems in next phase of design. We used skills of other experts for support or fully ensure required functionality. 4.1 Relations between design patterns In following progress of pure design patterns phase based on analysts and designers is a need to define relationships between patterns. In general we can separate relationships to two groups: 1. general relationships - include relations between any of patterns except special cases 2. concrete relationships - is assigned to a enumerated group of patterns, where each pattern has its own role in relation Now, for express relation between two patterns we used continuous line, which says nothing about concrete relation between patterns and neither about role of pattern (or class as a part of pattern) in relation. We can conceive pattern as a subsystem which insure defined and known functionality. With this generalization we have got model, which consist of group of patterns expressed with subsystems and elementary relations between patterns expressed with continuous line.

4 154 Jaroslav Jakubík Fig. 1: Model of simple graphics editor in pure design patterns phase Now we can say that based on this model we came near from analysis to design as far as to implementation. This model doesn t represent material for definitive transformation from model of pure design patterns to concrete design. General relations between design patterns can be interpreted in different concept. We don t want go in this way. When we created model in pure design patterns phase with sufficient metainformation it must be definitive transformation and interpretation of this model to class diagram. In comparison with elementary relationship there is a need to have concrete definition of relations between patterns. 4.2 Example of defining relation between patterns As example of defining relation between patterns we define general relation based on principle of defining design patterns. In this process of definition we came out of our experiences of using patterns Composite and Iterator. Based on example of concrete relation we attempt to define general relation. Class Composite in design pattern Composite must wrap services of Container such as getting and iterating through elements from composite. With continuous iterating through elements of composite can class Composite use Iterator pattern. Class Composite of pattern Composite is in role of Client in Iterator pattern. This relation on class level is render on figure 2. Fig. 2: Join of design patterns Composite and Iterator through Client class in Iterator pattern on class layer

5 Modeling Systems Using Design Patterns 155 We informally define concrete relation between Composite and Iterator pattern. We split generalization of this concrete relation to two phases. In first phase we generalize pattern Composite to pattern A, which uses services of container or iterating through elements of container. Pattern A is in role of Client in pattern Iterator. For example we use pattern Iterator with pattern Interpreter according to figure 3. Fig. 3: Join of design patterns Interpreter and Iterator through Client class in Iterator pattern on class layer Based on first generalization we know how to use any pattern with pattern Iterator (if it is necessary). The next step in process of generalization is to generalize pattern Iterator to pattern B. Now we can compose any patterns by role of client. For example, rendered in figure 4, class Leaf from Composite pattern can be client in Strategy pattern. Class Leaf from Composite pattern is in role of Client in Strategy pattern. Let s name this relationship as follows: pattern A with class A1 used pattern B. Fig. 4: Relationship pattern A with class A1 uses pattern B explained on pattern Composite with class Leaf uses pattern Strategy on class layer

6 156 Jaroslav Jakubík We have got whole definition of relation between two patterns, but how can we write information about relationship to pure design patterns model? We need notation for writing relation to model. What kind of information we need to know for transform defined relation to class diagram? In this occurrence answer is very simple. We need to know pattern A and pattern B, which are connected with relation, and class A1 which is in Client role of pattern B. The last problem of definition process is graphical formulation of defined relation. We use current notation of UML and pattern express as subsystems as we defined before. Fig. 5: Notation of relationship pattern A with class A1 uses pattern B We express relation pattern A with class A1 uses pattern B as a continuous line ended with arrow in pattern B. We must now reflect necessary metainformation in model. In this case it s only class A1. We inscribe class A1, which is Client in pattern B, above continuous line expressed relation near pattern A. Example of this notation is on figure Verification The suggested approach into the software development and modeling has not been verified in a commercial project, yet. This approach was used in two smaller experimental projects but in these cases, the exactly defined relationships were not used. We used patterns Iterator, Composite, Adapter, Strategy, Builder and Singleton to reach the required functionality. The phase of pure design patterns was used in the development of both systems. Our phase has brought former comprehension of the design problems by analysts and vice versa the comprehension of analytical requests by designers. The statement cannot be generalized about all projects but the phase of pure designed patterns seems to quicken the process of understanding the requests, reduce the communication gap between analysts and designers and facilitate the partial automation of transition from an analytical model into a designed one. This can happen mostly in case that the phase of pure designed patterns is exactly defined and it additionally includes other rules. 5 Future work This work brings a new view on the concept of the design patterns. However, this brings a lot of problems that have to be solved before the final use of this method in commercial projects. Firstly, a large variety of relationships among patterns is

7 Modeling Systems Using Design Patterns 157 necessary to be defined. The definition is requested to be eloquent and concrete enough mainly for the necessity of unambiguous transformation of the model of pure designed patterns into the class diagram. While defining the relationships, it is possible to follow the mentioned example. Secondly, a lot of relationships demand an exact and expandable definition of notation. Due to this definition, the essential data can be properly displayed or hidden in a particular moment. We are conscious of the fact that the defined method of the approach to the software development is only experimentally proved on few models and that the attempt to define this phase into the projects in progress and backwards creating the models of existing systems is essential. This approach to verification of our method seems to be the best alternative in confirming or refuting of the conclusions of the defined procedure. 6 Conclusion The proposed method tries to utilize as much as possible from the wide potential of patterns. Furthermore, at the basis of the requested functionality, a model is being created only by using designed patterns. This covers irrelevant details in the phase of analysis and an initial design and on the other side it displays the essential details for the transformation in the later design. In comparison with POAD method from [7] and [8] our method in using design patterns join both approaches in composing design patterns whether directly by gluing patterns together to stringing patterns or with use of new defined relationships for creating overloaded patterns. The main idea of our method is very similar like idea of POAD method. Both approaches have some equivalent phases like analysis, in which analysts define list of patterns to cover requested functionality, and phase of design refinement, which comes after transformation of pure design patterns model to class diagram. Our approach unlike POAD method defines only one model in difference of three models in POAD. Each refinement creating in models of POAD is substitute by using strictly defined relationships between patterns. The mentioned approach to the software development or transition from an analysis to a design based on the defined phase appears to be the appropriate alternative to the traditional approach. This issue is not being sufficient for the purposes of the real use. However, the missing relationships among patterns should be defined upon the work experience of either commercial or experimental projects. Acknowledgement: This work has been partially supported by the Grant Agency of Slovak Republic grant No. VG1/0162/03. References 1. Gamma, E. et al.: Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company, 1995, ISBN

8 158 Jaroslav Jakubík 2. Dong, J.: Representing the Applications and Compositions of Design Patterns in UML. In: Symposium on Applied Computing, 2003, pp Object Management Group: Unified Modeling Language Specification. Version 1.4, 2001, 4. Dong, J.: UML Extensions for Design Pattern Compositions. In: Journal of Object Technology, Vol. 1, No. 5 (2002), Vlissides, J.: Notation, Notation, Notation. In: C++ Report, Vol. 10 (April 1998), McC. Smith, J., Stotts, D.: Elemental Design Patterns: A Formal Semantics for Composition of OO Software Architecture. In: Software Engineering Workshop, Proceedings. 27 th Annual NASA Goodard/IEEE, pp Yacoub, S. M., Ammar, H. H.: Pattern-Oriented Analysis and Design (POAD): A Structural Composition Approach to Glue Design Patterns. In: Technology of Object-Oriented Languages and Systems, 2000, pp Yacoub, S. M., Ammar, H. H.: UML Support for Designing Software Systems as a Composition of Design Patterns. In: UML 2001 The Unified Modeling Language, Modeling Languages, Concepts, and Tools, 2001, pp Alexander, C. et al.: A pattern language. Towns, Buildings, Construction. Oxford University Press, New York, 1977, ISBN

Modules of Content Management Systems and their Reusability

Modules of Content Management Systems and their Reusability Modules of Content Management Systems and their Reusability Michal JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovak republic

More information

Improving Adaptive Hypermedia by Adding Semantics

Improving Adaptive Hypermedia by Adding Semantics Improving Adaptive Hypermedia by Adding Semantics Anton ANDREJKO Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovak republic andrejko@fiit.stuba.sk

More information

Caching Spreading Activation Search

Caching Spreading Activation Search Caching Spreading Activation Search Ján SUCHAL Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia suchal@fiit.stuba.sk Abstract.Spreading

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

Transformation from the Heavy Desktop Client to the Lightweight Web Application

Transformation from the Heavy Desktop Client to the Lightweight Web Application Transformation from the Heavy Desktop Client to the Lightweight Web Application Richard BELAN* Slovak University of Technology in Bratislava Faculty of Informatics and Information Technologies Ilkovičova

More information

Design Patterns. Gunnar Gotshalks A4-1

Design Patterns. Gunnar Gotshalks A4-1 Design Patterns A4-1 On Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every problem

More information

Exploring Possibilities for Symmetric Implementation of Aspect-Oriented Design Patterns in Scala

Exploring Possibilities for Symmetric Implementation of Aspect-Oriented Design Patterns in Scala Exploring Possibilities for Symmetric Implementation of Aspect-Oriented Design Patterns in Scala Pavol PIDANIČ Slovak University of Technology in Bratislava Faculty of Informatics and Information Technologies

More information

Complexity Analysis of Routing Algorithms in Computer Networks

Complexity Analysis of Routing Algorithms in Computer Networks Complexity Analysis of Routing Algorithms in Computer Networks Peter BARTALOS Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 84 6 Bratislava, Slovakia

More information

DESIGN PATTERN MATCHING

DESIGN PATTERN MATCHING PERIODICA POLYTECHNICA SER. EL. ENG. VOL. 47, NO. 3 4, PP. 205 212 (2003) DESIGN PATTERN MATCHING Dániel PETRI and György CSERTÁN Department of Measurement and Information Systems Budapest University of

More information

Personalized Navigation in the Semantic Web

Personalized Navigation in the Semantic Web Personalized Navigation in the Semantic Web Michal Tvarožek Institute of Informatics and Software Engineering Faculty of Informatics and Information Technology, Slovak University of Technology, Ilkovičova

More information

Introduction to and calibration of a conceptual LUTI model based on neural networks

Introduction to and calibration of a conceptual LUTI model based on neural networks Urban Transport 591 Introduction to and calibration of a conceptual LUTI model based on neural networks F. Tillema & M. F. A. M. van Maarseveen Centre for transport studies, Civil Engineering, University

More information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D. Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice

More information

Modeling variability with UML

Modeling variability with UML Modeling variability with UML Matthias Clauß Intershop Research Software Engineering Group Intershop, Jena Dresden University of Technology Matthias.Clauss@gmx.de Keywords: product families, domain modeling,

More information

Web-Based Learning Environment using Adapted Sequences of Programming Exercises

Web-Based Learning Environment using Adapted Sequences of Programming Exercises Web-Based Learning Environment using Adapted Sequences of Programming Exercises Radovan Kostelník * radok@nextra.sk Mária Bieliková * bielik@elf.stuba.sk Abstract: Adaptive hypermedia (AH) educational

More information

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Modeling Applications using Language Mappings Programmer s Reference Manual How to use this Reference Card: The consists of a set of fundamental modeling elements which appear

More information

Design Pattern Instantiation Directed by Concretization and Specialization

Design Pattern Instantiation Directed by Concretization and Specialization DOI:10.2298/CSIS091212032K Design Pattern Instantiation Directed by Concretization and Specialization Peter Kajsa 1, Lubomir Majtas 1, and Pavol Navrat 1 1 Faculty of Informatics and Information Technologies,

More information

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

JOURNAL OF OBJECT TECHNOLOGY Online at  Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 Vol. 1, No. 2, July-August 2002 Representing Design Patterns and Frameworks in UML Towards

More information

Specification of web applications design in CASE using UML and its mapping to an implementation environment

Specification of web applications design in CASE using UML and its mapping to an implementation environment Specification of web applications design in CASE using UML and its mapping to an implementation environment Peter Blšták * peter.blstak@softec.sk Mária Bieliková ** bielik@fiit.stuba.sk Abstract: Software

More information

Evolution Strategies in the Multipoint Connections Routing

Evolution Strategies in the Multipoint Connections Routing 408 L. KRULIKOVSKÁ, J. FILANOVÁ, J. PAVLOVIČ, EVOLUTION STRATEGIES IN THE MULTIPOINT CONNECTIONS ROUTING Evolution Strategies in the Multipoint Connections Routing Lenka KRULIKOVSKÁ, Jana FILANOVÁ, Juraj

More information

Mining Design Patterns from Existing Projects Using Static and Run-Time Analysis

Mining Design Patterns from Existing Projects Using Static and Run-Time Analysis Mining Design Patterns from Existing Projects Using Static and Run-Time Analysis Michal Dobiš and Ľubomír Majtás Faculty of Informatics and Information Technologies, Slovak University of Technology, Bratislava,

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

Prototyping Navigation in Web-Based Information Systems Using WebML

Prototyping Navigation in Web-Based Information Systems Using WebML Prototyping Navigation in Web-Based Information Systems Using WebML Jaroslav KURUC 1, Peter DOLOG 2 and Mária BIELIKOVÁ 1 1 Institute of Informatics and Software Engineering, Faculty of Informatics and

More information

On Finding Power Method in Spreading Activation Search

On Finding Power Method in Spreading Activation Search On Finding Power Method in Spreading Activation Search Ján Suchal Slovak University of Technology Faculty of Informatics and Information Technologies Institute of Informatics and Software Engineering Ilkovičova

More information

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA

Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Open Work of Two-Hemisphere Model Transformation Definition into UML Class Diagram in the Context of MDA Oksana Nikiforova and Natalja Pavlova Department of Applied Computer Science, Riga Technical University,

More information

How useful is the UML profile SPT without Semantics? 1

How useful is the UML profile SPT without Semantics? 1 How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}

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

Developing CASE tools which support integrated development notations

Developing CASE tools which support integrated development notations Revised version in Proceedings of the 6th Workshop on the Next Generation of CASE Tools, Finland, June 1995. Developing CASE tools which support integrated development notations John C. Grundy and John

More information

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL INTERNATIONAL DESIGN CONFERENCE - DESIGN 2000 Dubrovnik, May 23-26, 2000. ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL N. Pavković, D. Marjanović Keywords: object oriented methodology, design process

More information

Test Cases Generation from UML Activity Diagrams

Test Cases Generation from UML Activity Diagrams Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon

More information

Complex event processing in reactive distributed systems

Complex event processing in reactive distributed systems Complex event processing in reactive distributed systems Ján JANÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia xjanikj@is.stuba.sk

More information

A Visual Based Framework for the Model Refactoring Techniques

A Visual Based Framework for the Model Refactoring Techniques A Visual Based Framework for the Model Refactoring Techniques M. Štolc *, I. Polášek *(**) * Faculty of Informatics and Information Technologies, STU Bratislava, Slovakia ** Gratex International, a.s.,

More information

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Markus Krötzsch Pascal Hitzler Marc Ehrig York Sure Institute AIFB, University of Karlsruhe, Germany; {mak,hitzler,ehrig,sure}@aifb.uni-karlsruhe.de

More information

A Case Study for HRT-UML

A Case Study for HRT-UML A Case Study for HRT-UML Massimo D Alessandro, Silvia Mazzini, Francesco Donati Intecs HRT, Via L. Gereschi 32, I-56127 Pisa, Italy Silvia.Mazzini@pisa.intecs.it Abstract The Hard-Real-Time Unified Modelling

More information

The Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER

The Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER The Bizarre Truth! Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER By Kimmo Nupponen 1 TABLE OF CONTENTS 1. The context Introduction 2. The approach Know the difference

More information

Design Patterns. An introduction

Design Patterns. An introduction Design Patterns An introduction Introduction Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Your design should be specific to the problem at

More information

Pattern-Oriented Development with Rational Rose

Pattern-Oriented Development with Rational Rose Pattern-Oriented Development with Rational Rose Professor Peter Forbrig, Department of Computer Science, University of Rostock, Germany; Dr. Ralf Laemmel, Department of Information Management and Software

More information

A Metric for Measuring the Abstraction Level of Design Patterns

A Metric for Measuring the Abstraction Level of Design Patterns A Metric for Measuring the Abstraction Level of Design Patterns Atsuto Kubo 1, Hironori Washizaki 2, and Yoshiaki Fukazawa 1 1 Department of Computer Science, Waseda University, 3-4-1 Okubo, Shinjuku-ku,

More information

21. Document Component Design

21. Document Component Design Page 1 of 17 1. Plan for Today's Lecture Methods for identifying aggregate components 21. Document Component Design Bob Glushko (glushko@sims.berkeley.edu) Document Engineering (IS 243) - 11 April 2005

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

A Metric of the Relative Abstraction Level of Software Patterns

A Metric of the Relative Abstraction Level of Software Patterns A Metric of the Relative Abstraction Level of Software Patterns Atsuto Kubo 1, Hironori Washizaki 2, and Yoshiaki Fukazawa 1 1 Department of Computer Science, Waseda University, 3-4-1 Okubo, Shinjuku-ku,

More information

Nondeterministic Query Algorithms

Nondeterministic Query Algorithms Journal of Universal Computer Science, vol. 17, no. 6 (2011), 859-873 submitted: 30/7/10, accepted: 17/2/11, appeared: 28/3/11 J.UCS Nondeterministic Query Algorithms Alina Vasilieva (Faculty of Computing,

More information

A Reconnaissance on Design Patterns

A Reconnaissance on Design Patterns A Reconnaissance on Design Patterns M.Chaithanya Varma Student of computer science engineering, Sree Vidhyanikethan Engineering college, Tirupati, India ABSTRACT: In past decade, design patterns have been

More information

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator. Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad

More information

Reusable Object-Oriented Model

Reusable Object-Oriented Model e-informatica Software Engineering Journal, Volume 7, Issue 1, 2013, pages: 35 44, DOI 10.5277/e-Inf130104 Reusable Object-Oriented Model Jaroslav Žáček, František Huňka Faculty of Science, University

More information

Design Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns

Design Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns Introduction o to Patterns and Design Patterns Dept. of Computer Science Baylor University Some slides adapted from slides by R. France and B. Tekinerdogan Observations Engineering=Problem Solving Many

More information

QoS-aware model-driven SOA using SoaML

QoS-aware model-driven SOA using SoaML QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira

More information

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis. SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented

More information

FSRM Feedback Algorithm based on Learning Theory

FSRM Feedback Algorithm based on Learning Theory Send Orders for Reprints to reprints@benthamscience.ae The Open Cybernetics & Systemics Journal, 2015, 9, 699-703 699 FSRM Feedback Algorithm based on Learning Theory Open Access Zhang Shui-Li *, Dong

More information

A Novel Approach to Automated Design Pattern Detection

A Novel Approach to Automated Design Pattern Detection A Novel Approach to Automated Design Pattern Detection Nikolaos Tsantalis, Alexander Chatzigeorgiou, Spyros T. Halkidis and George Stephanides Department of Applied Informatics, University of Macedonia,

More information

ASPECT GENERATOR. Audit Trail WEAVER. Aspect Editor. Weaving Strategies Editor. Model Editor. Mapping. Instructions. Original Model (XMI)

ASPECT GENERATOR. Audit Trail WEAVER. Aspect Editor. Weaving Strategies Editor. Model Editor. Mapping. Instructions. Original Model (XMI) Tool Support for Aspect-Oriented Design Francois Mekerke 1, Geri Georg 2, Robert France 3, and Roger Alexander 3 1 Ecole Nationale Superieure des Etudes et Techniques d'armement, Brest, France mekerkfr@ensieta.fr

More information

Lecture 34 SDLC Phases and UML Diagrams

Lecture 34 SDLC Phases and UML Diagrams That Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 34 SDLC Phases and UML Diagrams Welcome

More information

Rule Formats for Nominal Modal Transition Systems

Rule Formats for Nominal Modal Transition Systems Rule Formats for Nominal Modal Transition Systems Anke Stüber Universitet Uppsala, Uppsala, Sweden anke.stuber@it.uu.se Abstract. Modal transition systems are specification languages that allow the expression

More information

Introduction to UML. Danang Wahyu utomo

Introduction to UML. Danang Wahyu utomo Introduction to UML Danang Wahyu utomo danang.wu@dsn.dinus.ac.id 085 740 955 623 Evolution of OO Development Methods History of OOAD leading to UML Why Model? Analyse the problem domain - Simplify reality

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

Towards the integration of security patterns in UML Component-based Applications

Towards the integration of security patterns in UML Component-based Applications Towards the integration of security patterns in UML Component-based Applications Anas Motii 1, Brahim Hamid 2, Agnès Lanusse 1, Jean-Michel Bruel 2 1 CEA, LIST, Laboratory of Model Driven Engineering for

More information

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES

MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES MODELLING COMPOSITIONS OF MODULAR EMBEDDED SOFTWARE PRODUCT LINES Wolfgang Friess AUDI AG wolfgang.friess@audi.de Julio Sincero University Erlangen-Nuernberg sincero@informatik.uni-erlangen.de Wolfgang

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

Graphical Support of the Traffic Simulation System

Graphical Support of the Traffic Simulation System Graphical Support of the Traffic Simulation System Jana Hájková hajkovaj@students.zcu.cz Department of Computer Science and Engineering Faculty of Applied Sciences University of West Bohemia Pilsen, Czech

More information

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 20: GoF Design Patterns Creational 1 Software Patterns Software Patterns support reuse of software architecture and design. Patterns capture the static

More information

An Expert System for Design Patterns Recognition

An Expert System for Design Patterns Recognition IJCSNS International Journal of Computer Science and Network Security, VOL.17 No.1, January 2017 93 An Expert System for Design Patterns Recognition Omar AlSheikSalem 1 and Hazem Qattous 2 1 Department

More information

A Novel Method for the Comparison of Graphical Data Models

A Novel Method for the Comparison of Graphical Data Models 3RD INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS DEVELOPMENT (ISD01 CROATIA) A Novel Method for the Comparison of Graphical Data Models Katarina Tomičić-Pupek University of Zagreb, Faculty of Organization

More information

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology Madras.

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology Madras. Fundamentals of Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology Madras Lecture No # 06 Simplex Algorithm Initialization and Iteration (Refer Slide

More information

Advanced Network Approaches for Wireless Environment

Advanced Network Approaches for Wireless Environment Advanced Network Approaches for Wireless Environment Branislav JARÁBEK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia beejay@orangemail.sk

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

Comparison of Simple Graphical Process Models

Comparison of Simple Graphical Process Models JIOS, VOL. 36, NO. 2 (2012) SUBMITTED 07/12; ACCEPTED 10/12 Comparison of Simple Graphical Process Models Katarina Tomičić-Pupek University of Zagreb Faculty of Organization and Informatics Varaždin Ivan

More information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course Softwaretechnik Book Chapter 2 Modeling with UML Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,

More information

An Approach to Reusable Software for Mobile Robot Applications through Analysis Patterns

An Approach to Reusable Software for Mobile Robot Applications through Analysis Patterns An Approach to Reusable Software for Mobile Robot Applications through Analysis Patterns Dayang N. A. Jawawi, Safaai Deris Department of Software Engineering Faculty of Computer Science and Information

More information

Generic Modeling using UML extensions for variability

Generic Modeling using UML extensions for variability Generic Modeling using UML extensions for variability Intershop Research Intershop, Jena Matthias Clauß Software Engineering Group Dresden University of Technology M.Clauss@intershop.com September 14,

More information

Enterprise Planning Model Using REA Ontology

Enterprise Planning Model Using REA Ontology Enterprise Planning Model Using REA Ontology Frantisek Hunka 1, Miroslav Hucka 2, Josef Kasik 2, Dominik Vymetal 3 1 University of Ostrava, Dvorakova 7, 701 03 Ostrava 1, Czech Republic, frantisek.hunka@osu.cz

More information

Open XML Requirements Specifications, a Xylia based application

Open XML Requirements Specifications, a Xylia based application Open XML Requirements Specifications, a Xylia based application Naeim Semsarilar Dennis K. Peters Theodore S. Norvell Faculty of Engineering and Applied Science Memorial University of Newfoundland November

More information

The Systematic Generation of Channelling Constraints

The Systematic Generation of Channelling Constraints The Systematic Generation of Channelling Constraints Bernadette Martínez-Hernández and Alan M. Frisch Artificial Intelligence Group, Dept. of Computer Science, Univ. of York, York, UK Abstract. The automatic

More information

Exploring the Commonality in Feature Modeling Notations

Exploring the Commonality in Feature Modeling Notations Exploring the Commonality in Feature Modeling Notations Miloslav ŠÍPKA Slovak University of Tehnology Faulty of Informatis and Information Tehnologies Ilkovičova 3, 842 16 Bratislava, Slovakia miloslav.sipka@gmail.om

More information

UML EXTENSIONS FOR MODELING REAL-TIME AND EMBEDDED SYSTEMS

UML EXTENSIONS FOR MODELING REAL-TIME AND EMBEDDED SYSTEMS The International Workshop on Discrete-Event System Design, DESDes 01, June 27 29, 2001; Przytok near Zielona Gora, Poland UML EXTENSIONS FOR MODELING REAL-TIME AND EMBEDDED SYSTEMS Sławomir SZOSTAK 1,

More information

UML Specification and Correction of Object-Oriented Anti-patterns

UML Specification and Correction of Object-Oriented Anti-patterns UML Specification and Correction of Object-Oriented Anti-patterns Maria Teresa Llano and Rob Pooley School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh, United Kingdom {mtl4,rjpooley}@hwacuk

More information

Software Engineering Prof. Rushikesh K.Joshi IIT Bombay Lecture-15 Design Patterns

Software Engineering Prof. Rushikesh K.Joshi IIT Bombay Lecture-15 Design Patterns Software Engineering Prof. Rushikesh K.Joshi IIT Bombay Lecture-15 Design Patterns Today we are going to talk about an important aspect of design that is reusability of design. How much our old design

More information

Meta Architecting: Towered a New Generation of Architecture Description Languages

Meta Architecting: Towered a New Generation of Architecture Description Languages Journal of Computer Science 1 (4): 454-460, 2005 ISSN 1549-3636 Science Publications, 2005 Meta Architecting: Towered a New Generation of Architecture Description Languages Adel Smeda, Tahar Khammaci and

More information

Master Thesis Project Plan. Reusable Mathematical Models

Master Thesis Project Plan. Reusable Mathematical Models Master Thesis Project Plan Reusable Mathematical Models Tobias K. Widmer widmer@id.ethz.ch Supervisors: Prof. Dr. B. Meyer B. Schoeller Chair of Software Engineering Department of Computer Science, ETH

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

Crash course on design patterns

Crash course on design patterns Crash course on design patterns Yann-Gaël Guéhéneuc guehene@emn.fr From Olivier Motelet s course (2001/10/17) École des Mines de Nantes, France Object Technology International, Inc., Canada Design patterns

More information

Web Services Annotation and Reasoning

Web Services Annotation and Reasoning Web Services Annotation and Reasoning, W3C Workshop on Frameworks for Semantics in Web Services Web Services Annotation and Reasoning Peter Graubmann, Evelyn Pfeuffer, Mikhail Roshchin Siemens AG, Corporate

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, 2003 Vol. 2, No. 6, November-December 2003 UML 2 Activity and Action Models Part 3:

More information

Stack effect calculus with typed wildcards, polymorphism and inheritance. Abstract

Stack effect calculus with typed wildcards, polymorphism and inheritance. Abstract Stack effect calculus with typed wildcards, polymorphism and inheritance Jaanus Pöial University of Tartu, Estonia Abstract In early 1990s author introduced a formal stack effect calculus for verification

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, 2007 Vol. 6, No. 4, May-June 2007 Pattern-Oriented Design for Multi-Agent System: A

More information

A Top-Down Visual Approach to GUI development

A Top-Down Visual Approach to GUI development A Top-Down Visual Approach to GUI development ROSANNA CASSINO, GENNY TORTORA, MAURIZIO TUCCI, GIULIANA VITIELLO Dipartimento di Matematica e Informatica Università di Salerno Via Ponte don Melillo 84084

More information

The UML Extension Mechanisms

The UML Extension Mechanisms Jasmine Farhad Dept of Computer Science University College London 13-Dec-02 The UML Extension Mechanisms Introduction There is an important need for organisations to evolve in today s market. This has

More information

FUZZY SYSTEM FOR PLC

FUZZY SYSTEM FOR PLC FUZZY SYSTEM FOR PLC L. Körösi, D. Turcsek Institute of Control and Industrial Informatics, Slovak University of Technology, Faculty of Electrical Engineering and Information Technology Abstract Programmable

More information

SOME ONTOLOGICAL ISSUES OF THE REA FRAMEWORK IN RELATION TO ENTERPRISE BUSINESS PROCESS

SOME ONTOLOGICAL ISSUES OF THE REA FRAMEWORK IN RELATION TO ENTERPRISE BUSINESS PROCESS SOME ONTOLOGICAL ISSUES OF THE REA FRAMEWORK IN RELATION TO ENTERPRISE BUSINESS PROCESS Frantisek HUNKA, Miroslav HUCKA University of Ostrava, Czech Republic frantisek.hunka@osu.cz Josef KASIK VSB-Technical

More information

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT Otthein Herzog IBM Germany, Dept. 3100 P.O.Box 80 0880 D-7000 STUTTGART, F. R. G. ABSTRACT tn the IBM Boeblingen Laboratory some software was

More information

Object Oriented Finite Element Modeling

Object Oriented Finite Element Modeling Object Oriented Finite Element Modeling Bořek Patzák Czech Technical University Faculty of Civil Engineering Department of Structural Mechanics Thákurova 7, 166 29 Prague, Czech Republic January 2, 2018

More information

Computer Kit for Development, Modeling, Simulation and Animation of Mechatronic Systems

Computer Kit for Development, Modeling, Simulation and Animation of Mechatronic Systems Computer Kit for Development, Modeling, Simulation and Animation of Mechatronic Systems Karol Dobrovodský, Pavel Andris, Peter Kurdel Institute of Informatics, Slovak Academy of Sciences Dúbravská cesta

More information

TABLE OF CONTENT CHAPTER TITLE PAGE DECLARATION OF THESIS STATUS SUPERVISOR DECLARATION TITLE PAGE STUDENT DECLARATION ACKNOWLEDGEMENT ABSTRACT

TABLE OF CONTENT CHAPTER TITLE PAGE DECLARATION OF THESIS STATUS SUPERVISOR DECLARATION TITLE PAGE STUDENT DECLARATION ACKNOWLEDGEMENT ABSTRACT TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION OF THESIS STATUS SUPERVISOR DECLARATION TITLE PAGE STUDENT DECLARATION ACKNOWLEDGEMENT ABSTRACT TABLE OF CONTENT LIST OF TABLE LIST OF FIGURE LIST OF ABBREVATION

More information

Pattern for Structuring UML-Compatible Software Project Repositories

Pattern for Structuring UML-Compatible Software Project Repositories Pattern for Structuring UML-Compatible Software Project Repositories Pavel Hruby Navision Software a/s Frydenlunds Allé 6 2950 Vedbaek, Denmark E-mail: ph@navision.com Web site: www.navision.com/services/methodology/default.asp

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

More information

Enterprise Architect Training Courses

Enterprise Architect Training Courses On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object

More information

Pattern-Based Architectural Design Process Model

Pattern-Based Architectural Design Process Model Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying

More information

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN THE UML Position Paper to the WTUML: Workshop on Transformations in UML ETAPS 2001 European Joint Conference on Theory and Practice of Software Nuno Jardim

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

Formal Verification for safety critical requirements From Unit-Test to HIL

Formal Verification for safety critical requirements From Unit-Test to HIL Formal Verification for safety critical requirements From Unit-Test to HIL Markus Gros Director Product Sales Europe & North America BTC Embedded Systems AG Berlin, Germany markus.gros@btc-es.de Hans Jürgen

More information

A Conceptual Model of the UML

A Conceptual Model of the UML CONTENT A Conceptual Model of the UML Building Blocks of the UML 1. Things [1.1] Structural Things (1.1.1) Class (1.1.2) Interface (1.1.3) Collaboration: (1.1.4) Use case (1.1.5) Components: (1.1.6) Node:

More information