[Xastir-dev] Topic: Supported Platforms, Xastir-NG
Tom Russo
russo at bogodyn.org
Mon Jun 16 18:56:06 EDT 2008
On Mon, Jun 16, 2008 at 10:17:41AM -0700, we recorded a bogon-computron collision of the <archer at eskimo.com> flavor, containing:
>
> Here are the tendencies in this thread so far:
>
>
> *) OO Design using UML (Unified Modeling Language), at least to the
> class and method level.
>
> Examples of UML tools: bouml, argouml, eclipse, Oxygen, Dia.
>
> Tom: Must we all use the same UML tools?
I can't answer that, but I'm thinking it'd probably be best. That way we
can have a single format for the saved project files, and all be able to
work on them in a configuration-managed way (CVS, SVN, or whatever). Also,
the different tools will produce something different if used to generate
code.
It's not clear how many folks really need to be working in the UML tool,
unless we use it for long-term product development (which I don't think
is ideal). Perhaps there could be only a small handful of those tinkering
with the design artifacts directly, with input from the whole team?
I doubt everyone's going to want to have to learn the tools.
> ---------------------------------------------------------------------
>
> Language choice & supported platforms can wait until the UML design
> well under way, but here are the tendencies along those lines:
>
> *) C++ with STL. Use only ANSI class libraries (no vendor-specific
> class libraries).
I'd like to agree with the very reasonable suggestion of adding some
dependence on BOOST (which is not vendor-specific, and is very portable).
Several of Boost's features (for example, reference-counted pointers)
are things that we should definitely have on our radar.
> *) C libraries only where necessary, using C++ wrappers.
>
> *) C++, Python, Java, and Ruby bindings for the client API.
>
> *) Less dependence on external libraries, to control reliability/
> quality/maintainability.
Dependence on moving-target APIs like ImageMagick and Berkeley DB has been
probably the most irritating issue with keeping Xastir working.
> *) Add a layer between the daemon and the database, to keep as much
> database-agnostic as possible.
I would like to suggest that we back away at this early stage from a
commitment to a client/server design decision, until such time as requirements
and use cases point to it as the clear implementation path. I'm not
convinced yet. It might in the end seem more practical to make more of a
framework for constructing APRS applications rather than the daemon/client
model that some are assuming. For example, it might emerge from the
groundwork discussions that it would be more reasonable to develop a class
library that provides the core (non-UI) functionality of an APRS application
that can be *used* by an application rather than depend on the communication
required for the client/server model. Or the requirements really might
show that client/server is the right model.
Also, "add a layer between the daemon and the database" isn't exactly how
I'd phrase it. I'd prefer to think of it as "encapsulating implementation
details of the database."
--
Tom Russo KM5VY SAR502 DM64ux http://www.swcp.com/~russo/
Tijeras, NM QRPL#1592 K2#398 SOC#236 AHTB#1 http://kevan.org/brain.cgi?DDTNM
"It's so simple to be wise: just think of something stupid to say and
then don't say it." --- Sam Levinson
More information about the Xastir-dev
mailing list