<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.5 (http://www.squarespace.com/) on Fri, 30 Jul 2010 07:41:18 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>MiceOnABeam</title><link>http://www.miceonabeam.com/miceonabeam-blog/</link><description>Latest MiceOnABeam News</description><lastBuildDate>Sat, 17 Jul 2010 19:46:05 +0000</lastBuildDate><copyright></copyright><language>en-US</language><generator>Squarespace Site Server v5.11.5 (http://www.squarespace.com/)</generator><item><title>Getting Started</title><category>components</category><category>examples</category><category>library</category><category>models</category><dc:creator>Antonius Frentis</dc:creator><pubDate>Fri, 16 Jul 2010 13:37:57 +0000</pubDate><link>http://www.miceonabeam.com/miceonabeam-blog/2010/7/16/getting-started.html</link><guid isPermaLink="false">417049:4772989:8274321</guid><description><![CDATA[<p>One of the more common things I hear from new users of MiceOnABeam is "What's  the best way to get started?".&nbsp; They're impressed by the <a style="color: #800000; font-weight: normal; text-decoration: underline;" href="https://miceonabeam.fogbugz.com/default.asp?W2">tool's  capabilities</a>, the comprehensive <a style="color: #800000; font-weight: normal; text-decoration: underline;" href="https://miceonabeam.fogbugz.com/default.asp?W1">online  documentation</a> and find the <a style="color: #800000; font-weight: normal; text-decoration: underline;" href="https://miceonabeam.fogbugz.com/default.asp?W7">tutorial</a> helpful, yet the design paradigm is different enough that it can still be  difficult to know how to get started on a new script model.<br /><br /><span class="full-image-float-right ssNonEditable"><span><a style="color: #800000; font-weight: normal; text-decoration: underline;" href="http://miceonabeam.us1.list-manage1.com/track/click?u=047765c27d148bf4086285af8&amp;id=06d2da3872&amp;e=10f4285473"><img src="http://gallery.mailchimp.com/047765c27d148bf4086285af8/images/ComponentLibrary.gif" alt="Component Library" width="287" height="724" align="right" /></a></span></span>To assist these new users, a <a style="color: #800000; font-weight: normal; text-decoration: underline;" href="http://www.miceonabeam.com/model-library/">Model  Library</a> is now available<span style="text-decoration: underline;"></span>. The library consists of an initial set of model examples that  illustrate designs for some basic Second Life&reg; activities such as animating an  avatar or displaying a menu dialog.<br /><br />As MiceOnABeam is a visual design  tool, pictures of each state of a model are shown along with short descriptions  of the logic flow between the connected modeling elements.<br /><br /><span class="subTitle" style="font-style: normal; font-family: Georgia; color: #000000; font-size: 14px; font-weight: bold;">Using a Model Example</span><br />The support for reusable  components is a great feature of MiceOnABeam and the <a style="color: #800000; font-weight: normal; text-decoration: underline;" href="https://miceonabeam.fogbugz.com/default.asp?W73">Component  Library</a> is key to this. Model examples should be downloaded and stored  within the <em>Library</em> folder of your MiceOnABeam user directory. They can  then be accessed and their descriptions viewed via the Component Library browser  from within the tool.<br /><br />To use a component, click and drag it from the  browser into a <a style="color: #800000; font-weight: normal; text-decoration: underline;" href="http://www.miceonabeam.com/graphical-modeling/">State  Editor</a>, then connect it to other modeling elements within your script model  as required.<br /><br />While these models were created for <strong>illustrative  purposes only</strong>, they can be configured/customized and incorporated into  your designs if desired. Note that the models are provided free of charge but  without warranty of any kind. You are free to modify and redistribute  them.<br /><br /><span class="subTitle" style="font-style: normal; font-family: Georgia; color: #000000; font-size: 14px; font-weight: bold;">Initial Set of Examples</span><br />The initial set of model  examples include:</p>
<ul>
<li><em>AnimateAvatar</em>: Animates an avatar with a set animation. </li>
<li><em>AnimateOnSit</em>: Animates an avatar that sits on a prim. </li>
<li><em>ChatAnimate</em>: Animates an avatar that chats a desired animation. </li>
<li><em>ChatCommands</em>: Chat command processor. </li>
<li><em>FollowAvatar</em>: Causes a prim to follow it's owner. </li>
<li><em>MoveAvatar</em>: Moves an avatar via a prim. </li>
<li><em>SetAvatar</em>: Chat commands to animate; set floating text; turn on a  face light. </li>
<li><em>ShowMenu</em>: Displays a menu &amp; waits for the user to make a button  selection. </li>
<li><em>Timer</em>: Shows how a model can be subject to an overall timeout  constraint. </li>
<li>And more... </li>
</ul>
<p style="text-align: center;"><img src="http://gallery.mailchimp.com/047765c27d148bf4086285af8/images/LinkedPrimServer2.gif" alt="Model Example" width="440" height="454" /></p>
<p><br />I'm working on more model examples for inclusion in  the library down the road. A <a style="color: #800000; font-weight: normal; text-decoration: underline;" href="http://www.miceonabeam.com/community-library/">Community  Library</a> has also been set up where you can share models that you think will  be useful to others.</p>
<p>Antonius</p>]]></description><wfw:commentRss>http://www.miceonabeam.com/miceonabeam-blog/rss-comments-entry-8274321.xml</wfw:commentRss></item><item><title>MiceOnABeam Version 1.0.0 General Release</title><dc:creator>Antonius Frentis</dc:creator><pubDate>Wed, 09 Jun 2010 22:16:14 +0000</pubDate><link>http://www.miceonabeam.com/miceonabeam-blog/2010/6/9/miceonabeam-version-100-general-release.html</link><guid isPermaLink="false">417049:4772989:7934180</guid><description><![CDATA[<p>One of the great things about being a self-employed software  developer is that you get to do the wide range of activities that  comprise the designing, building, testing, deploying and marketing of a  new software application. It's simply impossible to get bored and it's  certainly been a great ride creating MiceOnABeam and being able to  announce it's general release.</p>
<h4><strong>Free and Professional Versions of MiceOnABeam</strong></h4>
<p>With the general release MiceOnABeam is now provided in <strong>Free</strong> and <strong>Professional </strong>versions. A Free version will always be made  available with each new release as I feel strongly that's it's important  to get the program out there and make it available to everyone  regardless of their ability to pay.</p>
<p>Aside from a couple of restrictions (<span class="Standard">code  generation is limited to a maximum of five states and</span><span class="Standard"> the new Performance Analysis feature is disabled) </span>the  free version is otherwise fully functional and can be used to create  scripts for the Second Life world.</p>
<p>At the same time I'd like to defray some of the expenses involved in  developing the program so I've created a Professional version which has  no restrictions.&nbsp; A license for this version can be purchased for $L3000  at Second Life's XStreet Marketplace.</p>
<h4><strong>The Model IS the Implemention</strong></h4>
<p>One of the key benefits developing a MiceOnABeam model for a script   is that the script's architecture not only becomes clearer to   understand, but is actually represented by concrete design components   that are automatically translated to LSL code. In other words, the model  <strong> is </strong>the implementation!</p>
<p>This enables the development  of a whole range of features that can  operate at the abstraction level of the model  itself and provide  higher-level insights into the design than would  otherwise be available  through a similar analysis of a script coded  directly.</p>
<p>The new Performance Analysis feature is an initial step in this  direction. Read on below for full details.</p>
<h4><strong>Performance Analysis</strong></h4>
<p>Delays and lag are significant issues to be considered when  developing scripts  for the Second Life world. As a result scripters  must pay careful attention to  the execution times of processing  intensive activities or algorithms.</p>
<p>To  address this need,  MiceOnABeam models can now be automatically instrumented with  LSL code  to measure and report execution timings for selected components within  a  script model. This is a powerful new feature that can help users identify   performance bottlenecks in their designs.</p>
<p>Each model component type can be configured to monitor either all  usages  (e.g., monitor all States in the model) or only particular  instances of that  type.</p>
<p style="text-align: center;"><span class="ssNonEditable full-image-block"><span><img src="http://www.miceonabeam.com/storage/OptionsPerformanceAnalysis.gif?__SQUARESPACE_CACHEVERSION=1276119780580" alt="" /></span></span></p>
<p>For monitored components users can select to output the number of times  a <span class="Standard">component's code has been executed, </span><span class="Standard">it's cumulative execution time and it's </span><span class="Standard">average execution time.</span></p>
<p><span style="font-size: smaller;"><span style="font-family: Courier New;">STATS&gt;&gt;   *** PERFORMANCE STATS ***&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Count&nbsp;&nbsp; Tot Time&nbsp; Avg Time<br />[09:14]  Object:  STATS&gt;&gt; EVENT_listen:&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 2.940365&nbsp; 0.980122<br />[09:14]  Object:  STATS&gt;&gt; EVENT_sensor:&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0.000000&nbsp; 0.000000<br />[09:14]  Object:  STATS&gt;&gt; EVENT_timer:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp; &nbsp; 0.719490&nbsp; 0.089936<br />[09:14]  Object:  STATS&gt;&gt; EVENT_touch_end:&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 0.789647&nbsp; 0.394824</span></span></p>
<h4><strong>Down the Road</strong></h4>
<p>Next up is the development of a library  of free re-usable  MiceOnABeam script models. Given that visual scripting is new for many  scripters (or perhaps they used modeling techniques for analysis and  design- but not for implementation), I recognize that it is essential to  have a set of reusable building-blocks to help new users get started.</p>
<p>The availability of building-blocks together with MiceOnABeam will  also hopefully encourage and enable Second Life members who have been  intimidated by the complexity of programming to augment their SL  experience by being able to add behavior to their SL creations.</p>
<p>An  open library will also be made available on the MiceOnABeam  website where  contributions by users will be made available for anyone  to  download and use.</p>
<p style="text-align: center;"><span class="ssNonEditable full-image-block"><span><img src="http://www.miceonabeam.com/storage/oneMouseBlueSmall.gif?__SQUARESPACE_CACHEVERSION=1276121608484" alt="" /></span></span></p>
<p style="text-align: left;">Later in the  year and contingent upon Linden Lab plans,  MiceOnABeam will support the  use of the C# language for use within a script  model and will  generate a complete C#-based script.</p>
<p>For full details on the release please check out the <a href="https://miceonabeam.fogbugz.com/default.asp?W51">Release Notes</a>.</p>
<p>Antonius</p>]]></description><wfw:commentRss>http://www.miceonabeam.com/miceonabeam-blog/rss-comments-entry-7934180.xml</wfw:commentRss></item><item><title>MiceOnABeam Version 0.3.0B Released</title><dc:creator>Antonius Frentis</dc:creator><pubDate>Sun, 21 Mar 2010 16:13:31 +0000</pubDate><link>http://www.miceonabeam.com/miceonabeam-blog/2010/3/21/miceonabeam-version-030b-released.html</link><guid isPermaLink="false">417049:4772989:7083148</guid><description><![CDATA[<p>MiceOnABeam version 0.3.0 Beta has been released and is now available for downloading <a href="http://www.miceonabeam.com/download-miceonabeam-form/">here</a>. All users of version 0.2.0 Beta should switch to the new release as soon as possible.</p>
<p>This is primarily a maintenance release that fixes some important bugs, but I did take the opportunity to add in two key optimizations to the code generation.</p>
<p><strong>Code Generation Improvements</strong></p>
<p>The <a href="https://miceonabeam.fogbugz.com/default.asp?W22">Group Transition</a> was a prime candidate for some improvement. Recall that a Group Transition is used when the code handling a particular LSL event is common to two or more states, e.g., an <em>on_rez</em> event. This is a very powerful and useful feature.</p>
<p><span class="full-image-float-right ssNonEditable"><span><img src="http://www.miceonabeam.com/storage/GroupTransition.gif?__SQUARESPACE_CACHEVERSION=1269191859430" alt="" /></span></span></p>
<p>In the generated code, the transition action code was shared, but the Guard Condition code together with setup code to invoke the Group Transition was not.&nbsp; With this release all such code common to several states is now shared where possible.</p>
<p>Another feature whose code generation has been optimized is the <a href="https://miceonabeam.fogbugz.com/default.asp?W28">Final State</a> which signifies completion of the script model or portion thereof. A Completion Transition is used in conjunction with a Final State to indicate the next state to transition to when a Final State has been entered from within a Composite State.</p>
<p><span class="Standard">In previous releases, </span><span class="Standard">if a Composite State had a <span class="uvb">Completion  Transition</span>, then it would be propagated to each substate, whether or not the  completion event could have been generated from within the substate. </span><span class="Standard">With this release the code generator will only  create a Completion Transition on those substates that contain a Final State  somewhere within their nested context.</span></p>
<p><span class="Standard"><strong>Code Generation Options</strong><br /></span></p>
<p><span class="Standard">For convenience a new menu item <em>Generate LSL (Optimized)</em> has been</span><span class="full-image-float-right ssNonEditable"><span><img src="http://www.miceonabeam.com/storage/GenerateLSLOptimized.gif?__SQUARESPACE_CACHEVERSION=1269191391516" alt="" /></span></span><span class="Standard"> added to the <em>Script</em> menu within the main menu bar. </span>This temporarily adjusts the code generation options resulting in more compact  and optimized LSL code generated.<br /><br />If you are using an external LSL  simulator for debugging your scripts the non-optimized version may be desirable  so that you can read the self-commented code and can take advantage of the  execution tracing options. However the optimized version should almost always be  used to generate the final, tested script for the SL environment.</p>
<p><strong>Support for Pre-Release LSL functions</strong></p>
<p>Also of interest in v0.3.0B is support for upcoming LSL functions that will be supported in a future SL release (functions relating to getting &amp; setting individual prim link parameters &amp; various prim media functions &amp; constants). These are now supported by the MiceOnABeam parser and code editor for the convenience of those users using pre-release versions of the SL server &amp; viewer.</p>
<p>For full details on the release please check out <a href="https://miceonabeam.fogbugz.com/default.asp?W51">Release Notes</a>.</p>
<p>Antonius</p>]]></description><wfw:commentRss>http://www.miceonabeam.com/miceonabeam-blog/rss-comments-entry-7083148.xml</wfw:commentRss></item><item><title>Live At Last!</title><dc:creator>Antonius Frentis</dc:creator><pubDate>Sat, 06 Mar 2010 22:13:31 +0000</pubDate><link>http://www.miceonabeam.com/miceonabeam-blog/2010/3/6/live-at-last.html</link><guid isPermaLink="false">417049:4772989:6927311</guid><description><![CDATA[<p>I had the pleasure a couple of weeks ago of being interviewed by the ravishing Dousa Dragonash on Metaworld3's Nightly News channel <a href="http://www.livestream.com/metaworld3">www.livestream.com/metaworld3.<br /></a></p>
<p>She had heard about the recent beta release of MiceOnABeam and had all sorts of questions on the rationale for developing the program and it's applicability for new SL scripters as well as experienced ones. <span class="full-image-float-right ssNonEditable"><span><img src="http://www.miceonabeam.com/storage/NightlyNews.gif?__SQUARESPACE_CACHEVERSION=1267917029020" alt="" /></span></span></p>
<p>Well, being interviewed on a virtual world live broadcast was certainly a new one for me as you'll notice by the stiffness of my body throughout the interview. (My avatar has yet to learn to walk &amp; chew gum at the same time. :-)&nbsp; But it was a great experience none the less.</p>
<p>The Nightly News is filmed at <a href="http://metaversetv.com/"><span>MetaverseTV</span>'s</a> neat studios <a href="secondlife://Metaverse%20Island/190/153/43">in world.</a> Dousa will also be known to fans of the MBC News virtual news cast.</p>
<p>The interview can be found <a href="http://www.miceonabeam.com/metaworld3-nightly-news/">here</a>.</p>
<p>Antonius</p>]]></description><wfw:commentRss>http://www.miceonabeam.com/miceonabeam-blog/rss-comments-entry-6927311.xml</wfw:commentRss></item><item><title>Mea Culpa</title><dc:creator>Antonius Frentis</dc:creator><pubDate>Sat, 06 Mar 2010 21:48:07 +0000</pubDate><link>http://www.miceonabeam.com/miceonabeam-blog/2010/3/6/mea-culpa.html</link><guid isPermaLink="false">417049:4772989:6927153</guid><description><![CDATA[<p>A critical bug has been reported in v0.2.0B that occurs when using a Final State modeling component. MiceOnABeam will crash when drawing a transition to a Final State.</p>
<p>The problem was introduced by a small last minute addition to v0.2.0B that ensured that a transition with a Completion event could not be directly connected to a Final State (thereby creating an infinite loop in the model).</p>
<p>Fortunately there's a simple workaround: Just create the new transition first to another state. Then select and drag the transition's end-point over to the Final State.</p>
<p>Sorry for any inconvenience that this may have caused anyone. The has been fixed for the upcoming v0.3.0B release due out the week of March 22nd.</p>
<p>Antonius</p>]]></description><wfw:commentRss>http://www.miceonabeam.com/miceonabeam-blog/rss-comments-entry-6927153.xml</wfw:commentRss></item><item><title>Open Beta</title><dc:creator>Antonius Frentis</dc:creator><pubDate>Fri, 12 Feb 2010 21:35:29 +0000</pubDate><link>http://www.miceonabeam.com/miceonabeam-blog/2010/2/12/open-beta.html</link><guid isPermaLink="false">417049:4772989:6666732</guid><description><![CDATA[<p>With the completion of the development and testing of version 0.2.0B, I'm happy to report that MiceOnABeam has reached a critical mass of functionality and stability that makes it ready for a wider distribution through an open beta release. Any Second Life user can now download the release <a href="http://www.miceonabeam.com/download-miceonabeam-form/">here</a>.<br /><br />Chief among the new features that this release provides is the re-architected code generation which now runs within the single default LSL state, while still continuing to support all of MiceOnABeam's advanced modeling features.</p>
<p>Aside from reducing memory requirements in the generated code, MiceOnABeam models with the new code generation are no longer limited by LSL's side-effects when using multiple states, such as purging the message queue and cancelling listens or sensors.&nbsp;</p>
<p><span class="full-image-block ssNonEditable"><span><img src="http://www.miceonabeam.com/storage/ScopedSearching1Pixels600.gif?__SQUARESPACE_CACHEVERSION=1266012472221" alt="" /></span></span></p>
<p>A search feature is also now provided which can search for text throughout the model and provide categorized lists of model components that match the search string. The search is hierarchical, and so can be scoped to just a portion of the model! Model components found in the search can then be opened up to with the location(s) of the found text highlighted.</p>
<p><span class="full-image-block ssNonEditable"><span><img src="http://www.miceonabeam.com/storage/CodeEditor4.gif?__SQUARESPACE_CACHEVERSION=1266012294475" alt="" /></span></span></p>
<p>Finally, tired fingers will appreciate that code completion for LSL functions and constants is now provided within the built-in LSL code editor.<br /><br />Aside from the above features a number of bug and usability fixes have gone into the release thereby improving the user experience.<br /><br />At this point I also want to thank all of you who took part in the Alpha Trial. Your participation has been instrumental in helping achieve this release.<br /><br />Antonius﻿</p>]]></description><wfw:commentRss>http://www.miceonabeam.com/miceonabeam-blog/rss-comments-entry-6666732.xml</wfw:commentRss></item><item><title>MiceOnABeam Version 0.1.3A Released</title><dc:creator>Antonius Frentis</dc:creator><pubDate>Sat, 19 Dec 2009 20:43:00 +0000</pubDate><link>http://www.miceonabeam.com/miceonabeam-blog/2009/12/19/miceonabeam-version-013a-released.html</link><guid isPermaLink="false">417049:4772989:6097675</guid><description><![CDATA[<p>MiceOnABeam Version 0.1.3 Alpha is now available for downloading to trial members!&nbsp; Aside from bug fixes, this release provides several new features including:</p>
<ul>
<li>Cut/Copy/Paste of model component</li>
</ul>
<ul>
<li>Aggregate or Decompose states</li>
</ul>
<ul>
<li>Component Library for managing reusable modeling components</li>
</ul>
<ul>
<li>New option to select the mouse double-click action when editing script models</li>
</ul>
<ul>
<li>New System Debug options to automatically report MiceOnABeam issues</li>
</ul>
<p>Trial members should have already received an email with details on how to download the release.</p>
<p>With this third alpha release of MiceOnABeam we're opening up the trial to more participants. For those of you reading this who are not part of the trial, consider joining in order to try out this upcoming new modeling tool for the SL world. (<a href="http://www.miceonabeam.com/join-the-trial/">Join Alpha Trial</a>)</p>
<p>Antonius</p>]]></description><wfw:commentRss>http://www.miceonabeam.com/miceonabeam-blog/rss-comments-entry-6097675.xml</wfw:commentRss></item><item><title>Slice 'n Dice</title><dc:creator>Antonius Frentis</dc:creator><pubDate>Sun, 29 Nov 2009 23:15:37 +0000</pubDate><link>http://www.miceonabeam.com/miceonabeam-blog/2009/11/29/slice-n-dice.html</link><guid isPermaLink="false">417049:4772989:5941007</guid><description><![CDATA[<p>Here's the latest on the upcoming MiceOnABeam Release v0.1.3A.</p>
<p><strong>Musings on Methodologies</strong></p>
<p>The MiceOnABeam modeling tool has been designed with an iterative software development strategy in mind. Iterative development has been around for many years and over more recent years, several good methodologies of this type have been developed (e.g., <a href="http://www.agile-process.org">Agile Software Development</a>, <a href="http://www.extremeprogramming.org">Extreme Programming</a>). Typically if one is working as part of a large project, a more heavy-weight solution is chosen for the development team. For a very small group consisting of three or less developers (probably typical for SL), the much closer communication among team members provides the flexibility to adapt these development methods to an even more informal style; yet still retain much of the method's benefits.<br /><br />For me, a development strategy for such smaller projects (such as used developing MiceOnABeam), consists simply of first developing a requirements specification for what you're trying to do; i.e., the Feature Spec. A rough design framework must then be worked out (to support the Feature Spec.), which typically consists of structural elements and protocols together with main data structures, objects and their relationships. This framework can be specified using a variety of techniques (such as Use Cases) most of which can be found in the <a href="http://www.uml.org">UML</a> specification.<br /><br />At this point, a cycle of iterative software development is started, consisting of a bit of design followed by implementation and testing. This cycle is then repeated with the next feature unit and continues until a sufficient feature set is developed whereby the product can start being released. Initially, releases are done within a trial environment leading from an early limited-availability alpha version through a wider-release beta to a general release. A key point is that at every point between iterations, you should have a working product. Testing always consists of testing the incremental feature(s) within the context of the whole system and ensuring that the previously developed system parts continue to work properly.<br /><br />The benefits of such an approach are extensive and may include more robust software, features that are better tuned to customer needs (through early trials) and greater flexibility in issuing releases; as releases can more easily be based on an earlier iteration therefore leaving out problematic features.</p>
<p><strong>Cut/Copy/Paste</strong></p>
<p>One of the demands that an iterative software development strategy makes upon a modeling tool is the ability to "slice and dice" model components in a variety of ways to accommodate the evolving nature of the design. The most basic of these is Cut/Copy/Paste. Nothing to crow about <span class="full-image-float-right ssNonEditable"><span><img src="http://www.miceonabeam.com/storage/Newsletter091128A1.jpg?__SQUARESPACE_CACHEVERSION=1259541249203" alt="" /></span></span>of course, but a non-trivial exercise nonetheless for semantic-based graphical models such as MiceOnABeam. Which is all to say that in Release v0.1.3A, a group of selected modeling components can now be cut, copied and pasted within the same or different model.</p>
<p><strong>Aggregate / Decompose</strong></p>
<p>A key element of modeling scripts within MiceOnABeam is the ability to create multiple sub-states contained within any given state to create hierarchical states. This Composite State can then serve as a higher-level abstraction that hides away more detailed behavior. Typically, a designer will start by laying out the high-level view of the script's behavior and then add in additional decompositional detail as the design progresses.<br /><br />Life however is rarely that linear in practice; particularly in an iterative development environment, the ability to come at a design from multiple directions is essential. To that end Release v0.1.3A now supports the Aggregate operation, whereby a group of selected components can be pushed down a level, to become contained within a newly-created Composite State.</p>
<p>The reverse of this operation is called Decompose, whereby the contained components of a Composite State are removed and brought up a level within the state hierarchy and the (former) Composite State is then removed. Very handy!</p>
<p><strong>Component Library</strong></p>
<p>A sister strategy to iterative development is the use of reusable components to leverage past development. In the small, some reuse can be achieved on the language <span class="full-image-float-left ssNonEditable"><span><img src="http://www.miceonabeam.com/storage/Newsletter091128A2.jpg?__SQUARESPACE_CACHEVERSION=1259541327569" alt="" /></span></span>level via functions or classes and methods. In the large, whole frameworks have been developed (such as .NET among many others) which have greatly facilitated software development.<br /><br />The key is that within any chosen software paradigm, the ability to reuse components is essential. Release v0.1.3A now provides a simple directory-based component library, where essentially snippets of script models can be saved to serve as templates or even design patterns and later dragged from the Component Library browser and copied into other models. In this case they can be further refined and manipulated, including using the new capabilities described above. In the future, some version of inheritance between model components will also hopefully be provided.</p>
<p>- - -</p>
<p>Over the next couple of weeks, Release v0.1.3A will continue to undergo testing, targeting a mid-December release.<br /><br />If you're interested in joining the trial, see:&nbsp; <a href="http://www.miceonabeam.com/join-the-trial/">Join the Trial</a>.<br /><br />Antonius</p>]]></description><wfw:commentRss>http://www.miceonabeam.com/miceonabeam-blog/rss-comments-entry-5941007.xml</wfw:commentRss></item><item><title>Modeling Script Communications</title><dc:creator>Antonius Frentis</dc:creator><pubDate>Wed, 04 Nov 2009 17:03:08 +0000</pubDate><link>http://www.miceonabeam.com/miceonabeam-blog/2009/11/4/modeling-script-communications.html</link><guid isPermaLink="false">417049:4772989:5694949</guid><description><![CDATA[<p>A major new feature that I'm working on for a future MiceOnABeam release, is one that I hope will really resonate with SL scripters. <br /><br />Often a complex SL application is made up of multiple scripts contained in one or more linked prims. The new feature will enable users to graphically define the communication relationships between the various scripts within the whole design, and allow individual scripts to send and receive user-defined events according to a user-defined protocol, without explicit knowledge as to the specific script (and linked prim) it is talking to. MiceOnABeam would then generate all the LSL code for each script to handle the inter-script communications. One benefit of this is to increase design modularization and help create more reusable script components.<br /><br />What's nice is that the UML modeling specification (part of which MiceOnABeam has already implemented) has modeling elements for above, and I'm currently investigating it's applicability. I'm very interested in hearing from others on the topic, and would welcome any input.<br /><br />Antonius</p>]]></description><wfw:commentRss>http://www.miceonabeam.com/miceonabeam-blog/rss-comments-entry-5694949.xml</wfw:commentRss></item><item><title>MiceOnABeam v0.1.2 Released</title><dc:creator>Antonius Frentis</dc:creator><pubDate>Mon, 02 Nov 2009 18:34:57 +0000</pubDate><link>http://www.miceonabeam.com/miceonabeam-blog/2009/11/2/miceonabeam-v012-released.html</link><guid isPermaLink="false">417049:4772989:5678786</guid><description><![CDATA[<p>MiceOnABeam Version 0.1.2 Alpha is now available to trial members. This release provides several important new features as well as bug fixes.</p>
<p>Some highlights:</p>
<ul>
<li>Nifty new application and window icons as well as a splash screen (yes- it can be turned off)</li>
<li>Support for Conditional Compilation</li>
<li>Compiler directives to automatically propagate code to all Leaf States within a Composite State</li>
<li>and more...</li>
</ul>
<p>Antonius</p>]]></description><wfw:commentRss>http://www.miceonabeam.com/miceonabeam-blog/rss-comments-entry-5678786.xml</wfw:commentRss></item></channel></rss>