Implementing a Real-Time Architecting Method in a Commercial CASE Tool

Size: px
Start display at page:

Download "Implementing a Real-Time Architecting Method in a Commercial CASE Tool"

Transcription

1 Implementing a Real-Time Architecting Method in a Commercial CASE Tool José L. Fernández-Sánchez Escuela Técnica Superior de Ingenieros Industriales C/ José Gutiérrez Abascal Madrid - Spain Phone: Juan C. Martínez-Charro Escuela Técnica Superior de Ingenieros Industriales C/ José Gutiérrez Abascal Madrid - Spain jcmartinez@alum.etsii.upm.es jlfdez@ingor.etsii.upm.es Abstract: Late nineties, the first author proposed a new style for concurrent object oriented architectures. The style can be used in object-oriented systems when individual paths of execution are required to be concurrent and multiple processes may be positioned along the path to control the action. Therefore each process controls a segment of the path sequentially. So he called the style PPOOA, Pipelines of Processes in Object Oriented Architectures [1]. PPOOA promotes that architectural decisions related to concurrency in real-time systems should be made at the preliminary design phase. The PPOOA profile was implemented in a specific prototype CASE tool as part of the research work of the CARTS project funded by the European Union, IST initiative. Developing mature functionalities for such prototype tools requires significant effort. As a consequence the architecting method seems immature or awkward to use in research tool prototypes. Such a problems can impede industrial adoption of the PPOOA software architecting method. Commercial CASE tools already support UML notation and offer general functionality that is expected of visual languages. Visual elements can be created and deleted; manipulated; connected; copied and pasted; and saved and loaded. Developers are already familiar with commercial CASE tools. Thus a particular software development method as PPOOA can be crafted on the top of the existing general functionality of the commercial visual CASE tool. We illustrate the approach with the implementation of PPOOA on the top of Microsoft Visio, considering the extension mechanisms of the tool, and the PPOOA metamodel previously created as an extension of UML metamodel [2]. Keywords: Methodologies, CASE tools, software architecture, real-time systems and UML 1/8

2 1. INTRODUCTION Late nineties, the first author proposed a new style for concurrent object oriented architectures. The style can be used in object-oriented systems when individual paths of execution are required to be concurrent and multiple processes may be positioned along the path to control the action. Therefore each process controls a segment of the path sequentially. So he called the style PPOOA, Pipelines of Processes in Object Oriented Architectures [1]. PPOOA promotes that architectural decisions related to concurrency in real-time systems should be made at the preliminary design phase. Currently UML [5] is the standard notation for component based software development. An important issue of UML is its capacity to be extended by using the profiling concept that allows the compatibility with other UML modeling issues. A UML profile is defined as a stereotype of package that groups model elements that have been customized for a specific domain. It allows one to develop variants of the UML suited for such specific domain. The PPOOA profile is compatible with UML and improves its use in real-time architectures. The UML stereotypes are extended with the elements of the style (periodic and aperiodic processes, controller object, and coordination mechanisms). The modeling of event responses with enhanced UML activity diagrams is also critical for the analysis of the time responsiveness in real-time systems. This representation allows a seamless application of real-time behavior analysis techniques such as Rate Monotonic Analysis (RMA) [3] Commercial CASE tools already support UML notation and offer general functionality that is expected of visual languages. Visual elements can be created and deleted; manipulated; connected; copied and pasted; and saved and loaded. Developers are already familiar with commercial CASE tools. Thus a particular software development method as PPOOA can be crafted on the top of the existing general functionality of a commercial visual CASE tool. We illustrate the approach with the implementation of PPOOA on the top of Microsoft Visio, considering the extension mechanisms of the tool, and the PPOOA metamodel previously created as an extension of UML metamodel [2]. The PPOOA profile is compatible with UML and improves its use in real-time architectures. The UML stereotypes are extended with the elements of the style (periodic and aperiodic processes, controller object, and coordination mechanisms). UML Activity diagrams are also adapted for PPOOA requirements, specifically modeling resources and considering scheduling points. The paper is organized as follows: Section 2 presents the main characteristics of PPOOA architectural style for realtime component based systems. Section 3 describes briefly Microsoft Visio, the commercial CASE tool used. The Visio extension mechanisms, that allow the implementation of new methodologies on the top of the tool, are presented. Section 4 describes the approach followed to implement PPOOA on the top of Visio. Some figures represent the look and feel of the diagrams supported. Section 5 gives the principal conclusions of this work and its perspectives. 2. PPOOA, AN ARCHITECTURAL STYLE FOR REAL-TIME SYSTEMS A real-time system is one in which correctness depends on meeting time constraints. In these systems, correctness arguments must reason about functional requirements and response time requirements. Real-time systems often have to deal with multiple independent streams of input events and produce multiple outputs. These events have arrival rates often unpredictable, although they should be processed meeting timing constraints specified by software requirements. Object oriented methodologies and early architectural decomposition efforts traditionally focus on domain analysis and functional cohesion to derive software components. 2/8

3 The experiences in defining time constrained architectures, let us to consider that timing concerns must play an important role in the choice of system components and objects. Concurrency modelling and its accompanying coordination (synchronization and/or communication) behaviour become a dominant concern surprisingly early in the architecture development process whenever response time is a critical factor. Pipelines of processes can be used in object oriented systems when individual paths of execution are required to be concurrent, and multiple processes may be positioned along the path to control the action (Figure 1). Therefore each process controls a segment of the path sequentially. An example of this architecture style is PPOOA, "Pipelines of Processes in Object Oriented Architectures" [1]. Figure 1. Pipelines of Processes PPOOA promotes that architectural decisions related to concurrency in real-time systems should be made at the preliminary design or architecture phase of the development cycle. Currently UML is the standard notation for object oriented development. An important issue of UML is its capacity to be extended by using the profiling concept that allows the compatibility with other UML modeling issues. A UML profile is defined as a stereotype of package that groups model elements that have been customized for a specific domain. It allows one to develop variants of the UML suited for such specific domain. The PPOOA profile is compatible with UML and improves its use in real-time architectures. The UML stereotypes are extended with the elements of the style (periodic and aperiodic processes, controller object, and coordination mechanisms). Activity diagrams are also adapted for Rate Monotonic Analysis (RMA) [3] requirements, specifically modeling resources and considering scheduling points. This adaptation allows seamless application of time responsiveness assessment of the software architecture represented in PPOOA. We describe a software architecture using two views; one is a static representation and the other, the dynamic view of the system, represented by the modeling of the responses to external, timer or internal events. The PPOOA architecture diagram is used instead of the UML component diagram to describe the static view of the architecture. The PPOOA architecture diagram focuses on "design or conceptual components" representation and the composition and usage relationships between them. PPOOA coordination mechanisms are also represented. The PPOOA dynamic view supports the "Causal Flow of Activities" representation. A CFA represents a system internal view of the activities performed by one system response to an event. The building elements of a CFA are: Triggering event, activity(ies) and continuation elements. These elements are described in the PPOOA metamodel [2]. For PPOOA dynamic view, we recommend the UML activity diagram notation extended to implement CFA building elements. 3/8

4 3. VISIO, AN ADAPTABLE DESIGN TOOL Commercial CASE tools already support UML notation and offer general functionality that is expected of visual languages. Visual elements can be created and deleted; manipulated; connected; copied and pasted; and saved and loaded. We decided to choose Microsoft Visio because it is highly customizable and offers a robust user interface to build upon [4]. Furthermore, it has a large user base and is commonly found in industry. Visio can be easily customized for different domains as nicely illustrated by the applications that Visio already offers: UML and other software methods diagrams, network architectures diagrams, ER diagrams to model databases, electrical engineering diagrams, pipes and instruments diagrams for industrial processes etc. A Visio customized application for a specific domain can, for example, offers customized stencils that contain the visual elements of the domain, additional toolbars, accelerators and menus, additional menu entries in a visual element s context menu, custom properties for visual elements, windows that contain hierarchical views ( model explorer ), domain-specific error messages, and help features as an extension to the Visio help systems. The Visio object model represents the objects, properties, methods and events that the Visio engine exposes through automation. Most objects in the model correspond to items, the user can see and select in the Visio user interface. Typical objects in the Visio model are: application/global object, document object, page object, master object, selection object, shape object and window object. For example, a shape object can represent anything on a Visio drawing page that the user can select with a pointer or an object from another application that is linked, embedded, or imported into a Visio drawing [4]. Some objects represent collections of other objects. For example, a Document object represents one open document in a Visio instance. Visio exposes a Visual Basic API to access and analyze a document. All GUI elements (e.g., window, page, shape, and selection objects) are represented in the Visio object model [4]. A Visio event is an action or occurrence, often generated by a tool user. Events can result from actions such as opening or closing documents, dropping or deleting shapes on a drawing page, editing the text of shapes, and altering shape formulas. Events can be handled programmatically or by using Visio formulas. 4. IMPLEMENTING PPOOA IN VISIO We followed an approach to implement PPOOA in Visio that is consistent with the tool builder recommendation: Identify PPOOA building elements currently not supported by Visio UML template. Develop and implement PPOOA s shapes and stencils in Visio. Once we were satisfied with the initial set of shapes, we developed the drawing assistants or dialog boxes that the user might need to construct PPOOA diagrams (architecture diagrams and CFA s). Finally, since PPOOA s shapes and dialog boxes interact with the tool database we determined how to design shapes and set their attributes and behavior accordingly. PPOOA Visio implementation was developed following the object-oriented paradigm to allow easy modifiability and evolution. We decided to use Microsoft Visual C++ as programming language. We used Microsoft Foundation Library to create the dialog boxes and windows we need to develop the PPOOA-Visio user interface. The developing process was incremental. We developed two prototypes, we called them version 1 and version 2. The project team developed more than 8000 LOC. 4/8

5 PPOOA-Visio tool version 1 prototype was developed to validate the viability of using Visio to support PPOOA building elements and PPOOA-UML metamodel. This version offers a template with two stencils: the architecture diagram stencil and the dynamic view stencil. The Visio library, including the dialog boxes the user needs to add PPOOA building information in the Visio document, is also supported. Tool version 2 prototype is an enhancement of version 1 that has the following features: Drawing explorer window. Called here PPOOA Navigator (Figure 1). This window contains the references to architecture diagrams or views of the developed system, and the instances of the PPOOA building elements used in this particular software architecture. Handling Visio events. In Visio, events can result from user actions such as opening or closing documents, dropping or deleting shapes on the drawing page, editing the text of shapes and altering shape attributes. Implementing PPOOA document structure. That is, pages representing architecture diagrams, and pages representing the dynamic view or responses model represented by the CFAs. Figure 1. PPOOA Navigator Window 5/8

6 An example of a PPOOA-Visio window is shown in Figure 3. It represents an incomplete architecture diagram for the data acquisition system architected using PPOOA-UML building elements. For PPOOA we could reuse several shapes (masters in Visio terminology) that were already part of Visio UML template. Other shapes as coordination mechanisms (semaphore, bounded buffer, transporter and rendezvous) are specific of PPOOA building elements. In the architecture diagram, components and coordination mechanisms are independently tagged, and their attributes defined and stored in the tool database. Figure 3. PPOOA Architecture Diagram The PPOOA dynamic view supports the "Causal Flow of Activities" representation. A CFA represents a system internal view of the activities performed by one system response to an event. The building elements of a CFA are: Triggering event, activity(ies) and continuation elements. These elements are described in the PPOOA metamodel [2]. For PPOOA dynamic view, we recommend the UML activity diagram notation extended to implement CFA building elements and PPOOA constraints. Figure 4 is an example describing the response that models the activities of the processing of raw data to convert it to engineering units and check its alarm condition. Different instances of the components represented in the architecture diagram can participate in the CFA. In a complex and large system we need several CFAs to model the complete system behavior. 6/8

7 Figure 4. Raw Data Processing CFA The PPOOA-Visio implementation can generate an architecture document of the designed architecture by a simple mouse right button click. This feature simplifies the tedious documentation writing activity of the software architect. The tool collects data from the PPOOA building elements represented in the diagrams, to automatically generate the architecture document. 5. CONCLUSIONS AND PERSPECTIVES Visio-PPOOA has many desirable features from the user and adoption point of view. Users will make likely architect real-time systems using visual tools that are integrated in an environment that they are familiar with. Help Features and extensions will be added to the tool to instruct novice users about the PPOOA methodological issues, tactics and guidelines. We are improving the PPOOA-Visio implementation to allow the automatic model checking. Typically, PPOOA components composition constraints, and usage dependencies between components and coordination mechanisms shall be checked to avoid incorrect static architecture models. Future research is the integration of PPOOA Visio with a Rate Monotonic Analysis tool to allow automatic analysis of the time responsiveness properties of the designed real-time system architecture. 7/8

8 References [1] Fernandez J.L. An Architectural Style for Object Oriented Real-Time Systems. Proceedings of the Fifth International Conference on Software Reuse. Victoria(Canada). IEEE [2] Fernandez-Sanchez, J.L. and Monzon, A. Extending UML for Real-Time Component-Based Architectures. 14 th International Conference on Software and Systems Engineering and their Applications. Paris (France). December [3] Klein, M. Ralya, T. Pollak, B. Obenza, R. and Gonzalez-Harbour, M. A Practitioner s Handbook for Real- Time Analysis. Guide to Rate Monotonic Analysis for Real-Time Systems. Kluwer Academic Publishers, Norwell, MA [4] Microsoft. Developing Microsoft Visio Solutions. Microsoft Press. Redmond, WA [5] Object Management Group. Unified Modeling Language. Standard Version 1.5.March /8

PPOOA, An Architectural Style for Real Time Systems

PPOOA, An Architectural Style for Real Time Systems PPOOA, An Architectural Style for Real Time Systems José Luis Fernández Sánchez Industrial Engineering School Universidad Politécnica de Madrid e-mail: fernandezjl@acm.org September 2004 PPOOA-WP-01_2004.pdf

More information

Extending UML for Real-Time Component Based Architectures

Extending UML for Real-Time Component Based Architectures 4th International Conference Software & Systems Engineering and their Applications, Paris, France, December 200 Extending UML for Real-Time Component Based Architectures José L. Fernández-Sánchez Escuela

More information

An Integrated Systems and Software Engineering Process (ISE&PPOOA)

An Integrated Systems and Software Engineering Process (ISE&PPOOA) An Integrated Systems and Software Engineering Process (ISE&PPOOA) Seminar at Aula Artigas. Industrial Engineering School. ETSII- UPM. Madrid (Spain). May 18, 2012. José Luis Fernández Sánchez Profesor

More information

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017

IDERA ER/Studio Software Architect Evaluation Guide. Version 16.5/2016+ Published February 2017 IDERA ER/Studio Software Architect Evaluation Guide Version 16.5/2016+ Published February 2017 2017 IDERA, Inc. All rights reserved. IDERA and the IDERA logo are trademarks or registered trademarks of

More information

2.5.1: Reforms in Continuous Internal Evaluation (CIE) System at the Institutional Level

2.5.1: Reforms in Continuous Internal Evaluation (CIE) System at the Institutional Level D Y Patil Institute of Engineering and Technology, Ambi, Pune Address:Sr.No.124 & 126, A/p- Ambi, Tal-Maval, MIDC Road, TalegaonDabhade, Pune-410506, Maharashtra, India Tel: 02114306229, E-mail : info@dyptc.edu.in

More information

iserver Free Archimate ArchiMate 1.0 Template Stencil: Getting from Started Orbus Guide Software Thanks for Downloading the Free ArchiMate Template! Orbus Software have created a set of Visio ArchiMate

More information

Architectural Design

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

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

Overview of Sentence Order Reference Document Development Process

Overview of Sentence Order Reference Document Development Process Overview of Sentence Order Reference Document Development Process Scott Came Justice Integration Solutions, Inc. September 14, 2004 Purpose The purpose of this document is to outline the process/methodology

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

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

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

Spemmet - A Tool for Modeling Software Processes with SPEM

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

More information

Architectural Design

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

More information

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An Introduction to Software Architecture By David Garlan & Mary Shaw 94 IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

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

More information

Lecture 1. Chapter 6 Architectural design

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

More information

Topic 3 Unified Modeling Language UML. Objective: Student will use UML to represent relationshiops between objects, its structure and dynamics.

Topic 3 Unified Modeling Language UML. Objective: Student will use UML to represent relationshiops between objects, its structure and dynamics. Topic 3 Unified Modeling Language UML Objective: Student will use UML to represent relationshiops between objects, its structure and dynamics. Contents: 1. Structure diagrams 2. Behavior diagrams What

More information

SYLLABUS CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Reuse Driven Software Engineering is a Business

SYLLABUS CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Reuse Driven Software Engineering is a Business Contents i UNIT - I UNIT - II UNIT - III CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Software Reuse Success Factors. CHAPTER - 2 [REUSE-DRIVEN SOFTWARE ENGINEERING IS A BUSINESS] Reuse Driven Software

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More information

How to Use Profile Diagram to Manage Stereotypes? Written Date : March 6, 2016

How to Use Profile Diagram to Manage Stereotypes? Written Date : March 6, 2016 Written Date : March 6, 2016 Unified Modeling Language (UML) is a general purpose modeling language which is widely used in modeling software systems. In some occasions, UML may not be precise enough for

More information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

Data Sources. Database ON CREATING A NEW FORMAT FOR POWER QUALITY AND QUANTITY DATA INTERCHANGE. Communications Link, Memory Storage, or Disk Storage

Data Sources. Database ON CREATING A NEW FORMAT FOR POWER QUALITY AND QUANTITY DATA INTERCHANGE. Communications Link, Memory Storage, or Disk Storage ON CREATING A NEW FORMAT FOR POWER QUALITY AND QUANTITY DATA INTERCHANGE Erich W. Gunther Electrotek Concepts, Inc. Knoxville, Tennessee erich@electrotek.com Abstract -- The recent release of IEEE 1159,

More information

Using the UML for Architectural Description Rich Hilliard

Using the UML for Architectural Description Rich Hilliard Using the UML for Architectural Description Rich Hilliard rh@isis2000.com Outline What is IEEE P1471? The IEEE P1471 Conceptual Framework Requirements on Architectural Descriptions Using the UML in the

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

Topic : Object Oriented Design Principles

Topic : Object Oriented Design Principles Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities

More information

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views 1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties

More information

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving

More information

Integration With the Business Modeler

Integration With the Business Modeler Decision Framework, J. Duggan Research Note 11 September 2003 Evaluating OOA&D Functionality Criteria Looking at nine criteria will help you evaluate the functionality of object-oriented analysis and design

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

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

Component-Based Technologies for End-User Development

Component-Based Technologies for End-User Development Paper to be published in Communications of the ACM, special issue on End-User Development, Sept. 2004 Component-Based Technologies for End-User Development Anders I. Mørch 1, Gunnar Stevens 2, Markus Won

More information

Topic 10. WebE - Information Design

Topic 10. WebE - Information Design Topic 10 WebE - Information Design Information Design Model: Summary Three key issues: 1. Content. What content is available? Content Objects? Data Structures? 2. Composition. What views on that content

More information

UML-Based Conceptual Modeling of Pattern-Bases

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

More information

An Agent Modeling Language Implementing Protocols through Capabilities

An Agent Modeling Language Implementing Protocols through Capabilities An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,

More information

Applying Interaction Patterns: Towards a Model-Driven Approach for Rich Internet Applications Development

Applying Interaction Patterns: Towards a Model-Driven Approach for Rich Internet Applications Development Applying Interaction Patterns: Towards a Model-Driven Approach for Rich Internet Applications Development Francisco Valverde, Oscar Pastor Department of Information Systems and Computation Universidad

More information

A Role-based Use Case Model for Remote Data Acquisition Systems *

A Role-based Use Case Model for Remote Data Acquisition Systems * A Role-based Use Case Model for Remote Acquisition Systems * Txomin Nieva, Alain Wegmann Institute for computer Communications and Applications (ICA), Communication Systems Department (DSC), Swiss Federal

More information

Apply a Design Pattern

Apply a Design Pattern Apply a Design Pattern Objectives After completing this lab, you will be able to: Given Apply a design pattern to a model. Transform UML classes to Java classes. Explore the transformation results. No

More information

Acknowledgements...xvii. Foreword...xix

Acknowledgements...xvii. Foreword...xix Contents Acknowledgements...xvii Foreword...xix Chapter 1 An Introduction to BPM... 1 1.1 Brief History of Business Process Management... 1 1.1.1 The Need for Business Value... 1 1.1.2 The Production Line...

More information

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

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

More information

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

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

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

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

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Arnon Sturm Department of Information Systems Engineering Ben-Gurion University of the Negev, Beer Sheva 84105, Israel

More information

EPL603 Topics in Software Engineering

EPL603 Topics in Software Engineering Lecture 5 Architectural Design & Patterns EPL603 Topics in Software Engineering Efi Papatheocharous Visiting Lecturer efi.papatheocharous@cs.ucy.ac.cy Office FST-B107, Tel. ext. 2740 Topics covered Software

More information

Module B1 An Introduction to TOGAF 9.1 for those familiar with TOGAF 8

Module B1 An Introduction to TOGAF 9.1 for those familiar with TOGAF 8 Informs the capability Ensures Realization of Business Vision Business needs feed into method Refines Understanding Informs the Business of the current state Sets targets, KPIs, budgets for architecture

More information

Software Requirements Specification (SRS) Graphical Model Editing Framework (GMEF) Motorola 1

Software Requirements Specification (SRS) Graphical Model Editing Framework (GMEF) Motorola 1 Software Requirements Specification (SRS) Graphical Model Editing Framework (GMEF) Motorola 1 Final Draft Due December 7, 2006 Authors: Greg Heil, Andrew Holder, Karli Lopez, Josh Detwiler Customer: Kabe

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, 2004 Vol. 3, No. 7, July-August 2004 UML 2 Activity and Action Models Part 5: Partitions

More information

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML D. Beltran*, LLS, Barcelona, Spain M. Gonzalez, CERN, Geneva, Switzerlan Abstract CELLS (Consorcio para la construcción, equipamiento

More information

From Craft to Science: Rules for Software Design -- Part II

From Craft to Science: Rules for Software Design -- Part II From Craft to Science: Rules for Software Design -- Part II by Koni Buhrer Software Engineering Specialist Rational Software Developing large software systems is notoriously difficult and unpredictable.

More information

Fundamental Concepts of Parallel Programming

Fundamental Concepts of Parallel Programming Fundamental Concepts of Parallel Programming Abstract The concepts behind programming methodologies and techniques are always under development, becoming more complex and flexible to meet changing computing

More information

Architectural Styles. Reid Holmes

Architectural Styles. Reid Holmes Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles Reid Holmes Lecture 5 - Tuesday,

More information

MDA. SOA = Model Driven SOA

MDA. SOA = Model Driven SOA Introducing Model Driven SOA MDA + SOA = Model Driven SOA SoaML an Emerging Standard for SOA Modeling Dr. Darius Silingas Principal Trainer/Consultant darius.silingas@nomagic.com Introduction Who Am I?

More information

Adobe InDesign CC Voluntary Product Accessibility Template

Adobe InDesign CC Voluntary Product Accessibility Template Adobe InDesign CC Voluntary Product Accessibility Template The purpose of the Voluntary Product Accessibility Template is to assist Federal contracting officials in making preliminary assessments regarding

More information

Applying UML Modeling and MDA to Real-Time Software Development

Applying UML Modeling and MDA to Real-Time Software Development Michael Benkel Aonix GmbH www.aonix.de michael.benkel@aonix.de Applying UML Modeling and MDA to Real-Time Software Development The growing complexity of embedded real-time applications requires presentation

More information

CMPT E100 Introduction to Software Engineering Spring Assignment 2 (9%) - Requirements and Initial Design 1

CMPT E100 Introduction to Software Engineering Spring Assignment 2 (9%) - Requirements and Initial Design 1 CMPT 276-4 E100 Introduction to Software Engineering Spring 2017 Assignment 2 (9%) - Requirements and Initial Design 1 Deliverables Due Time Requirement Document, Design document + Quality Assurance Plan

More information

Ch 1: The Architecture Business Cycle

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

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

Science of Computer Programming. A model-driven process for the modernization of component-based systems

Science of Computer Programming. A model-driven process for the modernization of component-based systems Science of Computer Programming 77 (2012) 247 269 Contents lists available at SciVerse ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico A model-driven process

More information

Tutorial. [PROMET + SemTalk]

Tutorial. [PROMET + SemTalk] Tutorial PROMET@Work [PROMET + SemTalk] Version 2.0 Stand: August 2005 / The Information Management Group Index Table of figues...ii PROMET@Work 2 minimum installation requirements...iii 1 Introduction...1

More information

Object Oriented Analysis and Design - Part2(Design)

Object Oriented Analysis and Design - Part2(Design) Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems

More information

Automatic Synthesis of Multi-Tasking Implementations from Real-Time Object-Oriented Models

Automatic Synthesis of Multi-Tasking Implementations from Real-Time Object-Oriented Models Automatic Synthesis of Multi-Tasking Implementations from Real-Time Object-Oriented Models M. Saksena P. Karvelas Y. Wang Department of Computer Science, Concordia University Montreal, Quebec H3G 1M8,

More information

TUML: A Method for Modelling Temporal Information Systems

TUML: A Method for Modelling Temporal Information Systems TUML: A Method for Modelling Temporal Information Systems 2 Marianthi Svinterikou 1, Babis Theodoulidis 2 1 Intrasoft, GIS Department, Adrianiou 2, 11525 Athens, Greece MSSvin@tee.gr UMIST, Department

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

WPF. Source Module 01: Lesson1

WPF. Source Module 01: Lesson1 WPF Creating an Application by Using Windows Presentation Foundation Lesson: Overview of WPF What Is WPF? WPF Architecture Defining User Interfaces in WPF WPF Capabilities and Features WPF Application

More information

3Lesson 3: Web Project Management Fundamentals Objectives

3Lesson 3: Web Project Management Fundamentals Objectives 3Lesson 3: Web Project Management Fundamentals Objectives By the end of this lesson, you will be able to: 1.1.11: Determine site project implementation factors (includes stakeholder input, time frame,

More information

UML for Real-Time Overview

UML for Real-Time Overview Abstract UML for Real-Time Overview Andrew Lyons April 1998 This paper explains how the Unified Modeling Language (UML), and powerful modeling constructs originally developed for the modeling of complex

More information

An Industry Definition of Business Architecture

An Industry Definition of Business Architecture Architecture: State of the Art / State of the Practice ---------------------------- William M. Ulrich Tactical Strategy Group, Inc. www.systemtransformation.com An Industry Definition of Architecture A

More information

Hippo Software BPMN and UML Training

Hippo Software BPMN and UML Training Hippo Software BPMN and UML Training Icon Key: www.hippo-software.co.uk Teaches theory concepts and notation Teaches practical use of Enterprise Architect Covers BPMN, UML, SysML, ArchiMate Includes paper

More information

Software Architecture. Lecture 4

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

More information

Software Life-Cycle Models

Software Life-Cycle Models Software Life-Cycle Models CMPSC 487 Lecture 03 Topics: UML Class Diagram Rosenburg Chap 2. Domain Modeling A. UML: Unified Modeling Language UML is a general-purpose, developmental, modeling language

More information

Business Activity. predecessor Activity Description. from * successor * to. Performer is performer has attribute.

Business Activity. predecessor Activity Description. from * successor * to. Performer is performer has attribute. Editor Definition Language and Its Implementation Audris Kalnins, Karlis Podnieks, Andris Zarins, Edgars Celms, and Janis Barzdins Institute of Mathematics and Computer Science, University of Latvia Raina

More information

Preparing design to support automation and robotisation in construction

Preparing design to support automation and robotisation in construction Preparing design to support automation and robotisation in construction Yuhua Luo University of Balearic Islands 07122 Palma de Mallorca, Spain dmilyu0@uib.es ABSTRACT: To support automation and robotisation

More information

An Introduction to Software Architecture

An Introduction to Software Architecture An Introduction to Software Architecture Software Engineering Design Lecture 11 Motivation for studying SW architecture As the size of SW systems increases, the algorithms and data structures of the computation

More information

3rd Lecture Languages for information modeling

3rd Lecture Languages for information modeling 3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

A Reliable Broadcast System

A Reliable Broadcast System A Reliable Broadcast System Yuchen Dai, Xiayi Huang, Diansan Zhou Department of Computer Sciences and Engineering Santa Clara University December 10 2013 Table of Contents 2 Introduction......3 2.1 Objective...3

More information

For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop.

For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop. For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop. The authors can be reached at cb@mitre.org or ioannis @Mitre.org. In

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

Verification of Requirements For Safety-Critical Software

Verification of Requirements For Safety-Critical Software Verification of Requirements For Safety-Critical Software Paul B. Carpenter Director, Life Cycle Technology Aonix, 5040 Shoreham Place, San Diego, CA USA, 92122 Email: paulc@aonix.com; Tel: 602-816-0245;

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

Rational Software White paper

Rational Software White paper Unifying Enterprise Development Teams with the UML Grady Booch Rational Software White paper 1 There is a fundamental paradox at play in contemporary software development. On the one hand, organizations

More information

Components Based Design and Development. Unit 3: Software Design Quick Overview

Components Based Design and Development. Unit 3: Software Design Quick Overview Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 3: Software Design Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos

More information

Design. Eric McCreath

Design. Eric McCreath Design Eric McCreath 2 Good Design As you move from Idea to Implementation good design plays a key part in making software robust, maintainable, and flexible. Good design is difficult It is easy to overcomplicate

More information

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48)

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) Course Title: Software Engineering Course No. : ICT Ed 528 Nature of course: Theoretical + Practical Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) 1. Course Description The

More information

Software Architecture. Lecture 5

Software Architecture. Lecture 5 Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics

More information

Software Synthesis from Dataflow Models for G and LabVIEW

Software Synthesis from Dataflow Models for G and LabVIEW Software Synthesis from Dataflow Models for G and LabVIEW Hugo A. Andrade Scott Kovner Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 andrade@mail.utexas.edu

More information

ORACLE TUTOR AUTHOR PROCEDURE WRITING MADE EASY

ORACLE TUTOR AUTHOR PROCEDURE WRITING MADE EASY ORACLE TUTOR DATA SHEET ORACLE TUTOR AUTHOR PROCEDURE WRITING MADE EASY WITH AUTHOR, PROCEDURES PRACTICALLY WRITE THEMSELVES SAVES TIME Toolbar lets you write and format quickly Automatic flowcharting

More information

CS 4317: Human-Computer Interaction

CS 4317: Human-Computer Interaction September 8, 2017 Tentative Syllabus CS 4317: Human-Computer Interaction Spring 2017 Tuesday & Thursday, 9:00-10:20, Psychology Building, room 308 Instructor: Nigel Ward Office: CCS 3.0408 Phone: 747-6827

More information

News in RSA-RTE 10.0 updated for sprint Mattias Mohlin/Anders Ek, June 2016

News in RSA-RTE 10.0 updated for sprint Mattias Mohlin/Anders Ek, June 2016 News in RSA-RTE 10.0 updated for sprint 2016.29 Mattias Mohlin/Anders Ek, June 2016 Overview of Improvements (1/3) Now based on Eclipse Mars (4.5.2) New installation scheme RSARTE is now installed as a

More information

UML Profile for MARTE: Time Model and CCSL

UML Profile for MARTE: Time Model and CCSL UML Profile for MARTE: Time Model and CCSL Frédéric Mallet 1 Université Nice Sophia Antipolis, Aoste team INRIA/I3S, Sophia Antipolis, France Frederic.Mallet@unice.fr Abstract. This 90 minutes tutorial

More information

An Introduction to Software Architecture

An Introduction to Software Architecture An Introduction to Software Architecture Software Requirements and Design CITS 4401 Lecture 11 Motivation for studying SW architecture As the size of SW systems increase, the algorithms and data structures

More information

Software Architectures. Lecture 6 (part 1)

Software Architectures. Lecture 6 (part 1) Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements

More information

Software Engineering with Objects and Components Open Issues and Course Summary

Software Engineering with Objects and Components Open Issues and Course Summary Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages

More information

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system) Topics Overview- The UML Functional Model Use Case Diagram (essential and system) Structural Model Class/object, Component and Deployment Diagram Behavioral Models Activity, State chart, sequence /collaboration

More information

A Generic Visual Language Technique for DSVL Model Refactoring to Patterns

A Generic Visual Language Technique for DSVL Model Refactoring to Patterns ECEASST A Generic Visual Language Technique for DSVL Model Refactoring to Patterns Karen Li 1, John Hosking 1, and John Grundy 2 1 {k.li, j.hosking}@auckland.ac.nz Departments of Computer Science, University

More information

From MDD back to basic: Building DRE systems

From MDD back to basic: Building DRE systems From MDD back to basic: Building DRE systems, ENST MDx in software engineering Models are everywhere in engineering, and now in software engineering MD[A, D, E] aims at easing the construction of systems

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