Scenario Animation for Visual Behavior Models: A Generic Approach

Similar documents
Neural Network Model of the Backpropagation Algorithm

More Accurate Question Answering on Freebase

An Effiecient Approach for Resource Auto-Scaling in Cloud Environments

1 Language universals

Fast Multi-task Learning for Query Spelling Correction

MyLab & Mastering Business

Information Propagation for informing Special Population Subgroups about New Ground Transportation Services at Airports

Channel Mapping using Bidirectional Long Short-Term Memory for Dereverberation in Hands-Free Voice Controlled Devices

In Workflow. Viewing: Last edit: 10/27/15 1:51 pm. Approval Path. Date Submi ed: 10/09/15 2:47 pm. 6. Coordinator Curriculum Management

Software Maintenance

PRODUCT PLATFORM DESIGN: A GRAPH GRAMMAR APPROACH

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

GACE Computer Science Assessment Test at a Glance

Visual CP Representation of Knowledge

School Inspection in Hesse/Germany

E-learning Strategies to Support Databases Courses: a Case Study

Paper 2. Mathematics test. Calculator allowed. First name. Last name. School KEY STAGE TIER

ACTIVITY: Comparing Combination Locks

TABE 9&10. Revised 8/2013- with reference to College and Career Readiness Standards

On-Line Data Analytics

University of Groningen. Systemen, planning, netwerken Bosman, Aart

Grade 2: Using a Number Line to Order and Compare Numbers Place Value Horizontal Content Strand

Mathematics Program Assessment Plan

Content Language Objectives (CLOs) August 2012, H. Butts & G. De Anda

Characteristics of Functions

Online Marking of Essay-type Assignments

Language Acquisition Chart

Including the Microsoft Solution Framework as an agile method into the V-Modell XT

E mail: Phone: LIBRARY MBA MAIN OFFICE

Applying Learn Team Coaching to an Introductory Programming Course

MULTIDISCIPLINARY TEAM COMMUNICATION THROUGH VISUAL REPRESENTATIONS

Nonfunctional Requirements: From Elicitation to Conceptual Models

DegreeWorks Advisor Reference Guide

Extending Place Value with Whole Numbers to 1,000,000

Generating Test Cases From Use Cases

AQUA: An Ontology-Driven Question Answering System

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Specification of the Verity Learning Companion and Self-Assessment Tool

South Carolina College- and Career-Ready Standards for Mathematics. Standards Unpacking Documents Grade 5

1 Copyright Texas Education Agency, All rights reserved.

Abstractions and the Brain

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

Honors Mathematics. Introduction and Definition of Honors Mathematics

TEAM NEWSLETTER. Welton Primar y School SENIOR LEADERSHIP TEAM. School Improvement

BMBF Project ROBUKOM: Robust Communication Networks

Moodle Student User Guide

Some Principles of Automated Natural Language Information Extraction

A Coding System for Dynamic Topic Analysis: A Computer-Mediated Discourse Analysis Technique

PROCESS USE CASES: USE CASES IDENTIFICATION

Evaluation of Learning Management System software. Part II of LMS Evaluation

Radius STEM Readiness TM

Course Development Using OCW Resources: Applying the Inverted Classroom Model in an Electrical Engineering Course

Integrating simulation into the engineering curriculum: a case study

Computer Organization I (Tietokoneen toiminta)

Bluetooth mlearning Applications for the Classroom of the Future

IN THIS UNIT YOU LEARN HOW TO: SPEAKING 1 Work in pairs. Discuss the questions. 2 Work with a new partner. Discuss the questions.

UML MODELLING OF DIGITAL FORENSIC PROCESS MODELS (DFPMs)

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

The University of Winnipeg Recognition of Prior Learning (RPL) Undergraduate Degree Credits

Millersville University Degree Works Training User Guide

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Achim Stein: Diachronic Corpora Aston Corpus Summer School 2011

Life and career planning

A Context-Driven Use Case Creation Process for Specifying Automotive Driver Assistance Systems

22/07/10. Last amended. Date: 22 July Preamble

COMPUTATIONAL COMPLEXITY OF LEFT-ASSOCIATIVE GRAMMAR

Team Formation for Generalized Tasks in Expertise Social Networks

Clouds = Heavy Sidewalk = Wet. davinci V2.1 alpha3

Teacher Action Research Multiple Intelligence Theory in the Foreign Language Classroom. By Melissa S. Ferro George Mason University

Using Task Analysis in Documentation Field Research

An Introduction to Simio for Beginners

The role of virtual laboratories in education

On the Combined Behavior of Autonomous Resource Management Agents

Developing a TT-MCTAG for German with an RCG-based Parser

Montana Content Standards for Mathematics Grade 3. Montana Content Standards for Mathematical Practices and Mathematics Content Adopted November 2011

Blank Table Of Contents Template Interactive Notebook

Algebra 1, Quarter 3, Unit 3.1. Line of Best Fit. Overview

The IDN Variant Issues Project: A Study of Issues Related to the Delegation of IDN Variant TLDs. 20 April 2011

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

2 Any information on the upcoming science test?

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

Learning Methods for Fuzzy Systems

Cal s Dinner Card Deals

Guidelines for Writing an Internship Report

An Open Framework for Integrated Qualification Management Portals

OFFICE OF COLLEGE AND CAREER READINESS

Efficient Use of Space Over Time Deployment of the MoreSpace Tool

How To Enroll using the Stout Mobile App

A systems engineering laboratory in the context of the Bologna Process

LA1 - High School English Language Development 1 Curriculum Essentials Document

The Verbmobil Semantic Database. Humboldt{Univ. zu Berlin. Computerlinguistik. Abstract

CLASSIFICATION OF PROGRAM Critical Elements Analysis 1. High Priority Items Phonemic Awareness Instruction

AGS THE GREAT REVIEW GAME FOR PRE-ALGEBRA (CD) CORRELATED TO CALIFORNIA CONTENT STANDARDS

Introduction to Causal Inference. Problem Set 1. Required Problems

Early Warning System Implementation Guide

NCEO Technical Report 27

Create A City: An Urban Planning Exercise Students learn the process of planning a community, while reinforcing their writing and speaking skills.

Empiricism as Unifying Theme in the Standards for Mathematical Practice. Glenn Stevens Department of Mathematics Boston University

Transcription:

Journal on Sofware & Sysem Modeling manuscrip No. (will be insered by he edior) Scenario Animaion for Visual Behavior Models: A Generic Approach Claudia Ermel, oswiha Bardohl Insiu für Sofwareechnik und Theoreische Informaik Technische Universiä Berlin, Germany E-mail: {lieske, rosi}@cs.u-berlin.de eceived: dae / evised version: dae Absrac Visualizing and simulaing he behavior of formal models in an adequae and flexible way becomes increasingly imporan for he design of complex sysems. Wih GenGED, a ool is available which auomaically generaes a visual environmen o process (creae, edi, check, simulae) visual models over a specified visual language. Boh he specificaion of he formalism and he model manipulaion are based on graph grammars. In his paper, we presen he means o ransform an absrac formal behavior model ino differen applicaion oriened views, called scenario views. We show how he behavior model is consisenly ransferred o he views and animaed here, i.e. simulaed in he layou of he applicaion domain. The exension of GenGED o an environmen capable of scenario view definiion and animaion is discussed. Keywords: GenGED, visual modeling languages, graph ransformaion, visual modeling environmen, simulaion, scenario, animaion 1 Inroducion The success of visual modeling echniques in compuer science and engineering resuled in a variey of mehods and noaions addressing differen applicaion domains and differen phases of he developmen process. To ackle he problem of increasing complexiy in modeling formalisms and in esablishing he required ool suppor for all varians of visual noaions, mea-modeling conceps for specifying visual modeling languages (VLs) have been developed like e.g. he UML mea model [31]. The advanages of having a mea model for a specific VL are clear: i allows he auomaic generaion of This work is suppored by he German esearch Foundaion (DFG) in he projec Applicaion of Graph Transformaion o Visual Modeling Languages (DFG Eh 65/8-3). a ool o build and check models according o he described VL synax. Insead of programming a complee edior and simulaor for a specific VL from scrach, i is only necessary o specify he kind of models we will deal wih. The generaed ool should be able o allow he consrucion of valid diagrams (VL diagrams which are insances of a specific VL) in an edior componen and, if dynamic sysem behavior is modeled, o perform simulaion of he modeled behavior in a simulaor componen. A VL model in our approach herefore consiss of a se of VL diagrams represening he differen s of a sysem during simulaion. The GenGED approach and environmen for specifying visual languages and generaing visual environmens o edi and simulae models visually has been developed a he TU Berlin [2]. Some examples for visual languages defined in GenGED which model he behavior of sysems, are chars [5], differen ypes of Peri nes [21] or deerminisic auomaa [4]. Despie he benefis, he simulaion of VL models is ofen ineffecive in he user validaion process. The behavior of a VL model based on (semi-) formal and absrac noaions may no always be comprehensible o users and hus makes he requiremens validaion process less effecive. Consequenly, we need a modeling echnique ha on he one hand is as formal as possible o avoid ambiguiies and allows he sysemaic consrucion of (parial) specificaions, and on he oher hand describes requiremens (and he model behavior) in a way ha cusomers can easily undersand and validae hem, suppors early deecion of inconsisencies and possible requiremens missing in he model. Scenarios are a new way of represening sysem requiremens. In a scenario, a par of he sysem is described by a sequence of changes caused by evens

2 Claudia Ermel, oswiha Bardohl View 1.1 VL Model 1 such as user-sysem ineracions. Scenarios were firs used in he field of human-compuer ineracion [13]. Meanwhile hey receive considerable aenion in requiremens engineering [24, 33]. In his paper abou play-in scenarios [26], Harel proposes o uses play-in scenarios o se up he requiremens by eaching he modeling ool abou he desired and undesired scenarios. During he process of playing-in scenario-based requiremens, he underlying ool should auomaically and incremenally generae rigorous models ha are consisen wih hese eachings. Alhough his hough is inriguing, a lo of research has o be done no only on he algorihmical side bu also concerning he human aspec as o which are easy-o-use means o ell a behavior-free sysem shell wha we wan from i. The oher, more common use of scenarios Harel describes, is he execuion (simulaion) of he sysem model which is done by playing-ou scenarios o verify he model agains he requiremens. In Caalysis [18], a mehodology for he developmen of objec- and componen-based sysems, scenarios are visualized by before-and-afer snapshos of objec diagrams where an acion occurs beween he wo snapshos. Ses of acions (acion ypes) are described by informal exual mens (acion specificaions) where he effecs of he acions are given by pre- and pos condiions on he objec diagram. In GenGED, he specificaion of model behavior in he sense of acion ypes is done visually by graph rules called simulaion rules. The applicaion of a simulaion rule o a concree VL diagram (simulaion sep) corresponds o an acion in Caalysis, and he VL diagrams modeling sysem s before and afer he rule applicaion can be seen as before-and-afersnapshos of an acion. The simulaion of VL models in GenGED is depiced in he upper half of Fig. 1. A sequence of simulaion seps defines a scenario of he VL model. The aim of his paper is o furher faciliae he user validaion process for behavior models in an vieworiened fashion. We presen a new concep for sysemaically generaing so-called scenario views from VL models. A scenario view presens a scenario of he VL model in he layou of a specific applicaion domain. The consisen ransformaion of a formal behavior model o he respecive scenario view is based on he GenGED approach. We call he simulaion seps of a VL model animaion seps when he VL diagrams before and afer a simulaion sep are shown in he scenario view. By he ransformaion of a VL model o a scenario view, he view migh show only some aspecs or pars of he sysem. Differen views can reflec (pars of) he behavior defined in he VL model. Fig. 1 skeches he relaion beween VL models (whose VL diagrams are insances of a mea model, i.e. a VL specificaion) and scenario views in differen applicaion domains. View ransformaion is applied o he VL model, hus realizing a consisen mapping of simulaion seps o animaion seps in he respecive scenario view. Conse- Simulaion Sep Animaion Sep Mea Model of a VL View Transformaion View 1.n Animaion Sep VL Model 2 Simulaion Sep...... View 2.1 Animaion Sep Fig. 1 Differen views on formal models View 2.n Animaion Sep quenly, requiremens can be ineracively demonsraed and clarified in he scenario view helping o produce an improved VL model. For cerain modeling formalisms, such as Peri nes, here are ools supporing model animaion (see e.g. he SimPEP-ool for he animaion of low-level nes in PEP [25]). In conras o such formalism-based approaches, he generic framework GenGED offers a basis for a more general formalizaion of VL model behavior which is applicable o various Peri ne classes and oher visual modeling languages. Tools describing formalisms based on mea-modeling such as DOME [16] or KOGGE [28] are more relaed o our approach, bu hey usually allow only some kind of exual language o define he mea model and o express a model s behavior. We feel ha visual means (such as graphs and graph grammars) are more adequae o express feaures of visual languages and visual models. In he area of visual language definiion based on graph ransformaion, he following ool environmens for visual modeling come closes o our approach bu do no suppor scenario views for specific applicaion domains: DiaGen [29] is based on hyper-edge graph grammars. Visual ediors and simulaors can be generaed. MeaEnv [11] is an environmen o define he semanics for visual models. A visual model which has been defined by an exernal CASE ool is ranslaed o is semanic domain (High Level Timed Peri Nes) using graph grammars. The semanic model can be simulaed, ranslaed ino C code and animaed (he Peri ne firing seps are ranslaed back o he original visual diagram noaion). In ATOM 3 [17], he synax of visual modeling languages is defined on he basis of Eniy-elaionship diagrams, graph grammars, Pyhon and OCL. Moreover, graph grammars are used for code generaion, simulaion and model ransformaion. Progres [30] is an inegraed environmen for programmed graph rewriing sysems. Here, he focus lies on an execuable specificaion language based on graph grammars for specifying objec srucures and

Scenario Animaion for Visual Behavior Models: A Generic Approach 3 operaions. Complee specificaions can be ranslaed o C and Tcl/Tk code for diagram edior prooypes. The environmen does no offer mea-modeling feaures. VisPro [35] uses special graph grammars for synax specificaion in order o creae synax direced ediors for visual programming languages. The se of VLs is resriced o diagrammaic VLs, e.g. predefined symbols can be conneced by lines and arrows only. In GenGED we focus on he visual definiion of visual languages and model manipulaion and hence we allow he combinaion of graph grammars wih a variey of graphical layou opions as basis for a sysemaic definiion of he relaionship beween a formal model (e.g. a Peri ne or a char) and corresponding scenario animaions. The remainder of his paper is organized as follows. In Secion 2, he noion scenario in general and relevan issues for scenario animaion are discussed. An example for a scenario represened and animaed in he layou of a specific applicaion domain is given. Secion 3 explains he basic ideas of he GenGED approach, i.e. he definiion of VLs and VL models as well as heir simulaion in he GenGED simulaion environmen. In Secion 4, a mehodology is developed ha exends he GenGED approach discussed so far, in order o suppor he sysemaic generaion and animaion of scenario views for specific VL models. The applicaion of he new mehodology is illusraed by he developmen of scenario views for a VL model, namely for he well-known - sysem. 2 Scenario Animaion: An Example The erm scenario is used wih differen meanings in differen conexs. We herefore a definiion from [24] where a scenario is informally defined o be a form of ineracion sequence beween a sysem and a se of acors. Definiion 21 (Scenario) A scenario is an ordered se of evens, usually ineracions beween a sysem and a se of acors exernal o he sysem. I may comprise a concree sequence of ineracion seps or a se of possible ineracion seps. Scenarios can be defined by a specificaion defining one specific sysem as he sar of he scenario and describing possible ransiions from one o anoher. Ineracion consiss in he selecion of one ou of several possible ransiions leading from he curren o he nex one. Technically, in our graph-grammar-based approach, a se of possible ineracion seps is defined by a simulaion grammar whose sar diagram defines he sar of he scenario. Concree sequences of ineracion seps hen are all possible derivaion sequences ha can be obained by consequenly applying rules from he simulaion grammar saring wih he sar diagram. 2.1 Advanages of using Scenarios in Behavior Modeling Scenarios are a naural means for developing parial models. A scenario capures a sequence of evens or of usersysem ineracions as seen by he user. Thus, hey provide a decomposiion of a sysem ino funcions from a user s perspecive. Each funcion can be reaed separaely a classical applicaion of he principle of separaion of concerns. Example 22 (- Scenario) As an example for a scenario, we model he well-known - sysem. We apply a simple graphlike modeling language V L for message-passing beween componens via channels, wih wo ypes of nodes (componens drawn as boxes and messages drawn as conainers), and wo ypes of arcs (channels drawn as lines connecing wo componens, and arcs connecing a message node o a componen node). In he VL model he s of he sysem are given as VL diagrams. All VL diagrams in our VL model consis of five componens, a, a and hree s. Some s which are produced by he, are passed o he, aken from he by a and consumed by him. We have he consrain ha producers, buffers and consumers may hold a mos one iem a a ime. Fig.2 shows one of our VL model, where one iem is in he buffer, and anoher one is held by a consumer. Fig. 2 VL diagram modeling one of he - model The behavior of he VL model can be formally expressed by a graph grammar where he rules represen simulaion seps: each rule conains in he lef-hand side he siuaion which exiss before he even has occurred, and in he righ-hand side he changed siuaion afer he even. For our - model, his simulaion grammar is inroduced laer in Secion 4.

4 Claudia Ermel, oswiha Bardohl A scenario in he sense of Def. 21 is given by an ordered se of simulaion seps ogeher wih a sar. In our simple example, he user ineracion consiss of riggering he nex simulaion sep in case ha here is a choice of acions in he curren sysem. Fig. 3 shows a scenario. The producer produces an iem, delivers i o he buffer from where i is removed by a consumer, and, in he las sep, consumed. produce consume deliver remove consume produce Fig. 4 Kichen scenario view of he - model deliver remove Fig. 3 Scenario of he - model, modeled as sequence of VL diagrams 2.2 Scenario Views To suppor an inuiive undersanding of sysem behavior, especially for non-expers in he specific formal modeling language, i is desirable o have a visualizaion of (pars of) he VL model in he applicaion domain and show he behavior direcly in he layou of he applicaion domain. Example 23 (Kichen Scenario View) As an example, a scenario view for he - model is considered for he concree applicaion domain of a kichen: The producer is a cook and a consumer is some person eaing (consuming) he cakes (iems) which are produced by he cook and pu ono a able (he buffer) in fron of he consumer. Thus, he scenario in Fig. 3 can be presened in he kichen scenario view as depiced in Fig. 4. Noe ha only one consumer is shown because he behavior of he consumer componen in general is ineresing for he user validaing he model. For a represenaion of a VL model s behavior direcly in an applicaion-specific layou (e.g. he kichen view), he graphical objecs used in he VL model need o be mapped ono icons belonging o an applicaionoriened kind of layou. The choice of represenaions suiable for he VL model objecs depends on he naure of a problem domain and is complexiy, he preferences of users, he degree of heir experise in he problem domain, and on he modeling phase. In an early modeling phase, when he model is sill on a very absrac level, a concree visualizaion migh have nohing o do wih he real applicaion domain of he model. For algorihm animaion, here migh no even be a real applicaion domain (e.g. for modeling muual exclusion ). Bu a realisic scenario from some easy-o-imagine real-world applicaion domain (in he sense of a meaphor, where he lieral meaning also is no he meaning inended) may help o ge insighs ha are more difficul o ge when looking a he formal model. Ideally, such a meaphor is used o communicae new conceps he user recognizes anomalies beween he exising knowledge (he formal model) and new informaion provided by he meaphor, and creaes new knowledge by correcing he model o accommodae boh sources (see [12]). This process can be improved if he user is given muliple meaphors, each correcing invalid exensions ha migh have been based on a single one. An example for wo differen meaphors for he - model is given in Secion 4 where he kichen meaphor and he bole machine meaphor are inroduced as basis for scenario animaion (cf. Fig. 10). In a laer modeling phase, a visualizaion could even be on a higher absracion level han he formal model iself. Consider for example a quie complex Peri ne modeling a nework proocol. We only wan o know wheher each hos in he nework is geing a message a some ime and forwarding i. Bu he Peri ne migh conain so many places and ransiions modeling he conrol condiions ha we canno immediaely see wheher he behavior is modeled correcly. In a visualizaion we would like o see only a graph of nework nodes where an arc appears beween wo of hem if a message is sen from one node o anoher. This could be done by defining visualizaions only for he few marked places of he ne which concern he sending of a message. In his case,

Scenario Animaion for Visual Behavior Models: A Generic Approach 5 he visualizaion does no add a ficiious applicaion domain bu cus ou deails ha have o be presen in he formal model bu make i raher difficul o validae he behavioral requiremens. Technically, we disinguish he represenaion of objecs of a VL model from icons visualizing he conex which can be hough of as he background or siuaion in which a VL model is inerpreed. The conex can be closely coupled wih he overall behavior of he VL model under consideraion and faciliaes he users comprehension of his behavior. 2.3 Animaion in Scenario Views Anoher issue concerned wih capuring he process of visualizing dynamic behavior, is he naure of animaion. Graphics used in a scenario view can be defined o be eiher saic or dynamic. Saic graphics are sill and unchanging (he conex graphics). Dynamic graphics visualize some execuion process undergoing successive changes by coninuously modifying some of heir aribues (e.g. hey move or change heir size or color). The definiion of graphics for animaion as building blocks for scenario views is a subjecive aciviy which depends on he view designers creaiviy and imaginaion as well as heir inerpreaion of wha a VL model is for and how o convey he formal meaning hrough animaion. Here, he naure of animaion differs considerably from he noion of simulaion as realized e.g. in GenGED. The - scenario depiced in Fig. 3 is an example for a simulaion run. Simulaion visualizes changes wihin he means of he VL model iself. The user who validaes a model sees a graph, a char or a Peri ne, where simulaion seps are carried ou by swiching o anoher graph (as in Fig. 3), o anoher marking (as in a Peri ne), or by highlighing anoher (as in a char). Moreover, simulaion relies on discree seps and canno depic changes coninuously, e.g. he moion of an objec. Animaion visualizes he changes in a scenario view which shows he model behavior using graphics from he applicaion domain. Moreover, changes can be depiced dynamically in he sense ha he changes of graphical aribues (moion, change of size or color,..) can be presened as coninuous films. I is widely acceped ha effecive validaion is performed when he users observe dynamic represenaion of he sysem s requiremens. Thus, in his paper, we advocae he inegraion of coninuous animaion in Gen- GED on op of he simulaion feaures. I is very imporan ha precision inroduced by he VL model is carried over o he scenario view in he sense ha he represenaion of a paricular requiremen should no deviae from or even conradic he acual meaning of he requiremens as given by he VL model. In he nex wo secions we describe how VL models including VL diagrams like in Fig. 2 and scenario views like he kichen view can be defined and relaed such ha he behavior is ransferred from he model o he scenario view in a coheren way. For insance, we wan o ensure ha he behavioral consrain s, s and s may hold a mos one iem a a ime is saisfied also in he kichen view. Moreover, we skech how he simulaion seps in a scenario can be enhanced by more sophisicaed animaion feaures like e.g. coninuous moion of objecs. 3 The GenGED Approach GenGED (shor for Generaion of Graphical Environmens for Design) [3,23] is based on he well-defined conceps of algebraic graph ransformaion [9]. The process for he validaion of requiremens using GenGED is carried ou in wo seps, he specificaion of a visual modeling language VL (described in Secion 3.1), and he specificaion of a cerain VL model (see Secion 3.2). A VL model consiss of a VL sar diagram edied using he VL diagram edior generaed from he VL specificaion, and a simulaion specificaion. From he simulaion specificaion, he VL simulaion environmen is generaed allowing he user o inerac visually wih he VL model by generaing scenarios in order o validae he VL model s properies. The wo-sep workflow for using he GenGED environmen is illusraed in Fig. 5. Alphabe Edior Grammar Edior VL Specificaion VL Alphabe VL Synax Grammar VL Diagram Edior VL Simulaion Environmen VL Model VL Diagram Simulaion ules Simulaion Specificaion Fig. 5 The GenGED environmen 3.1 VL Specificaion Simulaion A VL is defined by is VL alphabe describing he symbols of a VL and heir spaial relaions, and a se of ediing rules limiing he number of meaningful models (VL synax grammar). The VL alphabe ogeher wih he VL synax grammar defines hen he VL specificaion which is he basis for he generaion of a VL-specific

6 Claudia Ermel, oswiha Bardohl graphical edior for diagrams corresponding o he specified VL. Definiion 31 (VL Alphabe) A VL alphabe A V L = (T G, Csp) is given by a ype graph T G and a consrain saisfacion problem Csp. A ype graph T G = (V S V A V G, E S E A E G ) is an aribued graph signaure which can be represened as a graph whose nodes are sors and edges are operaions. The nodes in V S specify he symbol ypes of he language, he edges in E S : V S V S link ypes, he nodes in V A aribue ypes (daa ypes), and he edges in E A : V A V S couple he aribue ypes wih symbol ypes. The subgraph defined by (V S V A, E S E A ) comprises he absrac synax of he VL alphabe. The concree synax (he graphics used for he layou of symbols and links) is represened by nodes in V G and edges in E G : V S V G coupling he symbol ypes wih heir respecive layou graphics in V G. A graphical consrain saisfacion problem Csp which is a se of equaions defining he spaial relaions beween differen symbols by resricing he scope of consrain variables (denoing posiion and size of graphics). The Csp has o be solved by an adequae variable binding in each diagram over he VL alphabe (see e.g.[3]). VL diagrams are insances of a VL alphabe, e.g. graphs yped over he absrac synax of he ype graph. Concepually, he layou for each symbol (he concree synax) is added o he absrac synax by linking he symbol verices o graphics. The Csp of he VL alphabe hen is used o compue a concree configuraion of valid variable bindings for he posiions and sizes of graphics. Definiion 32 (VL Diagram) Le A V L be a VL alphabe according o Def. 31. Then, a VL diagram D V L is an aribued graph yped over he ype graph T G of he VL alphabe. Addiionally, he variable binding defining he layou configuraion saisfies he Csp of he VL alphabe. Example 33 (VL Alphabe and Diagram) We consider he graph-like VL o visualize componenbased message-passing sysems ha was inroduced informally in Secion 2 (called VL from now on). Fig. 6 (a) shows a simplified kind 1 of he VL alphabe for he VL. Symbol ypes are given by,, ( Associaions) and shown in he absrac synax graph in he upper par of Fig. 6 (a). The edges labeled s and denoe he source and arge relaions of channels. Aribue ypes are depiced as rounded recangles and conain he Sring daaype for componen names () and message exs (MName). 1 In his aricle we do no concenrae on he definiion of graphics and Csps which is comprehensively described in [2]. Sring s (a) Sring s 1: 2: 3: 2: s (b) Fig. 6 (a) VL alphabe of he componen VL and (b) VL diagram yped over he VL alphabe In he lower par of Fig. 6 (a) we see he respecive symbol ype layou (he concree synax): componens are drawn as boxes wih heir names inside, messages are cylindric conainers conaining ex (e.g. address, sender, conen,...), channels are hick lines connecing wo componens, and message associaions are arcs connecing a message and he componen which is keeping he message currenly. The Csp (no shown in Fig. 6 (a)) makes sure, e.g., ha message conainers are always depiced below componen boxes, and ha he channels beween componens ouch he borderlines of he boxes. One VL diagram according o his alphabe showing a of a - model, is illusraed in Fig. 6 (b). Here, in he upper par of he figure, he nodes are insances of he respecive symbol ypes in he ype graph. Noe ha we absrac from he noion of : a message can be anyhing o be passed beween componens, no jus ex. Someimes wo differen kinds of diagrams are logically relaed, e.g., class diagrams and chars. In his case, a VL specified in GenGED would comprise a combinaion of boh kinds of diagrams. A concree diagram (e.g. a char) hen can be seen as one view on he complee model. See [6] for he definiion of such a combined VL for a wo-level archiecure design language consising of a nework level (a graph) and a specificaion level where each graph node is refined by a behavior specificaion (a Peri ne). The ediing of a VL diagram is realized by applying synax grammar rules (covering he inserion and deleion of symbols as well as he modificaion of symbol aribues) o he respecive VL diagram in he generaed visual edior. In addiion o synax direced ediing, GenGED suppors free-hand ediing based on a parse grammar [8]. For rule applicaions, he graph ransformaion engine Agg [22,1] is used. The VL synax grammar resrics he se of VL diagrams comprising he VL o he meaningful ones. Definiion 34 (VL Grammar) Le A V L be a VL alphabe according o Def. 31. A VL

Scenario Animaion for Visual Behavior Models: A Generic Approach 7 grammar GG V L = (S V L, ules V L ) w.r.. A V L consiss of a sar diagram S V L, a VL diagram w.r.. A V L according o Def. 32, a se of rules ules V L where each rule r ules V L consiss of a lef-hand side L and a righ-hand side which are VL diagrams, a rule morphism L which is a parial aribued graph morphism on he absrac synax level, and (opionally) some negaive applicaion condiions. Definiion 35 (VL Specificaion, VL) The visual language V L which is described by he visual language specificaion Spec V L = (A V L, GG V L ) wih GG V L = (S V L, ules V L )) is given by all VL diagrams D V L derivable from he sar diagram S V L wih he VL rules in ules V L : V L = {D V L S V L 3.2 Simulaion Specificaion = ulesv L D V L } The behavior of a VL model is specified by VL rules called simulaion rules which represen ransiions beween sysem s. All VL diagrams ha can be generaed by applying simulaion rules beginning from he sar diagram comprise he VL model. Technically, a VL model is a sublanguage of he visual modeling language VL. Definiion 36 (VL Model) A VL model V LM is a sublanguage of VL defined by he VL specificaion Spec V LM = (A V L, GG simu ), where GG simu = (S V L, ules simu )) is a simulaion grammar. For each simulaion rule r ules simu, he lef-hand side L conains he subpar of he relevan for he ransiion o be considered. In he righ-hand side, he updae of his subpar is modeled afer he ransiion has been performed. V LM = {D V L S V LM = ulessimu D V L } One derivaion sequence S V LM = ulessimu D V L of a VL model corresponds o a scenario. The choice of rules and rule maches and he resuling rule applicaions leading o such a scenario is called simulaion of a VL model. Using he GenGED simulaion componen, simulaion rules may also be grouped o simulaion expressions by various conrol srucures such as loops, sequenial composiion of rules and condiional rule applicaions. The se of simulaion expressions ogeher wih he sar diagram defines he simulaion specificaion. In order o keep he examples simple, we resric ourselves o simulaion grammars here and do no regard more complex simulaion specificaions. Thus, a simulaion specificaion corresponds o a simulaion grammar in his paper. Example 37 (Simulaion Grammar) A par of he simulaion grammar for our - model is shown in Fig.7. The complee simulaion grammar consiss of four rules corresponding o he possible acions produce, deliver, remove and consume. 1: 1: produce deliver 2: 2: Fig. 7 Simulaion grammar for he - model The rules remove and consume are no shown in Fig. 7 as hey are consruced analogously. ule morphisms from he lef-hand side L o he righ-hand side are indicaed by numbers. A negaive applicaion condiion (NAC) specifies a siuaion which mus no occur for he rule o be applied and is indicaed by dashed boxes in he absrac synax of he lef-hand sides of he rules and by crossed-ou objecs a he concree synax level. The NACs model he sysem consrain ha a componen may hold a mos one message. The layou (he concree synax) of he symbols and links in he rule graphs (L, and he NAC) is compued auomaically as a soluion of he Csp defined for he VL alphabe. To apply a simulaion rule o a diagram of our VL model (he graph depiced in Fig. 6 (b)), we have o find a mapping from he objecs (nodes and edges) in L o he objecs in he graph. Moreover, he NAC of he rule mus no be presen in he graph. Only one rule from our simulaion grammar is applicable o he in Fig. 6 (b), namely rule remove. The applicaion of a rule o a graph resuling in a graph modified according o he rule is called a derivaion. In he case of our simulaion grammar, he derivaions are called simulaion seps because he rules model he ransiions from one sysem o anoher. Fig. 8 illusraes a simulaion sep. The rule remove is applied o graph G resuling in graph H.

8 Claudia Ermel, oswiha Bardohl G 1:Comp. 2:Comp. 1: 1: 2: 3:Comp. 2: 1: 1: Cons. remove H 1:Comp. 2:Comp. 2: 2: 2: 2: 2: 2: 3:Comp. Cons. Fig. 8 A simulaion sep for he - model 3.3 Generaion of Simulaion Grammars for arbirary VL Models In Secion 3.2, we simply defined he simulaion grammar wih respec o our producer-consumer model and hus gave our VL model an operaional semanics. Usually, i is desirable o consider more han one VL model for a specific VL (such as Peri nes, for insance). Then he specificaion of he respecive simulaion grammar for each differen ne by he user is no feasible. aher, he operaional semanics should be fixed once for a specific VL and cover all VL models. There are essenially wo ways o define operaional semanics for behavioral models by graph ransformaions [10]. In he firs approach, graph ransformaion rules specify an absrac inerpreer for he enire language as proposed, for example, in [5] for a simple version of chars. Such an inerpreer is valid for he whole language and can be applied o all valid diagrams. This firs approach has been followed in he GenGED environmen (see Fig. 5) up o now, where he simulaion grammar is edied by he language designer using he grammar edior. The disadvanage is ha such an absrac inerpreer is no a good basis for animaion since animaion is highly dependen on a specific model. As a second approach o operaional semanics, each model can be compiled ino a se of rules. oughly, models are ranslaed o simulaion rules by a compiler, for example ye anoher graph grammar. The resuling se of simulaion rules is specific o a paricular model. Noe ha if such a compiler is specified as graph grammar, he righ-hand side of a compiler rule conains a complee rule 2. This second compilaive approach is followed in his paper because he generaed model-specific simulaion rules provide a good basis for animaion. We describe a compiler grammar for our VL which generaes for each VL diagram 2 Technically, his generaed rule is represened as graph. over he alphabe a corresponding simulaion grammar (and hus esablishes a VL model). Applied o our producer-consumer diagram in Fig. 6 (b), he compiler grammar generaes he se of simulaion rules inroduced in Secion 3.2. Compiler rules can be generally specified as follows: We disinguish beween saic and dynamic symbol ypes in a VL. Saic symbols do no change (hey comprise he conex of a VL model), and dynamic symbols change during simulaion. In our VL, for insance, componens and channels are saic symbols whereas messages are dynamic. Each lef-hand side of a compiler rule conains he saic symbols which are par of an acion (a ransiion beween wo sysem s of a VL model). The corresponding righ-hand side conains a simulaion rule covering he respecive ransiion from one sysem o he nex, conaining he saic symbols from he lef-hand side plus dynamic symbols which are deleed or generaed by he simulaion rule. Fig. 9 illusraes he absrac synax of he compiler rules for our VL. L s s s gen_ newmsg(sring) gen_ delmsg(sring) gen_ mvmsg(sring) L (Sring) (Sring) newmsg (Sring) s mvmsg (Sring) (Sring) delmsg (Sring) s (Sring) Fig. 9 Compiler rules o generae simulaion grammars from VL diagrams over he alphabe For each differen acion ype in a conceivable VL model (generae a new message, move he message along a channel o a righ neighbour componen, delee a message), here is one rule in he compiler grammar. For he generaion and deleion of messages, only single componen symbols are concerned. Hence, he firs wo rules require one componen symbol in heir respecive lefhand sides. The NACs ensure ha he componen allowed o generae a message is one of he firs in he communicaion chain (e.g. i has no lef neighbours, like he producer in Fig. 2) and, analogously, he componen allowed o delee a message is one of he las in he chain (e.g. i has no righ neighbours, like one of he hree consumers in Fig. 2). For he movemen of messages along a channel, we have o consider wo componens wih a

Scenario Animaion for Visual Behavior Models: A Generic Approach 9 channel beween hem. Each compiler rule has o be applied exacly once a each possible mach. As an example we consider he generaion of he simulaion grammar for he - model parly depiced in Fig. 7. These simulaion rules are generaed by applying he compiler rules from Fig. 9 o he - diagram from Fig. 6 (b): The firs simulaion rule produce is generaed by applying he compiler rule gen newmsg(sring) in a way ha he node from he lef-hand side of he compiler rule is mapped o he node in he diagram. The sring variable (he message ex) is mapped o. According o he righ-hand side of he compiler rule, he simulaion rule produce is he resul of he compiler rule applicaion. The oher simulaion rules are generaed analogously. 4 Generaion of Scenario Views in GenGED In his secion, we explain how scenario views are defined by an exension of he VL alphabe defined so far (called Kernel Alphabe from now on). The exension embeds new symbol ypes ha are visualized in a new layou bu are conneced o he old symbol ypes of he kernel alphabe o allow a coheren ranslaion from all diagrams in he old layou o he scenario view. As skeched in Secion 2, our aim is he inegraion of animaion operaions (such as coninuous moion of graphics) wih he simulaion feaures in GenGED in a way ha he behavior of he VL model is carried over consisenly o he scenario view. Therefore, i is necessary o scruinize he relaionship beween a VL model and is corresponding visualizaion o avoid he developmen of ad-hoc visualizaions ha are no relaed o he model. Insead, scenario views should be developed sysemaically and be driven by he underlying behavior (formalized as simulaion grammar in GenGED) for which he visualizaion is used. Hence, our approach is based on a formal view ransformaion graph grammar which is used no only o ransform he underlying VL model o is new layou in he scenario view, bu also o map he simulaion rules o animaion rules in he scenario view. These animaion rules are modeled by grammar rules which are enhanced by operaions for coninuous changes of objecs such as moions or changes of size or color. Noe ha in our approach he original formal model is no changed since he visualizaion process akes place afer he formal specificaion of he model. 4.1 Exending he Kernel Alphabe o a View Alphabe Le us consider wo sample scenario views for our absrac - model for wo differen applicaion domains: he kichen view (presened already in Secion 2), where he producer is a cook and he consumer is some person eaing he cakes (iems) which are produced by he cook and pu ono a able (he buffer), and a bole machine view, where people can reurn empy boles wih refundable deposi. The machine (he buffer) acceps an empy bole (he iem ) from a person (he producer). Then he bole is ranspored via a conveyor bel o a box (he consumer). The bole falls ino he box (i is consumed). Fig. 10 shows a of a - model (for simpliciy we have only one consumer here), is absrac synax and wo snapshos of his according o he wo differen applicaion domains kichen and bole machine. Noe ha he channels specified in he formal model are no depiced in he firs scenario view bu one channel namely ha one beween he buffer and he consumer has a visualizaion as conveyor bel in he second scenario view such ha he wo views are no isomorphic bu srucurally differen. Formal Model Scenario View 1 Absrac Synax 1: 2: 2: 3: Scenario View 2 Fig. 10 Two scenario view snapshos of a of he - model On a firs glance, i seems ha for boh he VL model and is wo views, he absrac synax remains he same and only he layou for he symbols is differen. Bu, as in he GenGED approach symbol ypes are conneced wih symbol graphics, we canno simply exchange he concree synax levels. Consider, for example, he layou for componen nodes: In he formal model, each componen symbol is drawn as a box. In he kichen scenario view, a componen may be eiher visualized as a cook (if i is named in he formal model), or as a able (if i is he buffer) or as a person siing on a chair (if is meaning is ). The visualizaion depends

10 Claudia Ermel, oswiha Bardohl no only on he symbol ype in he absrac synax of he formal model, bu also on he exual aribues which carry he meaning of each symbol in a VL model. Thus, for he definiion of a new scenario view, we have o find a way o exend he kernel alphabe by model-specific symbols which are visualized differenly in he scenario view. We call he exended alphabe View Alphabe. Again, we use he noions dynamic and saic symbols for symbols ha are deleed or generaed in some simulaion rule (dynamic symbols) and symbols ha are preserved by all simulaion rules, e.g. ha comprise he conex (saic symbols). The corresponding symbol ypes in he alphabe are called dynamic or saic symbol ypes. Definiion 41 (View Alphabe) For a given kernel alphabe wih a se of symbol and link ypes and a given VL model consising of a VL diagram and a se of simulaion rules over his kernel alphabe, a view alphabe is consruced as follows: 1. The iniial view alphabe is he kernel alphabe. 2. (Saic symbols) For each saic symbol A in he VL diagram a new symbol ype node is added o he view alphabe. The new symbol ype node is conneced o he original symbol s ype node of he kernel alphabe and is aribued by he new layou graphic for he scenario view. Formally, he new node represens a subype of he original symbol ype, so we call he new symbol ype node subype and is connecion o he original symbol ype a subype link. For each link in he VL diagram beween he saic symbol A and a saic symbol B, sublinks are insered in he view alphabe beween he corresponding subypes. 3. (Dynamic symbols) If here exiss a link beween a saic symbol ype S and a dynamic symbol ype D in he kernel alphabe, hen for each of he saic subypes of S in he view alphabe, a dynamic subype of D is generaed, linked o he saic subype and (by subype link) o is dynamic symbol ype D in he kernel alphabe. The new dynamic subype of D is aribued by he new layou graphic for he scenario view. 4. (Layou Consrains) A new consrain saisfacion problem defining layou resricions is specified for he links beween he subypes according o heir spaial relaions. Noe ha he original kernel alphabe is no changed by he consrucion of a view alphabe; even he original layou of he old symbol ypes is sill available. Aribues are no always needed in he model-specific par of he view alphabe since aribues usually describe some semanic noion of a symbol. In he scenario view, his noion migh be already capured by he visualizaion of he corresponding subype symbol. If hey are needed (e.g., for graphical consrain compuaion), he aribues are simply copied o all subypes of he aribued symbol ype. Example 42 (Kichen View Alphabe) An example for a view alphabe is given by Fig. 11 showing he view alphabe for he kichen view of he - model. For he saic symbol ype we consruced he subypes C-, C- and C-. For he saic symbol ype, he subypes Ch-- and Ch-- are consruced. The sublinks from he -subypes o he -subypes are added according o he - diagram in Fig. 6 (b). For he dynamic symbol ypes and, subypes are creaed for all subypes. All subypes are linked o he corresponding superypes in he kernel alphabe and o heir scenario view layou graphics (as indicaed by he dashed lines in Fig. 11). The layou of he view alphabe subypes (formally defined by a Csp, no shown here) is indicaed by he spaial relaions beween he layou graphics. The new Csp consrains ensure ha he respecive icons are posiioned adequaely, e.g. ha he cake is depiced on op of he sove or on op of he able depending on he respecive componen subype he message is associaed o. Ch-- C- Kernel Alphabe C- Ch-- C- MA- MA- MA- M- M- M- Fig. 11 View alphabe for he kichen view of he - model 4.2 Translaing he VL Model according o a View Alphabe Now we exend in a sysemaic way he absrac synax of our VL model such ha i fis o he view alphabe: We define a view ransformaion based on he view alphabe. The view ransformaion is formalized as graph grammar whose rules are applied on he one hand o he VL diagram represening he sar of our VL model, and on he oher hand o he VL model s simulaion rules. Fig. 12 shows he absrac synax of he view ransformaion rules for he kichen view of our

Scenario Animaion for Visual Behavior Models: A Generic Approach 11 ules for s: (cons no depiced) C- prod C- C- buff C- ules for s: C- C- ch_p_b C- C- C- C- ch_b_c C- C- Ch-- Ch-- Ch-- Ch-- ules for s: (m-prod no depiced): C- MA- m-buff M- C- MA- C- MA- m-cons M- C- MA- Fig. 12 View Transformaion grammar for he kichen view of he - model - model. View ransformaion rules exend he absrac synax of a VL diagram by symbols yped over he new subypes in he view alphabe. The new layou of a VL diagram whose absrac synax has been exended by view ransformaion is fixed already by he concree synax for he new symbols as defined in he view alphabe. The consrucion of he view ransformaion rules is quie sraighforward: Depending on is kernel symbol ype and is exual aribue, each symbol is exended by a corresponding subype symbol, and each link beween wo symbols by a sublink beween he corresponding subype symbols. We have wo rules for each of he hree componen subypes in our view alphabe: one rule adds he specific componen subype node, he oher reas he case ha he componen holds a message: in his case a specific message subype node is creaed and associaed o he componen. Two oher rules add he channel subype nodes and links. The view ransformaion grammar is used o ransform a VL model o a scenario view layou in wo seps: Firsly, he sar diagram of he VL model is ransformed by applying he view ransformaion rules o i as long as he rules are applicable. Secondly, he simulaion rules (see Fig. 7) are ransformed ino he scenario view layou as well by applying he view ransformaion rules o he lef-hand side and o he righ-hand side of each simulaion rule. A view ransformaion applied o he simulaion rule deliver is shown in Fig. 13. Insances of he subype symbols (and, implicily, heir new layou) are added o each rule side. Noe ha he original layou of insances according o he kernel alphabe is no los by he view ransformaion bu only lef ou in Fig. 13. 4.3 Animaion of Scenarios in he Scenario View 1: 1: 1: 1: MA- M- C- Ch-- C- MA- M- deliver The implemenaion of he conceps presened so far in he GenGED environmen is work in progress. An animaion edior allows o enrich he ransformed simudeliver 1: 1: View Transformaion of 1: 1: C- Ch-- C- MA- M- View Transformaion of Fig. 13 A simulaion rule ransformed ino he layou for he kichen scenario view laion rules for he scenario views by animaion operaions realizing coninuous changes of graphics such as moving, appearing or disappearing, growing or shrinking or changing he color. The view designer defines hese animaion operaions visually, e.g. by drawing a required on-screen roue ineracively on he scenario background. Moreover, more han one animaion operaion can be defined for one rule: a ime-line diagram a he boom of he screen in Fig. 14 shows he saring ime and duraion for each animaion operaion and allows he view designer o change hem. Animaion operaions are execued during rule applicaion, such ha no only discree seps from one sysem o anoher are shown bu raher a coninuously animaed change of he scene. Scenario animaion hen comprises he applicaion of hese enriched simulaion rules (called animaion rules) in he layou of he scenario view o s of

12 Claudia Ermel, oswiha Bardohl he VL model. Fig. 14 shows he animaion edior where he upper par depics he animaion rule. In he lower par, he ime line for he synchronizaion of saring and ending imes for animaion operaions is shown. In our example, one linear-move operaion sars half a second afer he beginning of he animaion sep and lass 3 seconds. The second linear-move operaion sars while he firs operaion is sill running and ends afer 5 seconds, i.e. i akes longer han he firs moion. presens he GenGED environmen (whose basic feaures were depiced in Fig. 5) now exended by he scenario view mehodology proposed in his paper. Alphabe Edior Grammar Edior (1) (1) VL Specificaion VL Kernel Alphabe VL Synax Grammar VL Diagram Edior (2) (3) (2) (1) Compiler (2) (3) View Transformaion (3) VL Model VL Diagram Simulaion ules (3) VL Model in Scenario View (3) View Alphabe VL Kernel Alphabe + model specific subypes and heir layou VL Simulaion and Animaion Environmen Animaion Edior (4) (4) VL Diagram and Simulaion ules in he layou of an applicaion domain Animaion Grammar Animaion Specificaion in SVG Fig. 15 The GenGED environmen exended by feaures for scenario view definiion and animaion (5) Fig. 14 The animaion edior in he exended GenGED environmen Single animaion seps can be viewed in he animaion environmen by applying an animaion rule o a VL diagram. Animaion sequences can be recorded by performing a sequence of animaion rule applicaions. The complee animaion specificaion hen is sored in he XML-based SVG forma (Scalable Vecor Graphics [34]) and can be viewed by any exernal SVG viewer ool. In a conceivable GenGED user inerface for handling differen views, he formal model should be shown in he layou of he kernel alphabe in one window, he scenario views (one or more a a ime) in oher windows. The riggering of he simulaion or animaion seps (by selecing a rule) is visualized in all scenario views (and he formal model iself) a once. If here is a srucural change in he formal model (such as adding a componen), hen he generaion of adequae scenario views has o be repeaed, i.e. if he view alphabe is changed by he view designer, he view ransformaion grammars mus be re-generaed. 4.4 Summary: The Complee Mehodology in GenGED Summarizing, we presened a mehodology enriching he GenGED environmen by means o define scenario views and heir animaion in a generic way. Our approach is heavily based on graph grammars which allow flexible model ransformaions for various purposes. Fig. 15 We explain Fig. 15 by adding o he workflow differen roles for users of he GenGED environmen (differen roles need no necessarily be aken by differen persons) and describing who is doing wha: (1) The language designer defines he VL Specificaion by using he Alphabe Edior o define he VL Kernel Alphabe and using he Grammar Edior o define he VL Synax Grammar. Addiionally (if he VL is a visual behavior modeling language), he defines he operaional semanics (he Compiler) in erms of a compiler grammar using again he Grammar Edior. (2) The model designer uses he VL Specificaion o edi a VL diagram and evokes he Compiler o generae Simulaion ules from his VL Diagram. Alernaively, he Simulaion ules can be defined by hand using he Grammar Edior. The VL Diagram ogeher wih he Simulaion ules specifify he VL Model. (3) The view designer specifies a Scenario View by defining he View Alphabe (exending he VL Kernel Alphabe by subypes according o he VL Model). Addiionally, he defines he View Transformaion Grammar over he view alphabe. Applying he View Transformaion Grammar o he VL Model, he generaes a ransformed VL Model in he Scenario View. (4) The animaion designer uses he Animaion Edior o enhance he ransformed simulaion rules for he scenario view by animaion operaions and hus consrucs Animaion ules for he scenario view. (5) he model validaor works in he VL Simulaion and Animaion environmen by loading a VL Model (eiher in he original layou or in he layou of a scenario view) and simulaing (or animaing) is behavior by

Scenario Animaion for Visual Behavior Models: A Generic Approach 13 applying he rules of he corresponding simulaion (or animaion) grammar. He can also generae animaion sequences and expor hem o he SVG forma, o be viewed by an exernal SVG viewer ool. 5 Conclusion and Fuure Work We have reasoned abou he benefis of a visual environmen for he employmen of visual modeling echniques by discussing he GenGED approach. In general, exising ools supporing visual modeling are resriced o a fixed visual modeling language. The advanage of he GenGED approach is o suppor he generaion of a small applicaion specific visual modeling environmen including he sysemaic derivaion of scenario views in he layou of an arbirary applicaion domain. This is done by means of a formal view ransformaion grammar, where he resuling animaion rules are enhanced by animaion operaions for, e.g., coninuous moion of icons. The definiion of he operaional semanics for visual models can be absracly described by a grammar generaor (compiler). A model designer may use hese compilers wihou being aware of he heoreical background of heir absrac specificaion. In order o learn more abou he pracicabiliy and feasibiliy of his approach, more complex case sudies (VLs and scenario views) have o be examined as fuure work. Due o he generic and modular definiion of synax, behavior and animaion for formal visual models, he presened framework reduces considerably he amoun of work o realize a domain-specific animaion of a sysem s behavior. Ye, i would be even more desirable o have an inerconnecion beween GenGED and oher ools supporing he definiion of VL models, e.g. he large world of Peri ne or UML ools. The moives for such a ool inerconnecion are obvious: Peri ne ools which are focussed on formal analysis of heir models could profi from he scenario view suppor offered by Gen- GED, whereas GenGED migh expor a Peri ne o a Peri ne ool for formal analysis. Wihin he Peri Ne Baukasen [19] of he Peri Ne esearcher Group, he presened scenario animaion framework of GenGED is planned o become an exension of he funcionaliy provided by he Peri ne ool environmen Peri Ne Kernel (PNK) [27] and by he exernal ools inegraed over he PNK. In order o offer he feaures of GenGED o PNK users, an XML conversion beween he XML file formas of he PNK and GenGED has been implemened [21]. Up o now, place/ransiion nes edied wih he PNK can be convered o he GenGED forma and vice versa. Work is in progress o suppor he conversion of oher Peri ne classes as well. An exchange hen can ake place for nes belonging o ne classes which are known boh o Gen- GED (suiable grammars for synax and operaional semanics exis) and o he PNK (a specificaion of he Peri ne class and is firing rule exiss). Thus, he generaion of scenario views in GenGED becomes possible for Peri nes which have been edied by he PNK or impored from oher ools o he PNK. A more open ool inerconnecion is a modular approach where he formal model defined elsewhere is no convered ino he GenGED forma and hen impored by GenGED, bu where he ool waning o perform an animaion, riggers animaion seps by messages o Gen- GED encoding rule applicaions for a specific scenario view. This requires a library of scenario views (animaion modules) in GenGED and he abiliy o process remoe mehod invocaion (as implemened e.g. by Java-MI). An applicaion for such a modular use of scenario views is described in [7]. Here, he inegraion of he ools Plaus, designed o consruc visual behavior models and analyze heir performance, and GenGED for defining animaion modules is discussed. Fuure work will be done o enhance he GenGED environmen in order o model and check scenario views and o offer animaion feaures o oher ools via an inerface for remoe mehod invocaion. As views play an imporan role no only for animaion, we will consider he absracion of our mehodology o allow more general aspec-oriened views such as he combinaion of various diagram languages in UML [31]. Adequae case sudies using differen visual modeling echniques will be invesigaed o validae he usefulness of our approach owards a rapid prooyping environmen for visual modeling, simulaion and animaion. Acknowledgemens We would like o hank he anonymous reviewers for heir valuable and consrucive suggesions on previous drafs of his paper. eferences 1. AGG Homepage. hp://fs.cs.u-berlin.de/agg. 2.. Bardohl. GenGEd Visual Definiion of Visual Languages based on Algebraic Graph Transformaion. Verlag Dr. Kovac, 2000. PhD hesis, Technical Universiy of Berlin, Dep. of Compuer Science, 1999. 3.. Bardohl. A Visual Environmen for Visual Languages. Science of Compuer Programming (SCP), 44(2):181 203, 2002. 4.. Bardohl, K. Ehrig, C. Ermel, A. Qemali, and I. Weinhold. GenGEd Specifying Visual Environmens based on Visual Languages. In H.-J. Kreowski, edior, Proc. of APPLIGAPH Workshop on Applied Graph Transformaion (AGT 2002), pages 71 82, 2002. 5.. Bardohl and C. Ermel. Visual Specificaion and Parsing of a Saechar Varian using GenGEd. In Saechar Modeling Cones a IEEE Symposium on Visual Languages and Formal Mehods (VLFM 01), pages 3 5, Sresa, Ialy, Sepember 5 7 2001. hp://www2. informaik.uni-erlangen.de/vlfm01/saechars/.

14 Claudia Ermel, oswiha Bardohl 6.. Bardohl, C. Ermel, and J. Padberg. Transforming Specificaion Archiecures by GenGED. In [14], pages 30 44. 7.. Bardohl, C. Ermel, and L. ibeiro. A Modular Approch o Animaion of Simulaion Models. In Proc. 14 h Brazilian Symposium on Sofware Engineering, pages 498 520, Joao Pessoa, Brazil, Ocober 2000. 8.. Bardohl, T. Schulzke, and G. Taenzer. Visual Language Parsing in GenGEd. In Proc. of Saellie Workshops of 28h In. Colloqium on Auomaa, Languages, and Programming (ICALP 2000), pages 291 296. Elsevier, July 2001. See also ENTCS series a hp://www. elsevier.com/locae/encs/volume50.hml, issue 3. 9.. Bardohl, G. Taenzer, M. Minas, and A. Schürr. Applicaion of Graph Transformaion o Visual Languages. In [15], pages 105 181. 10. L. Baresi and. Heckel. Tuorial Inroducion o Graph Transformaion: A Sofware Engineering Perspecive. In [14], pages 402 202. 11. L. Baresi and M. Pezze. A Toolbox for Auomaing Visual Sofware Engineering. In. Kusche and H. Weber, ediors, Proc. Fundamenal Approaches o Sofware Engineering (FASE 02), Grenoble, April 2002, pages 189 202. Springer LNCS 2306, 2002. 12. A. F. Black. Meaphor in Diagrams. PhD hesis, Darwin College, Cambridge, Massachuses, 1998. 13. J. M. Carroll, edior. Scenario-Based Design. John Wiley & Sons, New York, 1995. 14. A. Corradini, H. Ehrig, H.-J. Kreowski, and G. ozenberg, ediors. Proc. Firs In. Conference on Graph Transformaion (ICGT 02). Springer LNCS 2505, 2002. 15. H. Ehrig, G. Engels, H.-J. Kreowski, and G. ozenberg, ediors. Handbook of Graph Grammars and Compuing by Graph Transformaion, Volume 2: Applicaions, Languages and Tools. World Scienific, 1999. 16. Honeywell Technology Cener. DOME Guide, Version 5.2.1, 1999. hp://www.hc.honeywell.com/dome/. 17. J. de Lara and H. Vangheluwe. ATOM 3 : A Tool for Muli-Formalism Modelling and Mea-Modelling. In. Kusche and H. Weber, ediors, Proc. Fundamenal Approaches o Sofware Engineering (FASE 02), Grenoble, April 2002, pages 174 188. Springer LNCS 2306, 2002. 18. D.F. D Souza and A.C. Wills. Objecs, s, and Frameworks Wih UML: The Caalysis Approach. Addison-Wesley Objec Technology Series. Addison-Wesley, 1998. See also hp://www.caalysis.org/books/ocf/index.hm. 19. H. Ehrig, W. eisig, and H. Weber e al. The Peri Ne Baukasen of he DFG-Forschergruppe PETI NET TECHNOLOGY. In Ehrig e al. [20]. 20. H. Ehrig, W. eisig, G. ozenberg, and H. Weber, ediors. Advances in Peri Nes: Peri Ne Technology for Communicaion Based Sysems. LNCS 2472. Springer, 2003. To appear. 21. C. Ermel,. Bardohl, and H. Ehrig. Specificaion and Implemenaion of Animaion Views for Peri Nes. In Weber e al. [32], pages 75 92. 22. C. Ermel, M. udolf, and G. Taenzer. The AGG- Approach: Language and Tool Environmen. In [15], pages 551 603. 23. GenGED Homepage. hp://fs.cs.u-berlin.de/genged. 24. M. Glinz. Improving he Qualiy of equiremens wih Scenarios. In Proc. of he Second World Congress for Sofware Qualiy (2WCSQ), Yokohama, pages 55 60, Sepember 2000. 25. Bernd Grahlmann. The Sae of PEP. In M. Haeberer A. edior, Proceedings of AMAST 98 (Algebraic Mehodology and Sofware Technology), volume 1548 of Lecure Noes in Compuer Science. Springer-Verlag, January 1999. 26. D. Harel. From Play-In Scenarios o Code: An Achievable Dream. IEEE Compuer, 34(1):53 60, january 2001. 27. E. Kindler and M. Weber. The Peri Ne Kernel - Documenaion of he Applicaion Inerface, evision 2.0, hp:// www.informaik.hu-berlin.de/ op/ pnk/ index. hml. Forschergruppe Perinez-Technologie an der Humbold-Universiä zu Berlin, Januar 1999. 28. MeaCASE KOGGE - KOblenz Generaor for Graphical Environmens. hp://www.uni-koblenz.de/is/kogge.en. hml. 29. O. Köh and M. Minas. Generaing Diagram Ediors Providing Free-Hand Ediing as well as Synax- Direced Ediing. In H. Ehrig and G. Taenzer, ediors, Proc. GATA 2000 - Join APPLIGAPH and GET- GATS Workshop on Graph Transformaion Sysems, pages 32 39. Technische Universiä Berlin, March 25-27 2000. 30. A. Schürr, A. Winer, and A. Zündorf. The POGES- Approach: Language and Environmen. In [15], pages 487 550. 31. Unified Modeling Language version 1.3, 2000. Available a hp://www.omg.org/uml. 32. H. Weber, H. Ehrig, and W. eisig, ediors. 2nd In. Colloquium on Peri Ne Technologies for Modelling Communicaion Based Sysems, Berlin, Germany, Sep. 2001. esearcher Group Peri Ne Technology, Fraunhofer Gesellschaf ISST. 33. K. Weidenhaup, K. Pohl, M. Jarke, and P. Haumer. Scenarios in Sysem Developmen: Curren Pracice. IEEE Sofware, 15(2):34 35, Mar/April 1998. 34. WWW Consorium (W3C). Scalable Vecor Graphics (SVG) 1.0 Specificaion. hp:// www.w3.org/ T/ svg, 2000. 35. K. Zhang, D. Zhang, and J. Cao. Design, Consrucion and Applicaion of a Generic Visual Language Generaion Environmen. IEEE Transacions on Sofware Engineering, 27(4):289 307, 2001.

Scenario Animaion for Visual Behavior Models: A Generic Approach 15 Claudia Ermel received he B. Eng. degree in informaics from he Universiy of Applied Sciences (TFH), Berlin, Germany, in 1989, and he Masers degree in compuer science from he Technical Universiy of Berlin, Germany, in 1996. She joined he Insiue of Sofware Technology and Theoreical Compuer Science a he Technical Universiy of Berlin in 1989. Her curren research ineress include Peri nes and oher visual modeling echniques, and he graph-grammar-based generaion of modeling and simulaion ools from formal visual language specificaions. Member of he GI (German Assosiaion of Compuer Scieniss) since 1988 Co-organizer of ETAPS 2000, GraTra 2000, UniGra 2001, UniGra 2003 Gues edior of he proceedings UniGra 2001 oswiha Bardohl received her Diploma in Compuer Science from he Technical Universiy of Berlin (TUB), Germany, in 1993 and her docoral degree in 1999. She is employed a he Insiue of Sofware Technology and Theoreical Compuer Science a TUB since 1989. There, she is heading he group on Visual Languages and Environmens. Her special ineress cover formal mehods in Compuer Science and how hey can be hidden from a user resuling in he developemen of GenGED which is meanwhile par of several (iner)naional projecs. The exension of GenGED is based on her curren research ineress which include he covering of common visual modeling and specificaion echniques as well as he definiion and generaion of corresponding visual environmens. Specific opics of his broad field are also considered wihin eaching aciviies.