|
MRM, MRM Loader, MRM Addin, why another MRM module?
This is yet another module, built to help leverage the strength of MRM scripts. The initial idea is similar to Mike Deems MRM Loader, but takes a different approach, and attempts to make MRM's useable now, in fact, the intial code is based on the MRM Loader codebase.
The scope of this project has changed quite a bit since the original idea, during development it became clear that the MRM micro threading technique could be combined with Mono.Addins and a carefully crafted LSL->CIL compiler, which would make it possible to create a script engine with functionality much closer to the original.
Specifically:
- Allow long running events and loops, without interfering with the performance of other scripts running
- Enable storing and restoring the actual state (continuation) of the running script, making it possible to move the script from server to server without the script code being aware of the change.
- Reuse the existing implementations of LSL and OS functions
- Provide an easy means for extending the script engine with new functions, events and data types
Currently this work is very much in alpha, menaning that the critical POC's have been completed succesfully, and work is now proceeding on a first basic implementation.
| Recent News |
Project moved Snowdrop Short 2009-09-07I have moved the continued development from the forge to sourceforge.
All updates performed by me, will in the future be made on: https://sourceforge.net/projects/snowcrash/
Naturally, you are free to use either the version here or the version on sourceforge.
The reason for moving the project is simply that I need to host a webside and a sql serer along side with the project. Sourceforge ... |
The MRMAddin compiler can now generate intermediate code Snowdrop Short 2009-08-23Intermediate code generation has now been added to the MRMAddin compiler. The compiler can be made to print the generated intermediate code using the -i flag on the command line.
The intermediate level code is pretty close to the CIL level, and should in many instances be a 1 to one conversion |
Alpha preview of MRMAddin compiler release Snowdrop Short 2009-08-18The very first preview of the LSL to CIL code compiler, desiged to generate CIL code supporting MRM microthreading and continuations has been released.
This release is for testing only, the compiler does not - yet - generate any code. It does perform a full analysis of the code, including static typechecking.
The compiler is released in the hopes that others may help find LSL script code whi... |
Change in project scope Snowdrop Short 2009-08-06I have decided to change the scope of this project.
Now the goal will be a completely self-contained LSL2 Script engine. I.e. LSL2 code will be compiled into native CIL code and executed using the MicroThreading mechanism of MRM.
This will enable full compatibility with LSL2, including some of the stranger coding techniques used and a removal of the requirement that no long running code shou... |
MRM Addin now runs in a separate AppDomain Snowdrop Short 2009-08-06MRMAddin now executes all the loaded addins in a separate AppDomain. This means that the addin code does not pollute the primary AppDomain of OpenSim.
When running MRMAddin only two new assemblies are loaded into the primary AppDomain: MRMAddin.ScriptEngine and MRMAddin.Rendezvous, all other assemblies remain in the MRMAddin AppDomain.
Usually the CLI (either .Net or Mono) attempts to load a... |
|
| General Sections |
| Forums Help (0 Posts)
Open discussion (0 Posts)
| Tracker Bugs
( 0 Open / 0 Total ) Bug Tracking System
Support
( 0 Open / 0 Total ) Tech Support Tracking System
Patches
( 0 Open / 0 Total ) Patch Tracking System
Feature Requests
( 0 Open / 0 Total ) Feature Request Tracking System
To-Do
( 4 Open / 4 Total ) To-Do tasks for this project
|
|
|
|
| Activity |
|
| Description |
MRMAddin tries to solve some of the
security issues related to MRM
scripting.
MRM scripting shows great potential for
allowing fast and efficient
microthreaded scripting inside OpenSim,
unfortunately MRM - currently - has
severe security implications, as it will
allow anybody to execute "native" code
on the region server.
MRMAddin allows the region
adiministrator to decide which MRM
scrips to make available to the visitors
of the sim. Since the user cannot
execute arbitrary code, but only the
compiled modules, made available in a
library to the user, security and risk
assesmentis managed in much the same way
as installation of any application from
the web today. I.e. you trust the
developmentstaff not to intruduce
malignent code.
|
| Developer Info |
Snowdrop Short
|
| Trove Categorization |
- Development Status: 3 - Alpha
- Intended Audience: Developers,
System Administrators
- License: BSD License
- Operating System: Linux,
MacOS, Microsoft
- Programming Language: C#
- Spoken Language: English
- Topic: Script Servers
|
|