APICES - Rapid Application Development with Graph Pattern

Size: px
Start display at page:

Download "APICES - Rapid Application Development with Graph Pattern"

Transcription

1 APICES - Rapid Application Development with Graph Pattern Ansgar Bredenfeld GMD Institute for System Design Technology D Sankt Augustin, Germany bredenfeld@gmd.de Abstract In this paper, we present the novel software design environment APICES. It is specifically tailored to support rapid application development based on network like data structures which are typical for CAD tools, system level design tools or DSP applications. APICES is based on graph patterns. These graph patterns offer high-level functionality far beyond manipulation of simple graphs consisting of nodes and edges. By making graph patterns re-usable within an object-oriented framework architecture and by offering multi-target code generators we are able to provide a powerful environment for prototyping and rapid development of graph-based applications. We demonstrate the productivity gains and the benefits of APICES by rapid application development of a multi-rate digital signal processing tool. 1. Introduction Re-use of software artifacts plays a central role to shorten software development cycles in order to minimize time-to-market. Recent work on design patterns [1][2] and object-oriented frameworks [3] focus at first on re-use of expert design knowledge and secondly on re-use of software components to achieve minimal development time and improved software quality. A shortcoming of general purpose object-oriented modeling tools like [4] is the missing support for data structures which are specific to system level design tools. On the other hand, we face a significant class of applications which are based on graphs, hyper graphs or network-like structures. Such structures are predominant in tools of many application domains, e.g. CAD, electronic design automation, system level design, or workflow. Unfortunately existing graph-oriented software environments, e.g. [5], do not support structuring concepts like multi-port components, instance and interface components, channelbased connectivity, macro construction and hierarchical component structures. These structuring concepts require a conceptual model on a higher level of abstraction than simple graphs consisting of nodes and edges. The objective of our work is to make these concepts reusable in an object-oriented generator environment in order to support rapid application development of system level design tools. Our software design environment APICES is conceptually based on re-usable and extensible graph patterns. It consists of tools for graphical model specification, multitarget code-generation, model centered GUI design and documentation generation. This paper is structured as follows. Section 2 gives an overview of the conceptual model behind APICES, namely graph patterns. Section 3 describes the architecture and tools of APICES and gives some facts and figures concerning the implementation. In section 4 and 5, we report on an application. We successfully used APICES for rapid development of a multi-rate digital signal processing editor/simulator. In section 6 we compare our system with related work before we end with conclusions and an outlook. 2. Graph patterns The starting point of our work was an analysis of typical design representations occurring in electronic design automation tools, i.e., in simulators, in schematic editors, in high-level synthesis tools and in tools for hardware/software co-design and digital signal processing. The design representations found include hierarchical net lists, different types of flow graphs - data flow as well as control flow -, process networks, finite state machines, State- Charts, etc.. Our analysis did not led to a single core model suitable for all these design representations but rather to a set of related models with varying features. Nevertheless, all models are very similar in nature, so that they are deriv-

2 onent External Figure 1. Abstract graph pattern. inheritance aggregation association 0..n 0..1 able from a common core model. We call this common core model abstract graph pattern [6]. Its object model in OMT [7] notation is shown in figure 1. Attributes and methods are omitted to improve legibility. Each variant derived from the abstract graph pattern differs with respect to its features concerning connectivity and hierarchy. We distinguish the following graph pattern variants. Their corresponding OMT notations are sketched in figure 2. Flat onent Graph flat component graphs with local connectivity have component instances which are specified by interface components. A macro is a construct to group related component instances, e.g. for partitioning purposes. onent instances are connected to other component instances locally within a macro by internal channels. s connect the ports of components. flat component graphs with global connectivity support channels between ports of components from different macros. These global connections are modeled by external channels. hierarchical component graphs with local connectivity have additionally macro instances. instances are occurrences of interface components which belong to a macro. They are used to construct folded hierarchical component structures. hierarchical component graphs with global connectivity additionally allow external channels between components in different macros. Graph pattern variants have a set of predefined graph pattern methods. A graph method has the same signature in all graph pattern variants, whereas their method implementations usually vary. Flat graph patterns have more simple method implementations than hierarchical graph patterns; patterns with local connectivity have more simple method implementations than patterns supporting global connectivity. Hierarchical onent Graph Local Connectivity External External Global Connectivity Figure 2. Graph pattern variants.

3 3. APICES environment The abstract graph pattern and its variants are the conceptual base for the software design environment API- CES. Our system consists of a tool set which allows to reuse graph patterns for prototyping and rapid development of graph-based applications Model editor APICES uses state-of-the-art object-oriented modeling concepts as its foundation. This includes object types, methods, typed attributes, different types of relationships (aggregation, association), data encapsulation, and inheritance. The graphical model editor allows to enter the application model by instantiating object types, attributes, inheritance relationships, aggregation relationships and association relationships. In this point, APICES is comparable to object-oriented modeling tools, e.g. [4]. The specific strength of APICES is its support of graph patterns. Graph patterns are simply instantiated in the application model as building blocks. Note, that predefined graph pattern methods are provided for each graph pattern instance. They directly offer manipulation functionality needed to construct and delete network structures, to handle connectivity, to construct and transform component hierarchies, to perform analysis operations, to specify the behavior of interface components and to simulate a network of component instances Code generators Starting from the application model, the code generators of APICES allow to produce code for several target languages. At present, we provide generators for: - a C++ class structure and fully implemented access methods for objects, attributes and relationships, - C++ class structures for each graph pattern instance including optimized predefined graph methods, - a data base schema and access code for an ObjectStore [8] database, - an extension to Tcl [9] which hooks all generated C++ or ObjectStore methods into Tcl, - a customization file for the GUI engine described below, - and a HTML-documentation of the application model. The overall implementation architecture of the APICES environment is shown in figure 3. It illustrates the components of the environment and the data flow between them. All parts belonging to the tool set are shaded. The architecture of the generated application is sketched in the right part of the figure. reads APICES docu method templates model templates mapping rules Framemaker hypertext HTML browser reads application docu model editor code generators APICES Tool user code (Tcl) GUI engine (Tcl/Tk) custom. file for GUI (Tcl) Tcl-wrapper code (C++) C++ sources ObjectStore sources 3.3. Model centered GUI design The model editor is used not only for the specification of the application model but also for the specification of the graphical user interface of the application. This approach allows the seamless integration of model design and GUI design which speeds up prototyping and application development dramatically. We provide simple GUI elements representing objects (rectangles, ovals, bitmaps, images, texts,...) and elements representing relationships (lines, arrows,...). Since our graph patterns are of a high level of abstraction, we are able to support graph pattern specific visualization. Therefore, we offer specific GUI elements for the object types of graph patterns (contexts, macros, interface components, component instances, macro instances, ports and channels) and for hierarchy visualization. The default appearance of networks may be changed by simple customization in the model editor. APICES generates a customization file for a GUI engine. The GUI engine provides means for graphical entry of inter-related objects and (hierarchical) component networks on a canvas. The canvas is subdivided into boxes. Objects may be interactively placed and moved in a box or they may be automatically layouted according to a layout strategy selected for a box. Since an object may appear in several boxes, multiple object views are possible. Two examples for views with different layout strategies are sketched in figure 4. Each object on the canvas has a context-sensitive popup menu. The menu entries, the graphical appearance and the layout of objects or graph pattern instances are customized with the model editor. Note, that the screen shots in File loads loads loads compile Tcl-wrapper compile compile application C++ class library OR ObjectStore library Figure 3. APICES architecture and data flow.

4 relationship specification on model level corresponding relationship visualization on canvas of the GUI source object type box1 target objects source object relationship target object type box2 source object target objects 3100 lines of code. The code generators are Perl and Tcl scripts invoked by the model editor. They access the template database (graph patterns, graph pattern methods) derived from the hypertext. The GUI engine is implemented in Tcl/Tk and comprises 1700 lines of code. It reads a generated customization file and optionally a file containing the application code of the user written in Tcl. At present, APICES is running on SUN (Solaris 2.4/ 2.5) and on PC (Linux or higher). Actual information is available at view1 container style this paper are examples for graphical user interfaces generated by APICES. This includes the model editor itself. An important feature for testing and debugging of complex applications is the capability of the GUI engine to trace all user interactions. Tracing allows to replay interaction sequences which is very helpful for reconstructing complex object configurations precisely. In addition, traces may be used as test patterns to validate the correctness of a generated application after model extensions APICES implementation view2 network style Figure 4. Views of objects in boxes. Graph patterns and their methods are specified in an object-oriented intermediate template form which can be processed by the code generators of APICES. The code generators transform the templates into the corresponding target language syntax (C++, ObjectStore, Tcl language extensions, HTML,...). Transformation rules define how to map templates to the specific syntax of each target language. Adding a new target language to the code generator requires to define a new set of transformation rules. All development documents of APICES are organized in a FrameMaker [10] hypertext document. These development documents comprise: templates for the code generators in intermediate form (graph patterns, graph pattern methods), transformation rules for the target languages, error messages, and documentation templates. Changes to a development document are propagated to all dependent documents by updating cross-references in the hypertext. This approach avoids redundancy in the development documents, it allows to keep all derived documents consistent and it simplifies maintenance, since changes are automatically propagated. We implemented an automatic cross-reference update using FrameMaker in batch mode. The core of the model editor is a C++ class library generated from the meta model of APICES. The model editor functionality is implemented in Tcl/Tk and comprises 4. Application example We used generated design representations for integrating a multi-level fault simulator with a high-level synthesis tool. The synthesis tool was constructed using several graph pattern instances (hierarchical net list, control flow graph with finite state machine, data flow graph). The interested reader is referred to [6] for a detailed description of that application. In this paper, we focus on another example to give an impression of the effort needed to develop a new design tool from scratch. We describe rapid prototyping of a multi-rate digital signal processing (DSP) tool which we needed for an industrial case study in the GSM domain. The tool consists of a graphical data flow editor and a multi-rate simulator. // initialize circuit Behaviour* beh = init_beh(); // create macro as container for processes Beh* mod = beh->create_instset_beh(); // instantiate processes from processbehaviours Process* p39 = mod->instantiate_comp_beh(_source); Process* p42 = mod->instantiate_comp_beh(_serpar); Process* p53 = mod->instantiate_comp_beh(_delay); Process* p58 = mod->instantiate_comp_beh(_pulsformer); Process* p63 = mod->instantiate_comp_beh(_pulsformer); Process* p68 = mod->instantiate_comp_beh(_quadmod); Process* p77 = mod->instantiate_comp_beh(_sink); Process* p84 = mod->instantiate_comp_beh(_para); // connect processes p39->connect_comp_beh(1, p42, 1); p42->connect_comp_beh(3, p63, 1); p42->connect_comp_beh(2, p53, 1); p42->connect_comp_beh(1, p77, 3); p53->connect_comp_beh(2, p58, 1); p58->connect_comp_beh(2, p68, 1); p63->connect_comp_beh(2, p68, 2); p68->connect_comp_beh(4, p77, 1); p68->connect_comp_beh(3, p84, 1); p77->connect_comp_beh(3, p39, 1); // simulation preparation IterProcess s = CreateIterProcess(); mod->resetprocess(); while (Process* _p = mod->nextprocess()) { if (_p->getstate()==1) s.insertiterprocess(_p); }; mod->sim_init_beh(s); Figure 5. Generated C++ circuit description.

5 Figure 6. APICES model editor. The application model of the data flow editor is depicted in figure 6. The generated GUI of the tool is shown in figure 7. A data flow is entered by instantiating component interfaces which are offered in the top part of the flow editor. The behavior of each component interface is specified in the model editor (figure 6). We extended the generated data flow editor with a converter that creates a circuit description in C++ for the data flow graph. Figure 5 shows the code of the circuit in figure 7. Calls to methods generated by APICES are underlined. The simulation tool consists of a simulation main loop, initialization code and result processing. The generated circuit description is included in the initialization code of the simulator. In addition, the simulator contains a FFT algorithm in order to transform simulation results from the time domain into the frequency domain. Simulation results are recorded, transformed and back-annotated to the data flow editor. The waveform in figure 7 shows the output of a GMSK (Gaussian minimum shift keying) quadrature phase modulator in the frequency domain. 5. Results We present the code sizes (in lines of code) to give an impression of the implementation effort needed to construct our tool from scratch. In addition, we give some time figures to illustrate the achieved simulation performance. Since we do not know of any comparable prototyping environment, we unfortunately are not able to benchmark our figures with existing systems. Figure 7. Generated data flow editor with output. The development of the application took four days up to the tested tool. The data flow editor is completely generated by APICES. The only code we had to add manually was the converter which transforms the data flow graph to the C++ circuit description and code which back-annotates output signals traced during simulation to the data flow graph. The code for both parts is 120 lines of Tcl only. The simulation main loop, the initialization code, the FFT algorithm and the tracing of simulation output sums up to 140 lines of manually written C++ code. Code generation and compilation of the data flow editor from the application model took 4 minutes. After this initial compilation only incremental compilation is required if a component behavior is modified. This takes 17 seconds including linking of the updated C++ circuit description with the simulation main loop. number of simulation steps without FFT [secs] including FFT of 3 output signals [secs] Table. 1. Simulation of circuit given in figure 5. The simulator performs in an order of 100k component evaluations per second. This depends of course on the behavior specification of the components. Table 1 gives sim-

6 ulation results using the circuit shown in figure 5. The simulation performance is 80k component instance evaluations per second. All timing figures are total elapsed time on a lightly loaded SUN SPARCStation Related work We subdivide related work into related methodologies, related graph tools and related software environments. On the methodology level, we consider design patterns to be related to our work. Their focus is on capturing recurrent patterns observed in software. They distinguish between re-use of software artifacts on various level of abstraction ranging from architectural patterns [2], over design patterns [1], to more implementation oriented idioms [2]. Our abstract graph pattern contains several design patterns. In this, it may be considered a composite design pattern. In contrast to work on design patterns we cover the generative tool aspect very intensively. Specific graph-oriented software environments like PROGRES [5] focus on formal specification of graph transformations. They are based on graph grammars which allow to define graph transformations using graph rewriting systems. Work in this domain does not concentrate on higher-level functionality as needed by graphbased applications in the EDA domain. Object-oriented frameworks like the well-known model-view-controller architecture or ET++ [3] are general purpose frameworks. They do not support graph patterns like our work does. Without support of graph patterns, our environment would be comparable to such general purpose frameworks. ared to specific application domain frameworks like the simulation framework Ptolemy [11], APICES is an environment tailored to support rapid prototyping of such frameworks. With respect to frameworks, our system is a generator for object-oriented application domain frameworks which are based on network-like data structures. 7. Conclusions and outlook In this paper, we presented APICES a novel software design environment for graph-based applications. It is specifically tailored to support prototyping and rapid development of applications using network-like data structures. Our approach combines re-usable graph patterns with an object-oriented framework architecture and multi-target code generators. It allows to derive all artifacts (implementation, GUI, documentation, test bed) from an application model on a very high-level of abstraction. APICES significantly reduces time and effort for application development. We demonstrate this by an application example from the digital signal processing domain. We constructed a multi-rate signal processing editor/simulator within 4 days with minimal amount of code to be written manually (120 lines of Tcl, 140 lines of C++). The code generators of APICES allow to generate a tool core with high simulation performance and an easy to use graphical data flow editor for design entry and back-annotation of simulation results. We demonstrate by this example, that APICES is best suited for rapid application development of specialized system-level design tools. Our future work will concentrate on the application of APICES to rapid prototyping projects. In addition, we are continuously extending the environment. This includes a code generator for Java, a web-based user interface and new graph methods. Currently, we are working on a generic simulation engine. This will result in new graph pattern variants which are directly executable. The application example in this paper is a first step in that direction. References [1] E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, MA, 1995 [2] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern-Oriented Software Architecture - A System of Patterns, John Wiley & Sons, Chichester, 1996 [3] A. Weinand, E. Gamma, R. Marty, ET++ - An Object- Oriented Application Framework in C++, in Proceedings of OOPSLA 88, Vol. 23, No. 11, 1988 [4] Rational Rose/C++, Version 4.0.5, Rational Software Corp., Santa Clara, CA, 1996 [5] A. Schürr, A. Winter, A. Zündorf, Graph Grammar Engineering with PROGRES, in Proceedings of the 4th Software Engineering Conference (ESEC), pp , 1995 [6] A. Bredenfeld, R. Camposano, Tool Integration and Construction Using Generated Graph-Based Design Representations, in Proceedings of the 32nd ACM/IEEE Design Automation Conference, pp , 1995 [7] J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen, Object-Oriented Modeling and Design, Prentice Hall, Englewood Cliffs, NJ, 1991 [8] C. Lamb, G. Landis, J. Orenstein, D. Weinreb, The ObjectStore database system, Communications of the ACM, Vol. 34, No. 10, pp , 1991 [9] J. K. Ousterhout, Tcl and the Tk Toolkit, Addison- Wesley, Reading, MA, 1994 [10] FrameMaker Release 5.5, Frame Technology Corporation, San Jose, CA, 1997 [11] J. T. Buck, S. Ha, E. A. Lee, D. G. Messerschmitt, Ptolemy: A Framework for Simulating and Prototyping Heterogeneous Systems, Int. Journal of uter Simulation, special issue on Simulation Software Development, vol. 4, pp , April, 1994.

Rapid Prototyping with APICES

Rapid Prototyping with APICES Rapid Prototyping with APICES Ansgar Bredenfeld GMD Institute for System Design Technology D-53754 Sankt Augustin, Germany bredenfeld@gmd.de http://set.gmd.de/apices APICES is a tool for very rapid development

More information

Co-Design Tool Construction Using APICES

Co-Design Tool Construction Using APICES Co-Design Tool Construction Using APICES Ansgar Bredenfeld GMD Institute for Autonomous Intelligent Systems (AiS) D-53754 Sankt Augustin, Germany +49-2241-14-2841 bredenfeld@gmd.de ABSTRACT In this paper,

More information

Object-Oriented Software Development Goal and Scope

Object-Oriented Software Development Goal and Scope Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic

More information

HyperFrame - A Framework for Hypermedia Authoring

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

More information

Towards Better Support for Pattern-Oriented Software Development

Towards Better Support for Pattern-Oriented Software Development Towards Better Support for Pattern-Oriented Software Development Dietrich Travkin Software Engineering Research Group, Heinz Nixdorf Institute & Department of Computer Science, University of Paderborn,

More information

GENVIS - Model-Based Generation of Data Visualizers

GENVIS - Model-Based Generation of Data Visualizers TOOLS Europe 2000, San Malo, June 5-8, 2000 GENVIS - Model-Based Generation of Data Visualizers Ansgar Bredenfeld Edmund Ihler, Oliver Vogel GMD - Institute AiS SYSTOR AG Schloss Birlinghoven Peter Merian-Strasse

More information

A Generator for Graph-Based Design Representations *

A Generator for Graph-Based Design Representations * 24 A Generator for Graph-Based Design Representations * Ansgar Bredenfeld GMD-SET, SchloG Birlinghoven, D-53754 Sankt Augustin, Germany, ansgar@bomeo.gmd.de Abstract Tool integration services are an important

More information

Frameworks Representations & Perspectives Position Paper Workshop on Language Support for Design Patterns and Frameworks, ECOOP 97

Frameworks Representations & Perspectives Position Paper Workshop on Language Support for Design Patterns and Frameworks, ECOOP 97 Frameworks Representations & Perspectives Position Paper Workshop on Language Support for Design Patterns and Frameworks, ECOOP 97 Palle Nowack Department of Computer Science, Aalborg University Fredrik

More information

Broker Pattern. Teemu Koponen

Broker Pattern. Teemu Koponen Broker Pattern Teemu Koponen tkoponen@iki.fi Broker Pattern Context and problem Solution Implementation Conclusions Comments & discussion Example Application Stock Exchange Trader 1 Stock Exchange 1 Trader

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

WS01/02 - Design Pattern and Software Architecture

WS01/02 - Design Pattern and Software Architecture Design Pattern and Software Architecture: VIII. Conclusion AG Softwaretechnik Raum E 3.165 Tele. 60-3321 hg@upb.de VIII. Conclusion VIII.1 Classifications VIII.2 Common Misconceptions VIII.3 Open Questions

More information

Product Line Annotations with UML-F

Product Line Annotations with UML-F Product Line Annotations with UML-F Wolfgang Pree 1, Marcus Fontoura 2, and Bernhard Rumpe 3 1 Department of Computer Sciences (guest), Univ. of California, Berkeley, pree@eecs.berkeley.edu 2 IBM Almaden

More information

Design Aspects of the Standard I/O Library. Design with Java:

Design Aspects of the Standard I/O Library. Design with Java: Design Aspects of the Standard I/O Library Design with Java: QUOIN 1208 Massachusetts Avenue, Suite 3 Cambridge, Massachusetts 02138 tel: 617.492.6461 fax: 617.492.6461 email: info@quoininc.com web: www.quoininc.com

More information

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION c08classandmethoddesign.indd Page 282 13/12/14 2:57 PM user 282 Chapter 8 Class and Method Design acceptance of UML as a standard object notation, standardized approaches based on work of many object methodologists

More information

Product line annotations with UML-F

Product line annotations with UML-F Product line annotations with UML-F Wolfgang Pree 1), Marcus Fontoura 2), Bernhard Rumpe 3) 1) Department of Computer Sciences, University of California, Berkeley 2) IBM Almaden Research Center, San Jose,

More information

Quality-Driven Architecture Design Method

Quality-Driven Architecture Design Method Quality-Driven Architecture Design Method Matinlassi Mari, Niemelä Eila P.O. Box 1100, 90571 Oulu Tel. +358 8 551 2111 Fax +358 8 551 2320 {Mari.Matinlassi, Eila.Niemela}@vtt.fi Abstract: In this paper

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

Concurrency Control with Java and Relational Databases

Concurrency Control with Java and Relational Databases Concurrency Control with Java and Relational Databases Sérgio Soares and Paulo Borba Informatics Center Federal University of Pernambuco Recife, PE, Brazil scbs,phmb @cin.ufpe.br Abstract As web based

More information

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

More information

Seamless design methodology of manufacturing cell-control software based on activity-control-condition and object diagram

Seamless design methodology of manufacturing cell-control software based on activity-control-condition and object diagram Seamless design methodology of manufacturing cell-control software based on activity-control-condition and object diagram TOYOAKI TOMURA, SATOSHI KANAI and TAKESHI KISHINAMI Abstract. A manufacturing cell

More information

Reflective Design Patterns to Implement Fault Tolerance

Reflective Design Patterns to Implement Fault Tolerance Reflective Design Patterns to Implement Fault Tolerance Luciane Lamour Ferreira Cecília Mary Fischer Rubira Institute of Computing - IC State University of Campinas UNICAMP P.O. Box 676, Campinas, SP 3083-970

More information

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

OBJECT-ORIENTED MODELING AND DESIGN. Introduction OBJECT-ORIENTED MODELING AND DESIGN Introduction Contents: Introduction. Course Relevance Learning Outcomes Overview of the syllabus Introduction to Object Orientation Introduction Object Oriented Approach

More information

Concurrent Object-Oriented Development with Behavioral Design Patterns

Concurrent Object-Oriented Development with Behavioral Design Patterns Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch

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

Abstractions in Multimedia Authoring: The MAVA Approach

Abstractions in Multimedia Authoring: The MAVA Approach Abstractions in Multimedia Authoring: The MAVA Approach Jürgen Hauser, Jing Tian Institute of Parallel and Distributed High-Performance Systems (IPVR) University of Stuttgart, Breitwiesenstr. 20-22, D

More information

A System of Patterns for Web Navigation

A System of Patterns for Web Navigation A System of Patterns for Web Navigation Mohammed Abul Khayes Akanda and Daniel M. German Department of Computer Science, University of Victoria, Canada maka@alumni.uvic.ca, dmgerman@uvic.ca Abstract. In

More information

A UML-based Methodology for Hypermedia Design

A UML-based Methodology for Hypermedia Design A UML-based Methodology for Hypermedia Design Rolf Hennicker, Nora Koch,2 Institute of Computer Science Ludwig-Maximilians University of Munich Oettingenstr. 67, D-80538 München, Germany {hennicke,kochn}@informatik.uni-muenchen.de

More information

Universal Communication Component on Symbian Series60 Platform

Universal Communication Component on Symbian Series60 Platform Universal Communication Component on Symbian Series60 Platform Róbert Kereskényi, Bertalan Forstner, Hassan Charaf Department of Automation and Applied Informatics Budapest University of Technology and

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

Slide 1. Design Patterns. Prof. Mirco Tribastone, Ph.D

Slide 1. Design Patterns. Prof. Mirco Tribastone, Ph.D Slide 1 Design Patterns Prof. Mirco Tribastone, Ph.D. 22.11.2011 Introduction Slide 2 Basic Idea The same (well-established) schema can be reused as a solution to similar problems. Muster Abstraktion Anwendung

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

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

Patterns for Decoupling

Patterns for Decoupling Patterns for Decoupling Ingolf H. Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California Institute for Telecommunications and Information

More information

Architectural Patterns

Architectural Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm SEOC2 Spring 2005:

More information

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink Holger Giese, Matthias Meyer, Robert Wagner Software Engineering Group Department of Computer Science University of Paderborn

More information

Design Patterns. Architectural Patterns. Contents of a Design Pattern. Dr. James A. Bednar. Dr. David Robertson

Design Patterns. Architectural Patterns. Contents of a Design Pattern. Dr. James A. Bednar. Dr. David Robertson Design Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm A

More information

Michel Heydemann Alain Plaignaud Daniel Dure. EUROPEAN SILICON STRUCTURES Grande Rue SEVRES - FRANCE tel : (33-1)

Michel Heydemann Alain Plaignaud Daniel Dure. EUROPEAN SILICON STRUCTURES Grande Rue SEVRES - FRANCE tel : (33-1) THE ARCHITECTURE OF A HIGHLY INTEGRATED SIMULATION SYSTEM Michel Heydemann Alain Plaignaud Daniel Dure EUROPEAN SILICON STRUCTURES 72-78 Grande Rue - 92310 SEVRES - FRANCE tel : (33-1) 4626-4495 Abstract

More information

Coordination Patterns

Coordination Patterns Coordination Patterns 1. Coordination Patterns Design Patterns and their relevance for Coordination Oscar Nierstrasz Software Composition Group Institut für Informatik (IAM) Universität Bern oscar@iam.unibe.ch

More information

SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software

SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software SyncFree SyncFree: The Development of an Open Source Personal Data Synchronization Software {s1669021, s1598011, yccheng, hsieh}@ntut.edu.tw SyncFree Abstract People who use different computers at different

More information

OPTIMIZING PRODUCTION WORK FLOW USING OPEMCSS. John R. Clymer

OPTIMIZING PRODUCTION WORK FLOW USING OPEMCSS. John R. Clymer Proceedings of the 2000 Winter Simulation Conference J. A. Joines, R. R. Barton, K. Kang, and P. A. Fishwick, eds. OPTIMIZING PRODUCTION WORK FLOW USING OPEMCSS John R. Clymer Applied Research Center for

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

JUnit A Study on Applying JUnit Framework to Document Knowledge of Object-Oriented Software Systems

JUnit A Study on Applying JUnit Framework to Document Knowledge of Object-Oriented Software Systems JUnit A Study on Applying JUnit Framework to Document Knowledge of Object-Oriented Software Systems Email: {hsieh, s1669021}@ntut.edu.tw JUnit SyncFree 92 [16] SyncFree 1.0 [17] bug fixmerge CVS SyncFree

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

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

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

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review (Part 1) 1 Coad-Yourdon Two-phase introduction: Object-Oriented Analysis

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

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

Introduction to Design Patterns

Introduction to Design Patterns Dr. Michael Eichberg Software Technology Group Department of Computer Science Technische Universität Darmstadt Introduction to Software Engineering Introduction to Design Patterns Patterns 2 PATTERNS A

More information

PlanAhead Release Notes

PlanAhead Release Notes PlanAhead Release Notes What s New in the 11.1 Release UG656(v 11.1.0) April 27, 2009 PlanAhead 11.1 Release Notes Page 1 Table of Contents What s New in the PlanAhead 11.1 Release... 4 Device Support...

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

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS Juan Antonio de la Puente Dept. of Telematics Engineering School of Telecommunication, Technical University of Madrid E-mail: jpuente@dit.upm.es 1. Introduction

More information

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt Dr.

More information

RADX - Rapid development of web applications in XML

RADX - Rapid development of web applications in XML RADX - Rapid development of web applications in XML José Paulo Leal and Jorge Braz Gonçalves DCC-FC, University of Porto R. Campo Alegre, 823 4150 180 Porto, Portugal zp@dcc.fc.up.pt, jgoncalves@ipg.pt

More information

UC Irvine UC Irvine Previously Published Works

UC Irvine UC Irvine Previously Published Works UC Irvine UC Irvine Previously Published Works Title Differencing and merging within an evolving product line architecture Permalink https://escholarship.org/uc/item/0k73r951 Authors Chen, Ping H Critchlow,

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

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

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks Object-Oriented Analysis Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks Object-Oriented Analysis -- 1 Object-Oriented Analysis Object-Oriented

More information

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS Adem Zumbul (TUBITAK-UEKAE, Kocaeli, Turkey, ademz@uekae.tubitak.gov.tr); Tuna Tugcu (Bogazici University, Istanbul, Turkey, tugcu@boun.edu.tr) ABSTRACT

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

Using the UML to Describe Design Patterns

Using the UML to Describe Design Patterns Proceedings of the 16 th Annual NACCQ, Palmerston North New Zealand July, 2003 (eds) Mann, S. and Williamson, A. www.naccq.ac.nz Using the UML to Describe Design Patterns ABSTRACT to describe patterns

More information

Introspection in System-Level Language Frameworks: Meta-level vs. Integrated

Introspection in System-Level Language Frameworks: Meta-level vs. Integrated Introspection in System-Level Language Frameworks: Meta-level vs. Integrated Frederic Doucet Univ. of California, Irvine Irvine, CA 92697 USA doucet@ics.uci.edu Sandeep Shukla Virginia Tech Blacksburg,

More information

Predicting Memory Use from a Class Diagram using Dynamic Information

Predicting Memory Use from a Class Diagram using Dynamic Information Preprint 1998 Workshop on Software and Performance Predicting Memory Use from a Class Diagram using Dynamic Information Gail C. Murphy and Ekaterina Saenko Department of Computer Science, University of

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

Design Patterns for Description-Driven Systems

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

More information

Transactions on Engineering Sciences vol 3, 1993 WIT Press, ISSN

Transactions on Engineering Sciences vol 3, 1993 WIT Press,   ISSN Object-oriented data model for computer aided design in electrical engineering I. Salomie," D.G. Elliman* Computer Science and Engineering Department, Technical Romania & Computer Science Department, University

More information

Appendix: How to get OBST / tclobst. References

Appendix: How to get OBST / tclobst. References development effort for applications and by opening the way to functionality already available as Tcl extensions, most notably Tk and related s. With tcl the full power of is provided for convenient and

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

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

Introduction to Design Patterns

Introduction to Design Patterns Dr. Michael Eichberg Software Engineering Department of Computer Science Technische Universität Darmstadt Software Engineering Introduction to Design Patterns (Design) Patterns A pattern describes... Patterns

More information

Idioms and Design Patterns. Martin Skogevall IDE, Mälardalen University

Idioms and Design Patterns. Martin Skogevall IDE, Mälardalen University Idioms and Design Patterns Martin Skogevall IDE, Mälardalen University 2005-04-07 Acronyms Object Oriented Analysis and Design (OOAD) Object Oriented Programming (OOD Software Design Patterns (SDP) Gang

More information

Galaxy Custom Designer SE The New Choice in Custom Schematic Editing and Simulation Environment

Galaxy Custom Designer SE The New Choice in Custom Schematic Editing and Simulation Environment Datasheet Galaxy Custom Designer SE The New Choice in Custom Schematic Editing and Simulation Environment Overview Galaxy Custom Designer SE is the next-generation choice for schematic entry, enabling

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

Generation Rules in POMA Architecture

Generation Rules in POMA Architecture J. Software Engineering & Applications, 2010, 3, 1040-1046 doi:10.4236/jsea.2010.311122 Published Online November 2010 (http://www.scirp.org/journal/jsea) Mohamed Taleb 1, Ahmed Seffah 2, Alain Abran 1

More information

Internet Application Developer

Internet Application Developer Internet Application Developer SUN-Java Programmer Certification Building a Web Presence with XHTML & XML 5 days or 12 evenings $2,199 CBIT 081 J A V A P R O G R A M M E R Fundamentals of Java and Object

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

Towards Support for Design Description Languages in EDA Frameworks *

Towards Support for Design Description Languages in EDA Frameworks * Towards Support for Design Description Languages in EDA Frameworks * Olav Schettler, Susanne Heymann {schettler, heymann}@gmd.de GMD, D-53754 Sankt Augustin, Germany Abstract We report on a new framework

More information

Goals of Lecture. Lecture 27: OO Design Patterns. Pattern Resources. Design Patterns. Cover OO Design Patterns. Pattern Languages of Programming

Goals of Lecture. Lecture 27: OO Design Patterns. Pattern Resources. Design Patterns. Cover OO Design Patterns. Pattern Languages of Programming Goals of Lecture Lecture 27: OO Design Patterns Cover OO Design Patterns Background Examples Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2001 April 24, 2001 Kenneth

More information

PersistF: A Transparent Persistence Framework with Architecture Applying Design Patterns

PersistF: A Transparent Persistence Framework with Architecture Applying Design Patterns Issues in Informing Science and Information Technology Volume 4, 2007 PersistF: A Transparent Persistence Framework with Architecture Applying Design Patterns Samir Jusic and Lee Sai Peck Faculty of Computer

More information

An Annotation Tool for Semantic Documents

An Annotation Tool for Semantic Documents An Annotation Tool for Semantic Documents (System Description) Henrik Eriksson Dept. of Computer and Information Science Linköping University SE-581 83 Linköping, Sweden her@ida.liu.se Abstract. Document

More information

Provide data abstraction to enhance reusability.

Provide data abstraction to enhance reusability. Provide data abstraction to enhance reusability. Author 1 Marco Nissen Max-Planck-Institut für Informatik, Im Stadtwald, 66123 Saarbrücken E-mail: marco@mpi-sb.mpg.de URL: http://www.mpi-sb.mpg.de/~marco

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS LESSON PLAN (2017-2018) Course / Branch : BCA Total Hours : 45 Subject Name : OBJECT ORIENTED

More information

Partial Acquisition Prashant Jain and Michael Kircher

Partial Acquisition Prashant Jain and Michael Kircher 1 Partial Acquisition Prashant Jain and Michael Kircher {Prashant.Jain,Michael.Kircher}@mchp.siemens.de Siemens AG, Corporate Technology Munich, Germany Partial Acquisition 2 Partial Acquisition The Partial

More information

Model-View-Controller

Model-View-Controller CNM STEMulus Center Web Development with PHP November 11, 2015 1/8 Outline 1 2 2/8 Definition A design pattern is a reusable and accepted solution to a particular software engineering problem. Design patterns

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Design Flows Overview Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To

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

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE Andrei Kirshin, Dany Moshkovich, Alan Hartman IBM Haifa Research Lab Mount Carmel, Haifa 31905, Israel E-mail: {kirshin, mdany, hartman}@il.ibm.com

More information

A MULTI-LEVEL DESIGN PATTERN FOR EMBEDDED SOFTWARE *

A MULTI-LEVEL DESIGN PATTERN FOR EMBEDDED SOFTWARE * A MULTI-LEVEL DESIGN PATTERN FOR EMBEDDED SOFTWARE * Ricardo J. Machado and João M. Fernandes Dept. Sistemas de Informação & Dept. Informática, Universidade do Minho, Portugal Abstract: It is a common

More information

Pattern Density and Role Modeling of an Object Transport Service

Pattern Density and Role Modeling of an Object Transport Service Pattern Density and Role Modeling of an Object Transport Service Dirk Riehle. SKYVA International. 25 First Street, Cambridge, MA 02129, U.S.A. E-mail: driehle@skyva.com or riehle@acm.org Roger Brudermann.

More information

Lecture 19: Introduction to Design Patterns

Lecture 19: Introduction to Design Patterns Lecture 19: Introduction to Design Patterns Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte

More information

EuroPLoP 2003 Focus Group: Patterns for Component Composition and Adaptation

EuroPLoP 2003 Focus Group: Patterns for Component Composition and Adaptation EuroPLoP 2003 Focus Group: Patterns for Component Composition and Adaptation Uwe Zdun Department of Information Systems, Vienna University of Economics, Austria zdun@acm.org Markus Voelter voelter - Ingenieurbüro

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Design Flows Overview Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK

AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK Wilfrid Lefer LIUPPA - Université de Pau B.P. 1155, 64013 Pau, France e-mail: wilfrid.lefer@univ-pau.fr ABSTRACT VTK (The Visualization Toolkit) has

More information

Idioms for Building Software Frameworks in AspectJ

Idioms for Building Software Frameworks in AspectJ Idioms for Building Software Frameworks in AspectJ Stefan Hanenberg 1 and Arno Schmidmeier 2 1 Institute for Computer Science University of Essen, 45117 Essen, Germany shanenbe@cs.uni-essen.de 2 AspectSoft,

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

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

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

Presenter: Dong hyun Park

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

More information

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