Deprecated: Non-static method Debugger::invoke() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/debugger.php on line 574

Deprecated: Non-static method Debugger::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/debugger.php on line 574

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/app/config/core.php on line 226

Deprecated: Non-static method Cache::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 99

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 386

Deprecated: Non-static method Configure::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 324

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 145

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 657

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 677

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 678

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 684

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 685

Deprecated: Non-static method Cache::config() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 690

Deprecated: Non-static method Cache::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 489

Deprecated: Non-static method Cache::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 287

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 515

Deprecated: Non-static method Cache::write() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 523

Deprecated: Non-static method Cache::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/cache.php on line 230

Deprecated: Non-static method Configure::corePaths() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1128

Deprecated: Non-static method Cache::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 924

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 861

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 360

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 685

Deprecated: Non-static method Router::getNamedExpressions() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 303

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 187

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 174

Deprecated: Non-static method Router::connect() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/app/config/routes.php on line 34

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 202

Deprecated: Non-static method Router::connect() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/app/config/routes.php on line 39

Deprecated: Non-static method Router::parse() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 305

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 401

Deprecated: Non-static method Configure::listObjects() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 593

Deprecated: Non-static method Configure::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 160

Deprecated: Non-static method Cache::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 163

Deprecated: Non-static method Inflector::camelize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 494

Deprecated: Non-static method App::import() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 498

Deprecated: Non-static method App::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 828

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1140

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 308

Deprecated: Non-static method Inflector::classify() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 310

Deprecated: Non-static method Inflector::camelize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 465

Deprecated: Non-static method Inflector::singularize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 465

Deprecated: Non-static method Inflector::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 370

Deprecated: Non-static method Set::pushDiff() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 353

Deprecated: Non-static method Set::pushDiff() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 354

Deprecated: Non-static method Set::pushDiff() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 355

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 311

Deprecated: Non-static method Router::prefixes() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 150

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 388

Deprecated: Non-static method Router::setRequestInfo() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/dispatcher.php on line 161

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 628

Deprecated: Non-static method Inflector::camelize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 335

Deprecated: Non-static method Set::merge() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 373

Deprecated: Non-static method Set::normalize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/component.php on line 186

Deprecated: Non-static method App::import() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/component.php on line 202

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/components/session.php on line 67

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 128

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 132

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 134

Deprecated: Non-static method Security::inactiveMins() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 156

Deprecated: Non-static method Security::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/security.php on line 65

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/security.php on line 66

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 156

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 157

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 438

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/session.php on line 485

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/controller/controller.php on line 746

Deprecated: Non-static method ClassRegistry::addObject() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 276

Deprecated: Non-static method ClassRegistry::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/class_registry.php on line 176

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/class_registry.php on line 177

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 789

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 893

Deprecated: Non-static method App::import() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 726

Deprecated: Non-static method Overloadable::overload() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1029

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/helpers/session.php on line 59

Deprecated: Non-static method Inflector::variable() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 650

Deprecated: Non-static method Inflector::camelize() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 477

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/inflector.php on line 477
M-Channel - Designing Apps
Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/helpers/html.php on line 354

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/helpers/html.php on line 358

Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/view.php on line 661

Designing Applications

How to design my own application?

If you are reading this section it means (we hope) that you have tested successfully the first example proposed in the
Deprecated: Non-static method Router::url() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/helper.php on line 178

Deprecated: Non-static method Router::getInstance() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 752

Deprecated: Non-static method Inflector::underscore() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/router.php on line 920
Home Page. Now is the time of design and develop your own collaborative applications!.

With this toolkit you can desing applications using two different approaches:

Using MChannel as a transport layer (recommended)

Our aim is that the developer use this toolkit as a client and spend the lowest effort possible. For this reason we encourage to use the MChannel only as a transport layer focusing the developer's effort in their application.

In this way, it is quite easy start using our middleware. We are going to show a good illustrative example: the adaptation of the original JGroups Draw application into our toolkit.

- The first step was to change the original Channel transport layer by the MChannel.


Deprecated: Non-static method Configure::read() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/view/helpers/html.php on line 438

- The second step was to change the construction of the channel. We also deleted the other constructors of the class Draw because with that one is enough for running the example.

- The third step was to delete or comment few methods that are part of the Channel API but are not of the MChannel API. Keep in mind that JGroups is a toolkit for multicast communication mainly in clusters. We have adapted the API of JGroups Channel to meet the particular requirements of a MANET. The functionality of some of these methods is provided by the protocols of the layers below the MChannel. Don't worry, there are only 3 or 4 code lines commented :-).

As you can see in the screenshot below, the sending message methods have the same signature as the Channel. Great!

Congratulations, you have finished!. In our opinion the migration of JGroups applications to MChannel is not difficult to do. Further, developing collaborative applications from the scratch, concived specifically for a MANET, is even easier.

Extending of the class Application

The other approach is extending of our abstract class Application. The unique advantage of developing a collaborative application following this class hierarchy is that you could emulate your applications with our emulation framework. For example, the AppTest that we have run in the Home Page could be executed in a real and emulated environment. The "disadvantage" is that you will need some more knowledge about the toolkit. With this guide we hope to offer enough details to ease the development of applications for emulation.

Designing Apps

Valid CSS 2.1

Valid XHTML 1.0 Transitional


Deprecated: Non-static method Configure::corePaths() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1184

Deprecated: Non-static method Cache::write() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1186

Deprecated: Non-static method Cache::write() should not be called statically, assuming $this from incompatible context in /var/www/mchannel/cake/libs/configure.php on line 1187