|
|
News
MobileC v1.10.9 Released
2010-01-07
- Improved performance of the Mobile-C Networking code. Agent migrations
now occur at an improved rate.
- Improved performance of running a large number of agents at a time.
- Added conceptual agent "workgroups" where each agent may store a secret
"workgroup code". Only agents that share a certain workgroup code may
perform certain operations on each other, such as agent deletion and
data retrieval. This prevents random, malicious agents from interacting
with workgroup-enabled agents in a bad way.
- Mobile-C now pre-initialized a number of interpreters for increased
performance. Number of preloaded interpreters may be adjusted in the
Mobile-C Options structure passed into MC_Initialize().
- Numerous bugfixes.
MobileC v1.10.8 Released
2009-4-29
- Added new Security Module written by Najmus Malik. Use the
"--enable-security=yes" option during the configure step to enable the
security module. See the demos in demos/hello_world_secure and
demos/multi_task_example_secure , as well as Chapter 9 in the
User's guide.
- Added MC_MigrateAgent() and mc_MigrateAgent(). These functions allow an
agent to dynamically choose where and when it wants to migrate from
within the agent code space.
- Fixed bug where if an agent has multiple tasks on the same host (in
succession), the agent will be renamed due to a spurious name collision.
MobileC v1.10.7 Released
2009-1-9
- Changed the way agent migration message files are parsed and sent. Before,
the files were not parsed at all before being sent. Now, agent xml files are
fully parsed before being sent. This means that the syntax checking for the
agent xml files will be more strict. Some agent xml files in the demos have
been updated to reflect this.
- Added more documentation regarding persistent agents and the Ch Mobile-C
Package, which is required for agent FIPA ACL communication.
MobileC v1.10.6 Released
2008-12-12
-
Changed the way agent migration message files are sent. The XML files are
now fully parsed into agents before being sent.
-
Fixed a number of memory leaks.
MobileC v1.10.5 Released
2008-11-12
- Fixed MC_RetrieveAgent() : The function no longer returns a shallow copy
of the retrieved agent, but a pointer to the actual agent.
- Added a new demo example at "demos/multi_data_retrieval"
MobileC v1.10.4 Released
2008-10-24
- Added function MC_CallAgentFunc which takes a variable number of
arguments.
MobileC v1.10.3 Released
2008-07-31
- Added documentation about Mobile-C and 64 bit architecture machines.
- Added example for MC_ComposeAgent API function at
demos/mc_compose_agent_example/
MobileC v1.10.2 Released
2008-07-11
- Fixed a bug regarding large agents and http/tcp protocol causing EOF
errors, particularly on Gumstix systems.
- Added FIPA enumerations to libmc.h so that they may be accessed by
including only libmc.h.
- Updated documentation to reflect previous change.
- Upgraded included xyssl package from version 0.7 to 0.9. This fixes
a Mac compile-time error regarding xyssl.
MobileC v1.10.1 Released
2008-07-01
- Mobile-C now communicates successfully with JADE agencies. See the demo
located at demos/mc_to_jade_example/ .
- Bugfixes regarding FIPA message format and compatibility with JADE
- Other minor bugfixes
MobileC v1.10.0 Released
2008-06-16
!! Note: v1.10.0 agents are NOT backwards compatible with previous versions
of Mobile-C. See note below for details.
- Added API to implement FIPA compliant ACL communication. New functions
include:
- MC_AclDestroy()
- MC_AclNew()
- MC_AclPost()
- MC_AclReply()
- MC_AclRetrieve()
- MC_AclSend()
- MC_AclWaitRetrieve()
- MC_AclSetPerformative()
- MC_AclSetSender()
- MC_AclAddReceiver()
- MC_AclAddReplyTo()
- MC_AclSetContent()
- Added API function to load agents directly from an xml file into a local
agency:
MC_LoadAgentFromFile()
- Modified Agent XML format. Please consult the user's guide for specific
details. The new agents will not be backward compatible with older
agencies.
- Added ability for agents to carry persistent data with them from task
to task. See details in API functions mc_AgentVariableRetrieve() and
mc_AgentVariableSave().
- Preliminary .NET Binding implemented by Doug Stark .
- Preliminary testing with Mobilec-C <-> JADE communication using HTTP
protocol.
MobileC v1.9.5 Released
2008-04-25
- Removed command prompt from many demo client programs.
- Added support for parsing and handling FIPA compliant ACL messages.
- Added numerous API function calls to handle the processing of ACL messages,
such as MC_AclSend, MC_AclRetrieve, MC_AclReply, etc.
- Documentation and general polishing of the library, moving towards 2.0.0
release.
MobileC v1.9.4 Released
2008-01-07
- Added many functions that were available in Binary space to
agent space as well. Some example include:
- mc_GetAgentID(),
- mc_GetAgentName(),
- mc_End(),
- mc_HaltAgency(),
- mc_ResumeAgency(), among others.
- Added missing documentation for some agent-space functions.
MobileC v1.9.2 Released
2007-09-20
- Some major updates to the documentation.
- Added function MC_CopyAgent() to deep-copy agents.
- Fixed a few bugs with MC_WaitRetrieveAgent and MC_WaitSignal().
MobileC v1.9.1 Released
2007-08-12
- Updated Windows version. Rudimentary testing of all demos in Windows
is a success.
- Ran everything through a memory leak checker again. Some memory leaks
and errors fixed.
- Created two seperate Windows project directories for VCNET 2003 and
VCNET 2005.
- Added new agent feature: Agents may now contain seperate blocks of code
a la version 1.0. See agents in 'demos/multi_task_example' for an
example.
MobileC v1.9.0 Released
2007-08-30
- Reorganized and rewrote 90% of old code.
- Renamed nearly all of the old data structures and functions.
- Code now more closely adheres to unified style guide. (mostly)
- Files are more clearly named and organized.
- Rewrote XML parser
- Reorganized agent XML format
- Extensive use of C macros for declaring/defining multiple
queue objects. This is good and bad: Makes the code a little
weirder to read, but saves a lot of debugging trouble, as
only the macros need to be modified if there is any bug
with the queues.
- Added simple symmetric encryption option for added security.
- Added MobileC Barriers: Execution based on MPI Barriers. See
demos/agent_squad_test
- Numerous bugfixes.
MobileC v1.8.1 Released
2007-03-25
- Added MobileC condition variable api functions:
- MC_CondDelete
- MC_CondInit
- MC_CondSignal
- MC_CondWait, as well as their agent-space counterparts.
- Added agent API. All agent api functions start with 'mc_FuncName',
opposed to the library api which start with 'MC_FuncName'. Agent
api functions added are:
- mc_FindAgentByName
- mc_TerminateAgent
- mc_GetAgentStatus
- mc_PrintAgentCode
- mc_RetrieveAgentCode
- mc_SetAgentStatus
- mc_SendACLMessageFile
- mc_SendACLMessage
- Added C API functions
- Combined functions MC_Start and MC_HandleInit into one
function: MC_Initialize
MobileC v1.8.0 Released
2007-02-05
- The standalone build option is now deprecated. The functionality
the standalone Mobile-C program is now entirely emulated by the
mc_sample_app application, located in demos/libmc/mc_sample_app/.
By enabling the command prompt thread (CP_THREAD), mc_sample_app
execution becomes identical to the old standalone MobileC app.
- Agents may now specify their own initial execution status
with the 'status' attribute in the node.
- All configure scripts now use GNU Autotools and libtool.
- Removed standalone compile option. 'demos/libmc/mc_sample_app'
offers identical functionality using the MobileC library, libmc.
- Changed naming conventions of MobileC API functions:
i.e. mc_handle_init() is now MC_HandleInit() .
- Added CDATA section in XML Agent files to hold source code.
- Added agent persistence
- Added agent-agency communication and preliminary agent api
MobileC v1.7.0 Released
2006-11-06
- Windows version has been updated. Numerous bugfixes
- Abstraction of mutex code and other OS dependant code into macros,
LOCK_MUTEX(), UNLOCK_MUTEX(), etc. See src/includes/global.h
MobileC v1.6.0 Released
2006-08-31
- MobileC C APIs are added and tested on Linux machines
- Inside function AgentRunChScriptThread() in file src/mob_agent.c,
result = (double *)Ch_SymbolAddrByName() has been changed to
result = *(double **)Ch_SymbolAddrByName() in order to access a
global array declared in a Ch script.
A Ch script indicates a mobile agent code.
- Inside function MessgQueueInitialize() in file src/messg_queue.c,
the wrong memory allocation for the mutex variable has been corrected, i.e.
mqueue->messg_mutex = (pthread_mutex_t *)malloc(sizeof(pthread_t));
has been changed to
mqueue->messg_mutex = (pthread_mutex_t *)malloc(sizeof(pthread_mutex_t));
- A new thread, startAMSCreateAgentThread() in file src/ap_ams.c,
has been added to parse through the message list and create new agents
for the system.
MobileC v1.5.1 Released
2006-05-11
- Ported to run in Sun Solaris
MobileC v1.5.0 Released
2006-05-04
- ported to run in Windows
Find the windows executable inside the src/bin/ directory.
Find the windows Visual .NET project file at
src/MobileC_v1.5_win32/MobileC_v1.5_win32.sln
MobileC v1.1.0 Released
2006-03-09
- ported to run in FreeBSD
- Default src/Makefile now works in both FreeBSD and Linux.
- Notes:
- Compile from within a Ch shell for best results. Otherwise,
please set the environment variable CHHOME to point to the
ch directory. (usually /usr/ch or /usr/local/ch).
- The pkg-config utility must be installed in order for the
Makefile to work.
MobileC v1.0.0 Released
2006-02-15
- the original release for running in Linux and Mac OS X
|