www.archive-org-2013.com » ORG » X » XAAL

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".

    Archived pages: 23 . Archive date: 2013-09.

  • Title: Welcome to XAAL
    Descriptive info: .. Home.. Documentation.. Schemas.. Tools.. Downloads.. Links.. Index.. Xaal.. org.. Welcome to XAAL.. Short Introduction.. News.. Publications.. A number of systems for algorithm animation have been developed over the years.. Many of these systems have their own language for describing the animations.. However, until recently, no effort has been made to allow data exchange between the systems.. To allow this, we have defined an XML language, XAAL, to be used as a common language for describing algorithm animations.. XAAL stands for eXtensible Algorithm Animation Language.. For more detailed information, see the following resources.. Documentation:.. For a general documentation of the language, see.. documentation.. Schemas:.. For detailed information about XAAL, see the.. Schema documentation.. Implementation:.. The current implementation of the language supports transformations between several formats/systems: SVG, AnimalScript, JAWAA, and MatrixPro.. For more information about the implementation, see.. tools.. Aug 13 2009.. - XAAL website moved to.. xaal.. This might have broken something on  ...   Algorithm Animation Creation and Adoption in Education.. Licentiate's Thesis.. Department of Computer Science and Engineering, Helsinki University of Technology.. (.. pdf.. ).. Algorithm Visualizations as Interactive Learning Material.. In:.. Annual Hecse Poster Session.. , Helsinki, Finland, May 28 - June 1, 2007, pp.. 95.. Integrating Algorithm Animation Systems.. Proceedings of the Fourth Program Visualization Workshop (PVW 2006).. pp.. 79–87.. 4 July 2007.. XAAL - Extensible Algorithm Animation Language.. In: Eliisa Jauhiainen Minna Koskinen ed.. Jyväskylän Yliopisto, Tietojenkäsittelytieteiden laitos,.. Tietojenkäsittelytieteen päivät.. , Jyväskylä, pp.. 20–25.. Ville Karavirta (2006).. Algoritmianimaatiojärjestelmien tiedonvaihto.. In: Lea Kutvonen and Päivi Kuuppelomäki eds.. Tietojenkäsittelytieteen päivät 2006.. Helsingin Yliopisto, Tietojenkäsittelytieteen laitos.. Helsinki, Finland, pp.. 25–30.. Ville Karavirta, Ari Korhonen, and Lauri Malmi (2006).. Taxonomy of Algorithm Animation Languages.. SoftVis '06: Proceedings of the 2006 ACM symposium on Software visualization.. ACM Press, New York, NY, USA, pp.. 77–85.. September.. Ville Karavirta (2005).. Master's Thesis.. Send feedback about the website to:.. vkaravir@cs.. hut.. fi..

    Original link path: /
    Open archive

  • Title: XAAL Documentation
    Descriptive info: Overview.. Positioning.. Definitions.. Styling.. Graphical Primitives.. Data Structures.. Animation.. Metadata.. XAAL Documentation.. XAAL Overview.. A.. XAAL.. document consists of four main parts: (i) metadata, (ii) definitions, (iii) initial state, and (iv) animation.. An example of the high-level structure of a.. document is given below.. Note that the examples in this site are often not complete.. animations but merely document fragments illustrating some features of the language.. xaal xmlns="http://www.. cs.. fi/Research/SVG/XAAL" metadata.. /metadata defs.. /defs initial.. /initial animation.. /animation /xaal.. The root element of a.. document is.. The element.. metadata.. is used to include metadata about the animation.. This element is described in.. Metadata section.. defs..  ...   definitions.. The.. initial.. element contains the initial.. graphical objects.. and.. data structures.. animation.. element contains the.. animation operations.. Some parts of the language use the specification of the.. ITiCSE.. XML Working Group.. that the author of Xaal was part of.. Especially the specification of the graphical primitives and transformations is identical to the WG specification, and thus the text is highly similar.. This is due to the fact that the author contributed especially on these parts of the Working Group report.. The reason for not using more of the Working Group's specifications is that the specifications on other areas than graphical primitives are not yet finished..

    Original link path: /documentation/index.html
    Open archive

  • Title: XAAL Schemas
    Descriptive info: Graphical Primitive Animation.. Datatypes.. Common Elements.. Animation Common.. Data Structure Animation.. Interactive Questions.. XAAL Schemas.. Schema module hierarchy.. We have defined an XML Schema for Xaal.. To make the language more modular, we have separated the schema to several XML Schema documents.. The relationship between these documents is illustrated in the Figure below.. This kind of modularity makes it possible to more easily change or reuse some parts of this language in other languages.. These modules specify parts of the language as described in the following.. xsd.. - The main schema document  ...   in a Xaal document.. xaal-graphical-animation.. - Defines the graphical primitive animation operations.. xaal-graphics.. - Defines the graphical primitives available in Xaal.. xaal-animation.. - Combines the animation operations allowed in Xaal and defines how to group these operations.. xaal-animation-common.. - Defines common animation properties, such as timing.. xaal-datatypes.. - Defines data types used in Xaal.. xaal-common.. - Defines some common types used by several other schema modules.. xaal-structure-animation.. - Defines the data structure operations available.. xaal-structures.. - Defines the data structures available in Xaal.. xaal-interaction.. - Defines the interactive questions available in Xaal..

    Original link path: /schemas/index.html
    Open archive

  • Title: Tools
    Descriptive info: Prototype Implementation.. JSXaal - JavaScript XAAL viewer.. Object Hierarchy.. XSL Processing.. We have implementations of a prototype parser as well as some transformation tools for.. As.. is intended to be transformed to/from other formats, we have defined two alternative processing pipelines usable to add.. support into existing algorithm animation systems.. These are discussed in the following sections.. Note.. The tools will be available on the.. downloads.. page.. The first processing solution is an architecture discussed at the ITiCSE Working Group to implement the language.. This architecture is represented in the figure below.. The basic idea is to have one.. parser.. that can be used by multiple algorithm animation systems.. This parser generates a Java.. object hierarchy.. (in the figure,.. objects).. In addition, there is a part of software that can.. serialize.. the object hierarchy to a.. XML document.. The existing AA systems can then implement.. adapters.. that convert the.. object hierarchy into an animation in that particular system.. By implementing a.. generator.. , the existing systems can generate the object hierarchy and serialize it as.. This solution requires no major modifications to the existing systems, and thus the level of implementing.. remains fairly low.. Another advantage is that the document has to be parsed only once.. There is, however, one  ...   is an adapter and a generator between.. objects and MatrixPro, which implement the data structures and data structure operations parts of the language.. These implementations are described.. here.. Another way to integrate.. with existing systems is represented in the next figure.. This way provides a simple solution to import.. documents into existing AA systems that have an algorithm animation language.. It can also be used to export different formats from a system that supports.. In this solution, an existing.. document is processed with an XSL processor with an appropriate XSL stylesheet.. The stylesheet is a mapping from.. to the language of the target system.. Thus, the existing AV system can then parse the generated file in its language.. Naturally, any algorithm animation language that is XML, can be transformed similarly to.. The benefit of this approach is that the XSL stylesheets are quite simple to write for a person who knows the syntax of.. , the target language, and XSL.. Moreover, the target system needs not be changed at all.. This makes it possible to integrate.. with systems that are not open-source.. On the negative side, this approach requires parsing of three files: the stylesheet,.. document, and the generated AV system document.. The following section describes prototype implementations of this solution..

    Original link path: /tools/index.html
    Open archive

  • Title: XAAL Downloads
    Descriptive info: Main.. XAAL Downloads.. Available Downloads.. Fixme (Ville).. Java based XAAL tools will soon be open sourced as part of the OpenAlgoViz SourceForge project.. JSXaal is now.. a project on Google code.. It can be anonymously checked out from the Subversion repository by anyone.. For instructions on getting started, see the blog post.. JSXaal Goes Open Source..

    Original link path: /downloads/downloads.html
    Open archive

  • Title: Links
    Descriptive info: Related work has been caried out over the years.. This page lists some of that work.. Note, that this list is not exhaustive.. If you know of a system/language that should be included in this list, please let us know.. ITICSE Working Group on Development of  ...   Animation Systems.. Work related and partially used in XAAL has been developed by the ITICSE Working Group on Development of XML-based Tools to Support User Interaction with Algorithm Visualizations in 2005.. The results of this group can be found.. Animal.. ALVIS.. DsCats.. JAWAA.. JHAVÉ.. JSAMBA.. MatrixPro.. TRAKLA2..

    Original link path: /related/index.html
    Open archive

  • Title: XAAL Documentation - Definitions
    Descriptive info: XAAL Documentation - Definitions.. offers the possibility to define options for the animation as well as styles used in the animation.. These can be done using the.. element.. This element can have arbitrary number of child elements of type.. style.. ,.. option.. , and.. define-shape.. element will be described in the.. styling section.. and the.. in.. graphical primitives section.. Animation options are a sort of extension feature that the systems can use to include application specific information.. However, it is not sensible to specify the available options in the language, since different  ...   as name-value pairs.. This element is named.. and it has two attributes:.. name.. value.. Although we do not specify the possible options, we state that the ones we find important are animation speed and scale.. We suggest that these options are named.. speed.. scale.. , respectively.. A sensible choice for the values is an integer representing a percentage with the default value 100%.. The XML document fragment in the listing below gives an example of what the.. section could look like.. defs option name="speed" value="200"/ option name="scale" value="50"/ style.. /style define-shape.. /define-shape /defs..

    Original link path: /documentation/definitions.html
    Open archive

  • Title: XAAL Documentation - Styling
    Descriptive info: XAAL Documentation - Styling.. Styling functionality was well specified by the.. XML Working Group, thus we will use the same specification here.. The reason for the styling is to incorporate functionality similar to.. CSS.. , which are used together with XHTML documents to enforce a standard ``look and feel'' to an entire website.. In our specification, we want to have something similar to relieve the author or system of the duty of redefining a particular style for every object.. The visual appearance of an object is specified by a style, which can specify stylistic properties, including:.. whether it has a forward or backward arrow,.. the object's color and fill-color.. the font family, size, and style (bold, italic, or both),.. and the object's stroke type.. Styles  ...   for example.. line.. , this style specifies that the line should be solid (as opposed, say, to dashed), colored green, three pixels wide, and have an arrow tip in the ``forward'' direction.. For the line object, the fill color and font size are not applicable, although they might be for other objects that reference this style definition.. style id="style1" arrow forward="true" backward="false"/ color name="green"/ fill-color name="yellow"/ stroke type="solid" width="3"/ font family="Monospaced" size="3"/ /style.. To provide more versatile usage, style sheets can be extended.. element can specify a style to be extended, and it allows elements to be overridden, as in listing below.. In the example,.. style2.. inherits all other properties of.. style1.. except the color, which it redefines.. style id="style2" uses="style1" color red="0" green="240" blue="120"/ /style..

    Original link path: /documentation/styling.html
    Open archive

  • Title: XAAL Documentation - Graphical Primitives
    Descriptive info: XAAL Documentation - Graphical Primitives.. Shapes.. Graphical primitives are basic graphical components that can be composed to represent arbitrarily complex objects (.. e.. g.. , a tree data structure).. The graphical primitives are as specified by the.. XML WG, where the following have been defined:.. point, polyline, line, polygon;.. arc, ellipse, circle and circle-segment;.. square, triangle, rectangle;.. text.. Some of these objects are extensions of other objects.. For example, a line is a special instance of a polyline.. For ease of use, we have included these ``special case'' objects.. All graphical primitives have some shared attributes:.. hidden.. opacity.. Every primitive can have an.. used for identification.. Primitives can be either hidden or visible through use of the attribute.. , which, by default, is false.. Primitives can also be partially.. opaque.. i.. e.. transparent).. In addition, every graphical primitive can contain an element specifying the style.. Primitives can also reference pre-defined styles through the.. attribute.. For examples of styles, see.. styling.. Two representative graphical primitives are described below by way of examples of their formulations in XML.. A complete specifications can be found at the.. schemas.. section.. The first example below defines a polyline consisting of five  ...   using multiple.. contents.. elements that each specify the language used.. text opacity="0.. 5" coordinate x="30" y="50"/ alignment value="left"/ boxed value="true"/ contents lang="en" Text of the object /contents contents lang="fi" Objektin teksti /contents contents lang="de" Der Text des Objekts /contents /text.. To help the usage of more complex primitives, the language has support for defining reusable.. shapes.. For example, to specify the shape.. cat.. that consists of circle segments, lines, and an arc, the following XML code fragment can be used.. define-shape name="cat" circle-segment center x="10" y="5"/ radius length="4"/ angle total="310" start="295"/ /circle-segment circle-segment center x="10" y="15" /center radius length="7"/ angle total="255" start="105"/ /circle-segment.. !-- specification of ears as lines and tail as arc -- /define-shape.. The next example shows how to use this shape.. The location of the shape is calculated as offsets from the given coordinate using the given scale.. As can be seen, the usage of the shape is short compared to the specification of the shape.. Thus, a lot of effort can be saved by specifying a cat shape and then using it, when one needs to include a herd of cats in an animation.. shape uses="cat" coordinate x="30" y="50"/ shape-scale value="0.. 5"/ /shape..

    Original link path: /documentation/graphprim.html
    Open archive

  • Title: XAAL Documentation - Data Structures
    Descriptive info: XAAL Documentation - Data Structures.. Common Content.. Common Building Blocks.. Node.. Key.. Edge.. Array.. Graph.. List.. Tree.. supports the usage of data structures to specify the animations lowering the effort needed to produce them.. The set of structures is basically the same as, for example, in JAWAA: array, graph, list, and tree.. As with the graphical primitives, these also include some extensions of other structures.. For example, a tree is a special case of a graph, but has been included in the language to ease the use.. All the data structures in.. have some common content, and this subsection describes the common elements.. First of all, all structures can include a description of the element using the.. narrative.. This element can contain text and XHTML elements.. The structure can also contain a coordinate specification to position the structure, as well as a style definition.. structure-property.. element represents a name-value pair.. This can be used to provide the application with some extra information about the structure.. This can be, for example in case of MatrixPro, information about the layout to use for the structure or the actual data structure to use (for example, AVL-tree).. Structures have also several common attributes.. These attributes are described in Table 1.. Table 1: Common attributes of structures.. Name.. Description.. ID of the structure.. This must be unique throughout the instance document.. ref.. Reference to an existing structure that this makes a new visualization for.. If this is used, the referencing visualization should change when the referenced visualization is modified.. The style used with this structure.. To support the different approaches of existing algorithm animation languages, all structures support an optional graphical presentation of the structure indicating how the structure should be visualized.. This information can be included using the.. graphical.. This element can contain all the.. graphical primitives.. transformations.. on them.. The actual content of the structures is contained in nodes (or, for arrays, in indices) and keys.. The next few paragraphs describe these common building blocks.. Node is the basic building block used in all the structures, except for the array.. node.. can contain any of the structures, which again can contain  ...   specified using the.. from.. to.. attributes.. Whether or not the edge is directed can be controlled with the.. directed.. Following listing gives an example of an edge between the two nodes specified in the node example earlier.. The edge in the example includes also the graphical representation.. edge from="node1" to="node2" directed="true" graphical line coordinate x="20" y="20"/ coordinate x="70" y="55"/ style arrow forward="true"/ /style /line /graphical /edge.. An array is represented in.. using element.. array.. Array consists of index elements containing the data.. It has also attributes to specify the indexing, orientation, and size of the array.. Following XML code fragment gives an example of an array of size 7 with three.. elements.. array indexed="false" size="7" orientation="horizontal" index index="0" key value="A"/ /index index index="1" key value="B"/ /index index index="4" key value="C"/ /index /array.. Graph is a structure consisting of a set of nodes connected by edges.. In.. , a graph is represented using element.. graph.. The content of the graph is included using.. tags.. Example below shows a specification of a graph in.. graph node id="n1" key value="D"/ /node node id="n2" key value="E"/ /node node id="n3" key value="M"/ /node node id="n4" key value="O"/ /node edge from="n1" to="n2" directed="true"/ edge from="n2" to="n3" directed="true"/ edge from="n3" to="n4" directed="true"/ edge from="n4" to="n1" directed="true"/ /graph.. A list is a data structure consisting of a set of nodes and edges connecting the nodes.. , we do not set any restrictions on the list (such as, can it be doubly linked).. Thus, a list is as a graph, included only to provide a more natural way to describe lists with an element.. list.. Element.. has also an attribute to specify the orientation.. This is the same as the.. orientation.. attribute for.. Tree is an important and often used data structure and is available in some of the existing AA languages.. A tree consists of a set of nodes connected by edges.. Tree is headed by a single.. root.. In a legal tree, only one path exists between any two nodes in the tree.. , a tree is represented using an element.. tree.. The content of the.. consists of.. The root of the tree is specified using..

    Original link path: /documentation/datastructures.html
    Open archive

  • Title: XAAL Documentation - Animation
    Descriptive info: XAAL Documentation - Animation.. Animation Grouping.. Common Properties of the Animation Operations.. Elementary Data Structure Operations.. Create.. Remove.. Replace.. Swap.. Abstract Data Structure Operations.. Insert.. Delete.. Search.. Miscellaneous Operations.. Pause.. Sound.. A crucial part of the algorithm animation language is the animation functionality.. In the following, we will introduce the elements available in.. for defining the animations.. First, we will introduce the general grouping and timing functionality followed by detailed discussion about the different animation operations.. The animation operations have been divided in three groups: graphical primitive transformations (for example, scale and rotate), elementary data structure operations (for example, create and replace), and abstract data structure operations (for example, insert and delete).. Similarly to.. SMIL.. , animation operations in.. can be grouped using elements.. seq.. par.. animates the operations it contains sequentially, while.. animates them simultaneously.. Both of the elements can contain a description of the animation group and any of the animation effects described in this section.. In addition, they can contain nested.. Both of the elements can also have an attribute.. to be used when identifying the element.. All the animation operations have some common attributes and content.. First of all, a timing specification can define the starting time of the transformation, its duration, or both.. The timing in.. is as it is specified in the.. XML WG report:.. no timing definition: the transformation takes place at once and without a duration.. only delay: a delay between the start of the current step and the start of the operation is given.. The delay can be specified as a time (based on seconds -.. s.. or milliseconds -.. ms.. ), or on a number of preceding animation.. frames.. A.. frame.. has a meaning similar to a frame of a movie--it represents one component in a series that is involved in visualizing a step.. step.. is a phase of an animation that illustrates some single interesting event.. A step can thus be made up of many frames that, for example, illustrate the effect of a step by smoothly transitioning the visualization from the current state to the next.. The transformation has no duration and therefore immediately completes.. only duration: the transformation starts at the beginning of the frame and takes a certain amount of time.. Can also be specified by frames, milliseconds, or seconds.. duration and delay: combines the two options above.. The following listing gives an example of the last three of these different options.. !-- option 2 -- timing delay s="2"/ /timing !-- option 3 -- timing duration ms="200"/ /timing !-- option 4 -- timing duration frames="15"/ delay frames="10"/ /timing.. The other element common to most of the transformations is the.. object-ref.. tag that refers to the objects transformed or used in a given effect.. In addition to the common elements, every animation operation can have an unique.. These operations are defined for graphical primitives to transform them.. To support better the interoperability of algorithm animation systems, we will use the format specified by the..  ...   is represented by the.. create.. This element is used to create new structures, which can be new parts to existing structures or completely new.. New parts can be created by specifying the.. target.. The newly created structure will then be added as part of the given target.. If the attribute is not specified, the structure is added as a new structure.. Removing structures or parts of them is also considered important.. This operation is supported in.. with the.. remove.. This element has attribute.. to specify the structure(s) to be removed.. replace.. can be used to replace parts of structures with other parts.. The replaced structure is specified using.. For example, in the following example the key with value K would be replaced by key with value K2.. node key id="key1" value="K"/ /node.. replace target="key1" key id="key2" value="K2"/ /replace.. Swapping two structures is often used, especially for keys in an array.. However, in.. , any two structures can be swapped using the element.. swap.. The swapped structures are specified using attributes.. with.. Abstract data structure operations must always be targeted for the top-level structures (.. array, tree, etc) instead of the basic building blocks (nodes, etc.. ).. Every abstract operation can contain the same operation as graphical primitive transformations (element.. ) or as elementary data structure operations (element.. elementary.. However, these are optional.. insert.. can be used to insert value(s) into a structure.. The target structure is specified using a.. attribute that refers to the ID of an existing structure.. If the inserted structure is already in some of the other structures, it can be referenced using the.. source.. delete.. can be used to delete value(s) from structures.. Listing below gives an example where the key C is removed from a Binary Search Tree.. The example also shows how to include the same operation as elementary data structure operations.. Note, however, that the.. element is an optional part.. delete target="BST" key value="C"/ elementary remove target="nodeC"/ remove target="edgeCA"/ replace target="edgeMC" edge from="nodeM" to="nodeA"/ /replace /elementary /delete.. Add figure.. search.. can be used to search value(s) from a structure specified with the attribute.. The following document fragment gives an example of searching for key K in a structure that is a Splay Tree.. search target="splayTree" timing duration ms="2000"/ /timing key value="K"/ /search.. There are some operations available in.. that do not fit in the other categories.. These operations are introduced in the following paragraphs.. Pausing the animation can be a good way to add interaction to the animation.. A pause can be used, for example, after showing a comment with a question for a student.. The pause can be represented in.. using the.. pause.. Sound can be added in the animation by adding.. sound.. elements as an animation operation.. The element has attributes that state where the sound-file is located and how long and how many times it should be played.. Below is an example on how to use the.. sound src="http://www.. seaworld.. org/animal-info/sound-library/audio/dolphins.. wav" repeat-count="2" timing duration s="5"/ /timing /sound..

    Original link path: /documentation/animation.html
    Open archive

  • Archived pages: 23