In a few words, SEA separated into two level (low and high). At the low level, SEA use libvdb library which provide API to IPC, it's need to communicate devices interrogation task and control system, or some another applications. At the high level, SEA will use XML-RPC or something like, it's needed to communicate control system and HMI, database logger, alarms, and other system components. Low level has a good reliability, but not good scalability (it is platform dependend), although it fast. High level has a very good scalability, and platform independend, but not so reliability and fast.
"Mellisa" - it is a set of different tools for creating industrial automation applications and human-machine interface. In terminology of SEA Mellisa work at high level, it make Mellisa scalability and platform independed. About speed...on my Duron-700,128Mb with all aplications running, CPU loaded around 2-3%. Mellisa based on free distribute software, like Python, PostgreSQL, Zope, e.t.c. "Mellisa" written in Python, and use XML-RPC technology (to provide network distributed components), but "Mellisa " could be extended using C,C++ language, and XML-RPC could be replaced by Pyro or Corba or something else. For now "Mellisa" have only "mellisa_xmlrpc" module which provide interface to XML-RPC using py-xmlrpc.
For now "Mellisa" include these components:
In the first download "Mellisa" from here. Unpack it, install. "Mellisa" include serveral demo application:
[tim_sleptsov@localhost:$ python server.py 8001After server started, you must run ACS_regulators and ACS_tanks and ACS_emul:Copyright (C) <2002> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
[tim_sleptsov@localhost:$ python ACS_tanks.py Thu Sep 26 22:06:19 2002 : Trying connect... [tim_sleptsov@mtu-net:$ python ACS_regulators.py Thu Sep 26 22:07:03 2002 : Trying connect... [tim_sleptsov@localhost:$ python ACS_emul.py Thu Sep 26 22:07:40 2002 : Trying connect... cmd>In ACS_emul you can type several commands:
VDB - variables data base. Provide API for working with distributed variables and their values via IPC (Unix SysV). Main minuses of this techology, it doesn't support network. VDB suitable only for local ( one machine ) data exchange. Main VDB pluses - it is very fast and can work with big information volume. For now VDB doesn't developed. I haven't time to work on it, sorry. Old version can be obtained here.