Castalia
A simulator for WSNs
VIARResearch

OPEN NICTA
Castalia Home
Documentation
Download Castalia
Installation
News
NAQ and FAQ

NAQ (Never Asked Questions) and
FAQ (Frequently Asked Questions)

We begin with a list of questions that were never asked by users.
By answering them here we hope they will not become FAQs





Q : Why build Castalia from scratch, why not build on TOSSIM or Avrora, or any other simulator out there?
A : There is a variety of simulators that WSN researchers are using to cover their needs. Simulators that emulate a common processor found in sensor nodes (to test actual binary code written for certain platforms), simulators written in C++ or Matlab to test some first order property of an algorithm, or simulators used in traditional data networks modified in some way to serve the WSN community. We found that all the available WSN simulators are falling short of the current state of the art modeling done in sensor networks. Especially in communication (where you can have a great impact to the result) models remain simplistic or unsuitable for short range low power communications despite the existence of proper models developed the last couple of years. This was the major reason we decided to build our own simulator. Since we started this effort we have decided to "up the ante" and build an open expandable and reliable simulator that has a chance of becoming a defacto standard for certain WSN simulation needs. More specifically the need for early stage, platform-independent, algorithm/protocol validation). Since its initial inception and creation, Castalia has moved to new territories: BAN is another exciting area where realistic and reliable network-level simulators are needed. NICTA has a large scale project in BAN, participating at the same time in the IEEE standards BAN task group. With our expertise in physical layer design, measurements and modeling, we have set out to make Castalia the most realistic BAN network simulator, by modelling the temporal variations and average path losses based on real on-body measurements.
Q : What will I gain by using Castalia?
A : If your goal is to build a real WSN application then the first order validation of your idea should start with as accurate models as possible. Seada et al. have shown how detrimental can be to the design of a protocol the use of simplistic communication models. Castalia can also allow you to play with certain aspects of the hardware platform. Doing so you can, for instance, decide which solution makes sense financially (as a first order approximation). Even if your goal is to just publish a paper, then Castalia can provide more credibility to your results. Obviously, simulation alone can no longer validate your methods. In recent years, top WSN conferences usually ignore research that does not have an element of real implementation. Very small scale real experiments on the other hand do not provide the needed validation either. Proper simulation and implementation is needed to test an algorithm. We hope Castalia will provide the flexibility, performance and rigor to WSN simulation to fulfill this role and become a defacto standard.
Q : How difficult is it to tranfer my algorithm or protocol to Castalia?
A : If you already have your algorithm in C/C++ it should be straightforward to make it work with Castalia. You only need simple modifications (just replacing some function calls) when you acquire a sample, send a packet or set a timer. Your algorithm will be quickly integrated and operating with Castalia. But be aware... your algorithm might not "work", in the sense it is very probable to output very different behaviour and results than those acquired using other simulators. Probably this will be an effect of all these annoying details that other simulators are neglecting but as it turns out they are important. Castalia provides some ways to help you pinpoint the problems and we do advise you on some methods. Soon though we will release a graphical user interface for Castalia that will greatly help this debugging process. You may also find that your algorithm is using too many resources. For example, the algorithm might use to much RAM memory or it might prove too slow for a specific microcontroller. To test these aspects you need to add some more function calls in your algorithm in a not so straightforward way.
Q : Where does the name "Castalia" come from?
A : It comes from the Greek mythology. Castalia was a nymph whom Apollo transformed into a fountain at Delphi (the place where all important oracles came from, in ancient Greece). All oracle seekers stopped and washed their hair in the fountain. Metaphorically, for our purposes, it can be seen as a point in the road to truth. Or more accurately: to a representation of the truth, as the oracles were, and indeed all of the results from simulators are.
FAQ (Frequently Asked Questions)


Q : How can I run Castalia under Windows, especially with MSVC?
A : We have not included detailed instructions on how to use Castalia under Windows because we have not tested it thoroughly and there are several ways you can do it. There is no executable for Castalia in Windows (as there is for OMNeT), so you have to build Castalia (and I would recommend OMNeT) from the source files. The method that has worked for some, is a linux-like environment on top of Windows. You can use either Cygwin or minGW/MSYS. When you have those installed, try to build OMNeT and Castalia as instructed in the Installation manual. If you are able to install OMNeT this way, then Castalia instalation should be pretty straighforward. There might be several problems during the OMNeT installation (not the right gcc compiler, not the right libraries etc.) but you can use the help that the OMNeT site is already offering.
OMNeT installation
OMNeT and MinGW
OMNeT and Cygwin

Some people want to simply use MSVC and not bother with all the linux-like stuff. Although OMNeT supports this building process, Castalia currently does not. It would require to rebuild the scripts and makefiles we already have to be used with the nmake utility. Some people in the forum claim they had success with porting the building process to the nmake utility, we have not tested their claims though.
Q : How can I use popular MACs (SMAC, TMAC, BMAC) in Castalia?
A : Yes. As of version 2.1 there is a module with a fully tested version of TMAC that can also implement SMAC. BMAC can be emulated through the TunableMAC module. Furthermore, we always welcome contributions of protocols by other people. The modularity of Castalia means that any external protocol contribution is distinct, easily identifiable, and that the creator can keep their copyright in a clean and straightforward manner.
Q : I tried the connectivity map application and results seem too random. Far away nodes can communicate, where some close nodes can not. What gives?
A : This is a result of the realistic channel and radio models. The received signal strength at a node does not only depend on distance from the transmitter but also on (random) shadowing effects. This is expressed as the sigma parameter in the wireless channel parameters. If you experimented with real nodes you would see similar behavior. The realistic channel/radio modeling was the key motivator for us to build Castalia. In the User Manual you can find more information about these models. The manual also provides a couple of references to papers that acted as the base to our modeling.
Q : I see that feature X is not currently supported OR I have a great idea for an extension. Do you have plans for the future of Castalia?
A : Yes, there are plans for the future Roadmap. Some are trivial enhancments and some are whole research projects themselves. Go to the Castalia Forum to join the discussion and make your ideas heard.
Home | Registration | Contact | Links | Site Map
About NICTA | Research | Education | Commercialisation | Collaboration | Media Centre | Careers

Copyright 2004 NICTA | Privacy Statement | Terms and Conditions
Design & Technology by Reading Room