1 / 19

NSL/SCS Development

NSL/SCS Development. Jimmy Bonaiuto 2/26/2007. Outline. Working environment NSL Issues Matlab integration SCS Options Tasks and timeline. Working Environment. IDE SVN Bugzilla Developer mailing lists Wiki. Java Development - IDE. Eclipse Free, extensible IntelliJ

anne-levine
Télécharger la présentation

NSL/SCS Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NSL/SCS Development Jimmy Bonaiuto 2/26/2007

  2. Outline • Working environment • NSL Issues • Matlab integration • SCS • Options • Tasks and timeline

  3. Working Environment • IDE • SVN • Bugzilla • Developer mailing lists • Wiki

  4. Java Development - IDE • Eclipse • Free, extensible • IntelliJ • Fully featured, extensible (maybe not as much as Eclipse), refactoring • Latest version can import/export Eclipse projects • Both integrate with the repository, SVN • Eclipse can integrate with Bugzilla too • IntelliJ appears to have more features and less bugs

  5. Subversion (SVN) Repository • svn://neuroinformatics.usc.edu • See me to setup an account • Access through the wiki • TortoiseSVN – http://tortoisesvn.tigris.org • Command-line Access • svn list svn://neuroinformatics.usc.edu • svn checkout svn://neuroinformatics.usc.edu/mns • svn update • svn commit Hello.java –m “Adding file”

  6. Bugzilla • Bug-tracking software • CS564 students should be familiar with it • http://neuroinformatics.usc.edu/Bugzilla • Accessible through the wiki • See http://neuroinformatics.usc.edu/mediawiki/index.php/Bug_Writing_Guidelines for bug writing guidelines

  7. Developer Mailing Lists • USCBP-BUGS-L@usc.edu • Bug reports • USCBP-VCS-L@usc.edu • SVN commits (NOT CONFIGURED YET!) • Messages are sent to these lists automatically by Bugzilla and SVN • I will add all of you to these lists unless you request otherwise

  8. Wiki • http://neuroinformatics.usc.edu • Resources->Internal Resources for lab member-only resources • Google Calendar • Available as a shared calendar if you use Gmail • Access to user pages, Calendar, SVN, Bugzilla, EndNote, Collaboration Pages • Please add to the wiki! Don’t be shy!

  9. SVN / Bugzilla / Wiki Integration • Inside SVN commit messages, Bugzilla comments, or Wiki text, you can use the magic identifiers, BugId:<Bug ID #>, VCS:<filename>,and Wiki:<page name> • A link to http://neuroinformatics/Bugzilla/, svn://neuroinformatics.usc.edu, or http://neuroinformatics.usc.edu/mediawiki will automatically be created

  10. NSL Issues • Matlab Integration • We have NSL-Java and NSL-Matlab • We need to allow NSL-Matlab projects to access NSL-Java modules and vice-versa • Issues: • Accessing Matlab from Java • Accessing Java from Matlab

  11. Matlab from Java • JMatlink - http://jmatlink.sourceforge.net/ • Connects Java to Matlab using native metods • Makefile available to build on Linux • Example: JMatLink engine=new JMatLink(); engine.engOpen(); engine.engEvalString(“a=111”); double answer = engine.engGetScalar(“a”); engine.engClose();

  12. Java from Matlab • This is easy – Matlab runs in a JVM • Tutorial: http://www.math.carleton.ca/~help/matlab/MathWorks_R13Doc/techdoc/matlab_external/ch_java.html • Matlab does have classes – maybe we should have a NslModule class in Matlab. Cheol?

  13. SCS • Options • Total redevelopment • Eclipse plugin • Extend simulink to handle Java NslModule objects • Is this possible?

  14. SCS: Total Redevelopment • Probably not as hard as it seems • Possibly can use tools for hierarchical schematic editing of VSLI and adapt them to operate on NSL .mod files

  15. SCS: Eclipse Plugin • Might be the best bet • We can utilize the Eclipse core for code completion, debugging, and syntax highlighting • Tutorials • http://www-128.ibm.com/developerworks/opensource/library/os-ecplug/?Open&ca=daw-ec-dr • http://www.linuxjournal.com/article/8255 • http://www.developer.com/java/ent/article.php/3552481 • Plugin Development Environment (PDE) available • Issue: What happens when Eclipse is no longer supported? • Not likely any time soon, but still?

  16. SCS: Simulink Extension • Basically create a NslModule class in Matlab and a NslModuleJava wrapper class for Nsl-Java modules • Require Nsl-Matlab modules to extend NslModule • Then simply use Simulink with NslModule and NslModuleJava objects

  17. SCS: Options • I think it comes down to leveraging Simulink to be able to use Nsl-Java modules or developing an Eclipse plugin • I lean towards the Eclipse plugin • Doesn’t require the user to own Matlab • Can still support Matlab modules via JMatlink • Can leverage much of the existing Eclipse functionality • Well-documented plugin development process

  18. Future NSL/SCS Development: Fun Stuff • Integrating Synthetic PET/fMRI functionality into NSL • Can we do synthetic EEG or MEG? • Automatic comparison with spike train data • Interface with BODB database

  19. Milestones/Timeline • <Discussion>

More Related