Oriented Models: The Design Environment

Similar documents
OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

Object-Oriented Systems. Development: Using the Unified Modeling Language

Designing Object-Oriented C++ Applications

CSC Advanced Object Oriented Programming, Spring Overview

What is Software Architecture

Programmazione. Prof. Marco Bertini

CASE TOOLS LAB VIVA QUESTION

ANSAwise - Object-Oriented Methods for Distributed Systems

SDC Design patterns GoF

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

Review. Designing Interactive Systems II. Review. Base Window System. Apps UITK BWS GEL. 4-Layer Model Graphics and Event Library BWS GEL

This document is intended for Multilizer users that have been localizing software using component localization.

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Chapter 1: Principles of Programming and Software Engineering

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright

Concepts 6. OOAD Part II. BlueJ ex 5.1. OO and inheritance. Intro to inheritance. The DoME project is a database for multimedia entertainment.

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

SmartMote A run-time adaptive universal control device for ambient intelligent production environments

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

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

MOSAIC A modeling and code generation tool. Gregor Tolksdorf, M.Sc. Faculty of Process Sciences CAPE-OPEN 2013 Annual Meeting

Software Architectures

Course 3 7 March

System Analysis and Design

Object Oriented System Development

3.0 Object-Oriented Modeling Using UML

A Model-Driven JSON Editor

Comprehensive AngularJS Programming (5 Days)

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

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

Application-Oriented System Design

Designing Interactive Systems II

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

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

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

Unified Modeling Language (UML) and Modeling

The Analysis and Design of the Object-oriented System Li Xin 1, a

Informix User Group. A4GL and VENTAS ERP Solution

ACRONYMS AND GLOSSARY

ART-DECOR Introduction anddemos

Topic 13 Object-oriented Analysis

17. GRASP: Designing Objects with Responsibilities

Anatomy of a Compiler. Overview of Semantic Analysis. The Compiler So Far. Why a Separate Semantic Analysis?

UNIT-I CHAPTER-1. An Overview of Object Oriented Systems Development

Object-Oriented Design

Towards Semantic Interoperability between C2 Systems Following the Principles of Distributed Simulation

Intro to OOP Visibility/protection levels and constructors Friend, convert constructor, destructor Operator overloading a<=b a.

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Object-Oriented Analysis and Design Using UML

Dynamically-typed Languages. David Miller

Tag der mündlichen Prüfung: 03. Juni 2004 Dekan / Dekanin: Prof. Dr. Bernhard Steffen Gutachter / Gutachterinnen: Prof. Dr. Francky Catthoor, Prof. Dr

Systems Analysis and Design in a Changing World, Fourth Edition

Object-Oriented Design & Patterns By Cay S. Horstmann READ ONLINE

Rapid Prototyping with APICES

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

Microsoft Visual Basic 2005: Reloaded

CSCU9T4: Managing Information

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

Model Driven Development Unified Modeling Language (UML)

Ch 1: The Architecture Business Cycle

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Object-Oriented Systems Development: Using the Unified Modeling Language

Unit Wise Questions. Unit-1 Concepts

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

Inheritance (Chapter 7)

Object-Oriented Design

A Top-Down Visual Approach to GUI development

Simulating Task Models Using Concrete User Interface Components

10조 이호진 이지 호

Architectural Blueprint

Real-time Image-based Reconstruction of Pipes Using Omnidirectional Cameras

clustering SVG shapes

A Decoupled Scheduling Approach for the GrADS Program Development Environment. DCSL Ahmed Amin

CHARLES UNIVERSITY, PRAGUE FACULTY OF MATHEMATICS AND PHYSICS. Master Thesis. Michael Cífka Visual Development of Software Components

Chapter 1: Programming Principles

HyperFrame - A Framework for Hypermedia Authoring

Programming 2. Object Oriented Programming. Daniel POP

Intermediate Production Storage Dimensioning Using Occupancy-dependent Key Performance Indicators

Ch 1: The Architecture Business Cycle

Conceptual Data Modeling by David Haertzen

ANDROID SYLLABUS. Advanced Android

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design

Extracting Executable Architecture from Legacy Code using Static Reverse Engineering. REHMAN ARSHAD The University of Manchester, UK

ISO/IEC TR TECHNICAL REPORT

design patterns FOR B.tech (jntu - hyderabad & kakinada) (IV/I - CSE AND IV/II - IT) CONTENTS 1.1 INTRODUCTION TO DESIGN PATTERNS TTERNS... TTERN?...

Basic Object-Orientation

SESSION M12-S12 INTERNAL ASSIGNMENT

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

Exploring unstructured Poisson solvers for FDS

CSC207 Week 4. Larry Zhang

7 Implementing Interactive Systems

Extensible Modeling Languages

06. Analysis Modeling

10 - Integrated Development Environments

Managing Change and Complexity

Programming CANopen from an IEC1131 point of view

Object-Oriented Analysis and Design Using UML (OO-226)

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)

Transcription:

Generating Adaptable Multimedia Software from Dynamic Object-Oriented Oriented Models: The OBJECTWAND Design Environment Prof. Dr.-Ing. Christian Märtin Dipl.-Inf. (FH) Michael Humpl Fachbereich Informatik Fachhochschule Augsburg D-86161 Augsburg (Germany)

Introduction From AME to OBJECTWAND Automated, model-based design of adaptable multimedia applications Designer-system cooperation over the whole life cycle Looking for automation tasks in life cycle activities Integrating multimedia-specific design requirements into OO application models Future directions

OBJECTWAND From AME to OBJECTWAND evolutionary successor to AME, a design and generation environment for interactive applications based on dynamic OOA/D-models Related work on model-based systems current state-of-the-art is documented in [Vanderdonckt, 1996] OBJECTWAND introduces improved features for detailed OO modeling and design easy integration of standard multimedia elements better cooperation between interactive and automated design and generation tools a new application generator component (Borland Delphi)

Integration of the life cycles OO technology as the common denominator Problem Problem Supporting Techniques and Tools for Problem Domain Requirement Analysis (e.g. OOA) Domain Design Support (e.g. OOD) UI Design Support Domain Implementation Support UI Implementation Support Runtime Code Generation Support (Problem Domain and UI Parts)

Unifying specification and generation Balancing the ratio of flexibility vs. automation The designer s choice at each life cycle activity accept the intermediate model as proposed by the system partly modify or extend the intermediate model interactively integrate reusable components into the intermediate model Model refinement knowledge standard knowledge for standard design problems optional domain or user specific knowledge for adaptation experience of the designer technical knowledge for automated system integration

OBJECTWAND Architecture Three tool categories: OO modeling/ design application construction generation ASO representation scheme Target applications: Business domain Structure- Refinement: OOA to OOD Dynamic Behavior Construction Presentation and Layout ODE (OMT) Model Base Object-Oriented Model Representation based on Application System Objects (ASO) Borland Delphi 2.0 Application Generator Object-, Feature-, and Relation-Editors Interaction Objects User Profiles Application Profiles Structural and Presentational Knowledge Domain Code Fragments Tools for OO Modeling and Design Construction Tools: - partly inherited from AME - new tools for detailed interactive modeling Application Generation

Life Cycle Support and Designer-System Cooperation OBJECTWAND TOOLS INTERACTIVE LIFE CYCLE ACTIVITIES AUTOMATIC LIFE CYCLE ACTIVITIES OBJECTWAND TOOLS Graphical Editor for Domain Modeling OOA-Modeling: Spec. of Domain Class Attributes and Operations Activity 1: Analysis Global Design Editor Adding OOD-Structure manually Automatic Generation of OOD-Structure Object Pattern Interpreter Activity 2: Global Design Interactive Detailed Design Window Adding Interaction Objects manually Automatic Selection and Assignment of Interaction Objects Attribute to Interaction Object Mapping Activity 3: Detailed Object Design Layout and Presentation Editor Borland Delphi 2.0 Interactive Layout and Presentation Design Source-Level Specification of UI-Behavior and Dynamics Generating Source Code, Embedding Domain Functionality, Compilation and Linking Automatic Generation of User-Specific UI-Layout Automatic Specification of Low-Level UI-Behavior and Dynamics User Adaptation, Generation of Delphi UI Layout Simulation OOA/D- Message and Operation Interpreter Generation of Delphi Code for Dialog Dynamics Activity 4: Adaptation to Specific Users and Environments Activity 5: Generating User Interface Behavior Specification Activity 6: Program Generation and Compilation

OOA Modeling Example OOA model specification attributes operations gen/spec relations aggregations associations message channels

Generating the window hierarchy Mapping of complex OOA classes to windows, if possible expanding gen/spec relations exploiting attributes, attribute types, grouped attributes exploiting aggregational object patterns Creating the menu- and command hierarchy exploit target environmental constraints and synonym lists assignment of OOA operations to menu entries or buttons Refine generated results interactively

Assigning interaction objects Exploiting qualified attribute types, if available: map the attribute type to a specific OOD object pattern assign abstract interaction objects (AIOs) to the OOD objects If not: activate a number of rule groups exploit content oriented meta data exploit synonym lists to find the correct qualified data type exploit the cardinality of attributes and/or operations refinement of already assigned AIOs rules in user and environment profile Alternatively assign or modify the AIO manually

UI behavior spec OBJECTWAND exploits OOA/D-messages, relational OOA/D patterns (including OOA/D class features), detailed-design-level object groups for target functionality (e.g. non-standard multimedia behavior) to automatically generate menu/command activation methods, inter-object communication by message-passing, domain method code integration Designer adds domain-specific functionality and dynamics OBJECTWAND provides method- and message-editors

OBJECTWAND Detailed Design Environment

OBJECTWAND Detailed Design Environment

Additional Features Generation of standard UI layouts (inherited from AME) choosing dialogbox and window layout types automatically based on types and number of certain AIOs within a window based on inter-object-relations (patterns) among OOA/D classes adaptable standard layout alternatives, individual rules in user/env. profiles Interactive modification of generated layout and interaction object features (in Delphi) Adding domain- or database-specific program components, before creating runtime applications (in Delphi)

Target application generation Scanning/Parsing the detailed specification Generating C++-code, callbacks, defaults Integration of existing domain method code Integration of standard dialog boxes and behavior Integration of reusable major application parts Activating the Borland C++-compiler As an alternative a UIMS interface exists

Generated Target Application with its Original OOA Model

Benefits Conclusions and future work complete prototypical life cycle support for computer-aided development of interactive systems automating many standard design tasks for modeling interactive systems Current and future work For improving the degree and the quality of automation, we will look for exploitable software patterns at all life cycle activities define standard model fragments at all life cycle activities extend the expressional power of our representation scheme (ASO) look for alternative ways for modeling system level dialog dynamics (e.g. including dynamic patterns and task modeling) look for synergies with other disciplines and similar problems

Thank you for your attention!