ACME Server User's Manual
Contents:
-
Introduction
-
Installation
-
Start Up
-
Acme Server Messages
-
Acme Server Programming
-
Adding New Message Formats
-
Adding New Message Handlers
-
DEComm Library
Introduction
ACME Server is a communications front-end to the ACMELib package that allows
tools to interact with a textual ACME description of an architecture.
There are three programming interfaces to the server, a native C/C++ interface,
a TCL/TK 8.0 interface (DEComm) and a Java interface (JavaComm).
ACME Server is described in the product brochure located here.
Dataexchange and PBIO provide the portable binary IO and communications
infrastructure. These packages are available separately from the
System's group at Georgia Tech if desired.
Installation
ACME Server is available as a gzipped tar file for UNIX systems and as
a zipped distribution for Win95/NT. There is also a source and a
binary distribution available. Installation varies by platform and
distribution.
BINARY:
Windows 95/NT:
1. Download the binary distribution from the ACMEServer home page.
(acmeserverbin.zip)
2. Place the file in a temp directory and unzip.
3. Run setup.exe and select the base directory to install.
4. Setup will now build the correct directory structure. The
server executables are in the bin directory, and the interface libs for
Tcl and Java are in the DEComm and JavaComm directories.
UNIX:
1. Download the binary distribution from the ACMEServer home page.
(acmeserver-1-0.bin.solaris.tar.gz)
2. Place the file in the directory you want it to install into.
2. Unzip the file using the command "gzip -d acmeserver-1-0.bin.solaris.tar"
3. Untar and expand the file using "tar -xvf acmeserver-1-0.bin.solaris.tar"
4. The server executables are now in the ../morale/acme/acmeserverbin
directory, and the interface libs for Tcl are in the ./morale/acme/acmeserver/decomm
directory.
SOURCE:
Windows 95/NT:
-
Download the source distribution from the ACMEServer home page. (acmeserversrc.zip)
-
Unzip the file into the desired directory ( This should be the parent directory
which contains morale if you have downloaded
other MORALE applications, unzip it in the directory you wish to contain
the MORALE application group).
-
This creates the toplevel directory ../morale
containing the directories: acme/acmeserver,
acme/acme-library,
acme/dataexchange,
acme/pbio.
-
Build PBIO and Dataexchange according to the directions in each specific
package's README.(Project files are included). A project file for VC++
6.0 is included. For versions 4.2 - 5, you will have to manually create
a project file. From the project wizard, select static library and name
it libio. Include the source files io.c, io_conv.c io_formats.c, io_get.c,
nt_io.c, server_acts.c, version.c in the project. Build the io library
libio.lib. For dataexchange, create a static library project from the wizard
and name it libDE. Include the files channel.c, de_control.c, de_data.c,
de_lock.c, de_monitor.c, dexch.c, dexch_os.c, gen_info.c, group.c, group_formats.c,
version.c. Build the library libDE.lib.
-
Build the acme library according the the directions in the readme. Basically
cd into ../morale/acme/acme-library/src. A project file for VC++ 6.0 is
included. To manually create a project file, select static library from
the project wizard and name it libacme.Then include the following files:
acme_application.cxx, acme_base.cxx, acme_containers.cxx, acme_element_types.cxx,
acme_elements.cxx, acme_exceptions.cxx, acme_factory.cxx, acme_object_containers.cxx,
acme_object_containers_header.cxx, acme_parser.cxx, acme_properties.cxx,
acme_property_types.cxx, acme_representation_descriptions.cxx, acme_representations.cxx,
acme_streams.cxx, acme_tokens.cxx, acme_type_manager.cxx, lex_acme_yy.c.
Be sure to go to Tools->Options and add an include directory for ../morale/acme/acme-library/include
-
To build ACMEServer, change to the ../morale/acme/acmeserver/src
directory. Again a VC++ 6.0 project file is included. If you have to create
a project file manually, create a win32 console application and include
the following files: acmedesign.cpp, acmeserver.cpp, connection.cpp, handlers.cpp,
main.cpp, server.cpp. In the Project->Settings, be sure to include the
libraries libacme.lib, libio.lib, libDE.lib and wsock32.lib. Also in the
Tools->Options, be sure the include directories include: ../morale/acme/acme-library/include,
/morale/acme/dataexchange, ../morale/acme/pbio, and ../morale/acme/include.
Be sure the libraries directory points to the locations of the libs built
in steps 4 and 5.
-
To build DEComm (if a Tcl interface is needed) cd to the ..morale/acme/DEComm
directory and use the VC++ 6.0 project file provided. If you have a different
version, select the .dll project from the wizard (non-MFC) and name it
decomm. Include the file tcldll.c. Be sure the include directories point
to you tcl include files and the directories in step 4. In Project->Settings,
enter the wsock32.lib, libDE.lib, libio.lib and tcl80vc.lib. Be sure in
Tools->Options you have the directories pointing to these libraries.
UNIX:
-
Download the source distribution from the ACMEServer home page. (acmeserver-1-0.src.tar.gz)
-
Move the tar file into the desired directory ( This should be the parent
directory containing morale if you have downloaded
other MORALE applications, otherwise put it in the directory you wish to
contain the MORALE application group). Unzip using "gzip -d acmeserver-1-0.src.tar"
, then untar using "tar -xvf acmeserver-1-0.src.tar"
-
This creates the toplevel directory ../morale
containing the directories: acme/acmeserver,
acme/acme-library,
acme/dataexchange,
acme/pbio
and acme/decomm.
-
Build PBIO and Dataexchange according to the directions in each specific
package's README.(Project files are included). Basically, cd into ../morale/acme/pbio,
type ./configure. After configure is done, type
make.
Do the same thing in the ../morale/acme/dataexchange
directory.
-
Build the acme library by changing to the acme-library directory. Type
make
all to build the library.
-
To build ACMEServer, change to the ../morale/acme/acmeserver/src
directory. Edit the makefile to set ACME_HOME to the install directory
-
Build DEComm.so using the provided make file (If a TCL interface is needed).
cd to the ..morale/acme/DEComm directory and
use make. Edit the Makefile to update the ACME_HOME
variable. You also need to update the TCL_HOME variable to the directory
where your Tcl/Tk8.0 install is located.
Start Up and Configuration
After ACMEServer has been built, it can be started from the command line
with "acmeServer [server config file name]."
If no configuration file is specified, the server uses the file server.config
to
get its initial settings. Currently the configuration file contains the
following entries:
server_port 9999. =>This sets the server
port to 9999
repository f:\acmeserver\repository\ => This
sets the location where the server will receive and store acme descriptions
from remote clients. This location should be changed to the location where
you would like your server to store these files.
The server then accepts connections and handles requests automatically
until it receives a disconnect message which causes it to shutdown. There
is no further user interaction required.
[Next]