\documentclass{book}
%\newcommand{\VolumeName}{Volume 2: Axiom Users Guide}
%\input{bookheader.tex}
\pagenumbering{arabic}
\mainmatter
\setcounter{chapter}{0} % Chapter 1

\usepackage{makeidx}
\makeindex
\begin{document}
\begin{verbatim}
\start
Date: Tue,  1 Dec 2015 07:51:59 -0500 (EST)
From: daly <daly@axiom-developer.com>
To: axiom-developer@nongnu.org
Subject: [Axiom-developer] Proving Axiom correct

Coq: The world's best macro assembler?
http://research.microsoft.com/en-us/um/people/nick/coqasm.pdf

This describes a Coq formalization of a subset of the x86 architecture.

So now we have a reasonably complete stack of proof technology.

\start
Date: Mon, 7 Dec 2015 11:52:35 +0530
From: Rohit Singh <rohit.singh@nucleussoftware.com>
To: "axiom-developer@nongnu.org" <axiom-developer@nongnu.org>
Subject: [Axiom-developer] OutOfMemory issue with Axiom

Hi,

I am using axiom-api-1.2.14.jar and axiom-impl-1.2.14.jar.
My SOAP response returns List<String> whose size is 150. Each string having=
 size of 1.8 mb(avg).
When such huge data returns to axiom stax parsing, It suddenly increase the=
 the heap memory by 600 mb which continued to reatain and not gets relaesed=
.
When I analyse this in visualvm I found that OMTextImpl class is taking thi=
s memory alone.
For the next hit this size increase to 1200mb and again this memory does no=
t get freed.

For next 2-3 hits , system goes to OutOfMemory.

I am using below configuration:
#messageFactory (axiom) configuration
messageFactory.payloadCaching=3Dtrue


When I use  messageFactory.payloadCaching=3Dfalse        (I don't know whet=
her this will solve the problem or not)
I face below exception:
23:21:19.467   [http-bio-8080-exec-1] ERROR o.a.c.s.spi.TransactionErrorHan=
dler - Failed delivery for (MessageId: ID-NII414LEDF0240-62759-144856026180=
7-0-1 on ExchangeId: ID-NII414LEDF0240-62759-1448560261807-0-2). Exhausted =
after delivery attempt: 2 caught: org.apache.camel.InvalidPayloadException:=
 No body available of type: java.io.InputStream but has value: org.springfr=
amework.util.xml.StaxSource@7fe0f13a<mailto:org.springframework.util.xml.St=
axSource@7fe0f13a> of type: org.springframework.util.xml.StaxSource on: Spr=
ingWebserviceMessage[AxiomSoapMessage]. Caused by: Error during type conver=
sion from type: org.springframework.util.xml.StaxSource to the required typ=
e: java.io.InputStream with value org.springframework.util.xml.StaxSource@7=
fe0f13a<mailto:org.springframework.util.xml.StaxSource@7fe0f13a> due java.l=
ang.NullPointerException. Exchange[SpringWebserviceMessage[AxiomSoapMessage=
]]. Caused by: [org.apache.camel.TypeConversionException - Error during typ=
e conversion from type: org.springframework.util.xml.StaxSource to the requ=
ired type: java.io.InputStream with value org.springframework.util.xml.Stax=
Source@7fe0f13a<mailto:org.springframework.util.xml.StaxSource@7fe0f13a> du=
e java.lang.NullPointerException]

Message History
---------------------------------------------------------------------------=
------------------------------------------------------------
RouteId              ProcessorId          Processor                        =
                                                Elapsed (ms)
[searchGlobalCollat] [searchGlobalCollat] [                                =
                                              ] [      1029]
[searchGlobalCollat] [unmarshal2        ] [unmarshal[ref:jaxb]             =
                                              ] [      1029]

Exchange
---------------------------------------------------------------------------=
------------------------------------------------------------
Exchange[
                Id                  ID-NII414LEDF0240-62759-1448560261807-0=
-2
                ExchangePattern     InOptionalOut
                Headers             {breadcrumbId=3DID-NII414LEDF0240-62759=
-1448560261807-0-1, CamelRedelivered=3Dtrue, CamelRedeliveryCounter=3D1, Ca=
melRedeliveryMaxCounter=3D1, CamelSpringWebserviceSoapHeader=3Dorg.springfr=
amework.util.xml.StaxSource@1143c2b6<mailto:CamelSpringWebserviceSoapHeader=
=3Dorg.springframework.util.xml.StaxSource@1143c2b6>}
                BodyType            org.springframework.util.xml.StaxSource
                Body                [Body is instance of java.xml.transform=
.Source]
]

Stacktrace
---------------------------------------------------------------------------=
------------------------------------------------------------
org.apache.camel.InvalidPayloadException: No body available of type: java.i=
o.InputStream but has value: org.springframework.util.xml.StaxSource@7fe0f1=
3a<mailto:org.springframework.util.xml.StaxSource@7fe0f13a> of type: org.sp=
ringframework.util.xml.StaxSource on: SpringWebserviceMessage[AxiomSoapMess=
age]. Caused by: Error during type conversion from type: org.springframewor=
k.util.xml.StaxSource to the required type: java.io.InputStream with value =
org.springframework.util.xml.StaxSource@7fe0f13a<mailto:org.springframework=
.util.xml.StaxSource@7fe0f13a> due java.lang.NullPointerException. Exchange=
[SpringWebserviceMessage[AxiomSoapMessage]]. Caused by: [org.apache.camel.T=
ypeConversionException - Error during type conversion from type: org.spring=
framework.util.xml.StaxSource to the required type: java.io.InputStream wit=
h value org.springframework.util.xml.StaxSource@7fe0f13a<mailto:org.springf=
ramework.util.xml.StaxSource@7fe0f13a> due java.lang.NullPointerException]
                at org.apache.camel.impl.MessageSupport.getMandatoryBody(Me=
ssageSupport.java:101) ~[camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.processor.UnmarshalProcessor.process(Un=
marshalProcessor.java:59) ~[camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.processor.RedeliveryErrorHandler.proces=
s(RedeliveryErrorHandler.java:398) ~[camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.spring.spi.TransactionErrorHandler.proc=
essByErrorHandler(TransactionErrorHandler.java:218) [camel-spring-2.12.3.ja=
r:2.12.3]
                at org.apache.camel.spring.spi.TransactionErrorHandler$1.do=
InTransactionWithoutResult(TransactionErrorHandler.java:181) [camel-spring-=
2.12.3.jar:2.12.3]
                at org.springframework.transaction.support.TransactionCallb=
ackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:34) =
[spring-tx-4.0.2.RELEASE.jar:4.0.2.RELEASE]
                at org.springframework.transaction.support.TransactionTempl=
ate.execute(TransactionTemplate.java:133) [spring-tx-4.0.2.RELEASE.jar:4.0.=
2.RELEASE]
                at org.apache.camel.spring.spi.TransactionErrorHandler.doIn=
TransactionTemplate(TransactionErrorHandler.java:174) [camel-spring-2.12.3.=
jar:2.12.3]
                at org.apache.camel.spring.spi.TransactionErrorHandler.proc=
essInTransaction(TransactionErrorHandler.java:134) [camel-spring-2.12.3.jar=
:2.12.3]
                at org.apache.camel.spring.spi.TransactionErrorHandler.proc=
ess(TransactionErrorHandler.java:103) [camel-spring-2.12.3.jar:2.12.3]
                at org.apache.camel.spring.spi.TransactionErrorHandler.proc=
ess(TransactionErrorHandler.java:112) [camel-spring-2.12.3.jar:2.12.3]
                at org.apache.camel.processor.CamelInternalProcessor.proces=
s(CamelInternalProcessor.java:191) [camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.processor.Pipeline.process(Pipeline.jav=
a:118) [camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.processor.Pipeline.process(Pipeline.jav=
a:80) [camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.processor.CamelInternalProcessor.proces=
s(CamelInternalProcessor.java:191) [camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.util.AsyncProcessorHelper.process(Async=
ProcessorHelper.java:105) [camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.processor.DelegateAsyncProcessor.proces=
s(DelegateAsyncProcessor.java:87) [camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.component.spring.ws.SpringWebserviceCon=
sumer.invoke(SpringWebserviceConsumer.java:59) [camel-spring-ws-2.12.3.jar:=
2.12.3]
                at org.springframework.ws.server.endpoint.adapter.MessageEn=
dpointAdapter.invoke(MessageEndpointAdapter.java:41) [spring-ws-core-2.1.4.=
RELEASE.jar:na]
                at org.springframework.ws.server.MessageDispatcher.dispatch=
(MessageDispatcher.java:233) [spring-ws-core-2.1.4.RELEASE.jar:na]
                at org.springframework.ws.server.MessageDispatcher.receive(=
MessageDispatcher.java:173) [spring-ws-core-2.1.4.RELEASE.jar:na]
                at org.springframework.ws.transport.support.WebServiceMessa=
geReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSup=
port.java:88) [spring-ws-core-2.1.4.RELEASE.jar:na]
                at org.springframework.ws.transport.http.WebServiceMessageR=
eceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:5=
9) [spring-ws-core-2.1.4.RELEASE.jar:na]
                at org.springframework.ws.transport.http.MessageDispatcherS=
ervlet.doService(MessageDispatcherServlet.java:292) [spring-ws-core-2.1.4.R=
ELEASE.jar:na]
                at org.springframework.web.servlet.FrameworkServlet.process=
Request(FrameworkServlet.java:961) [spring-webmvc-4.0.2.RELEASE.jar:4.0.2.R=
ELEASE]
                at org.springframework.web.servlet.FrameworkServlet.doPost(=
FrameworkServlet.java:863) [spring-webmvc-4.0.2.RELEASE.jar:4.0.2.RELEASE]
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
647) [servlet-api.jar:na]
                at org.springframework.web.servlet.FrameworkServlet.service=
(FrameworkServlet.java:837) [spring-webmvc-4.0.2.RELEASE.jar:4.0.2.RELEASE]
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
728) [servlet-api.jar:na]
                at org.apache.catalina.core.ApplicationFilterChain.internal=
DoFilter(ApplicationFilterChain.java:305) [catalina.jar:7.0.50]
                at org.apache.catalina.core.ApplicationFilterChain.doFilter=
(ApplicationFilterChain.java:210) [catalina.jar:7.0.50]
                at net.bull.javamelody.MonitoringFilter.doFilter(Monitoring=
Filter.java:202) [javamelody-core-1.51.0.jar:1.51.0]
                at net.bull.javamelody.MonitoringFilter.doFilter(Monitoring=
Filter.java:180) [javamelody-core-1.51.0.jar:1.51.0]
                at org.apache.catalina.core.ApplicationFilterChain.internal=
DoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.50]
                at org.apache.catalina.core.ApplicationFilterChain.doFilter=
(ApplicationFilterChain.java:210) [catalina.jar:7.0.50]
                at com.github.ziplet.filter.compression.CompressingFilter.d=
oFilter(CompressingFilter.java:300) [ziplet-2.0.0.jar:na]
                at org.apache.catalina.core.ApplicationFilterChain.internal=
DoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.50]
                at org.apache.catalina.core.ApplicationFilterChain.doFilter=
(ApplicationFilterChain.java:210) [catalina.jar:7.0.50]
                at org.apache.catalina.core.StandardWrapperValve.invoke(Sta=
ndardWrapperValve.java:222) [catalina.jar:7.0.50]
                at org.apache.catalina.core.StandardContextValve.invoke(Sta=
ndardContextValve.java:123) [catalina.jar:7.0.50]
                at org.apache.catalina.authenticator.AuthenticatorBase.invo=
ke(AuthenticatorBase.java:502) [catalina.jar:7.0.50]
                at org.apache.catalina.core.StandardHostValve.invoke(Standa=
rdHostValve.java:171) [catalina.jar:7.0.50]
                at org.apache.catalina.valves.ErrorReportValve.invoke(Error=
ReportValve.java:100) [catalina.jar:7.0.50]
                at org.apache.catalina.valves.AccessLogValve.invoke(AccessL=
ogValve.java:953) [catalina.jar:7.0.50]
                at org.apache.catalina.core.StandardEngineValve.invoke(Stan=
dardEngineValve.java:118) [catalina.jar:7.0.50]
                at org.apache.catalina.connector.CoyoteAdapter.service(Coyo=
teAdapter.java:409) [catalina.jar:7.0.50]
                at org.apache.coyote.http11.AbstractHttp11Processor.process=
(AbstractHttp11Processor.java:1044) [tomcat-coyote.jar:7.0.50]
                at org.apache.coyote.AbstractProtocol$AbstractConnectionHan=
dler.process(AbstractProtocol.java:607) [tomcat-coyote.jar:7.0.50]
                at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.r=
un(JIoEndpoint.java:313) [tomcat-coyote.jar:7.0.50]
                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(T=
hreadPoolExecutor.java:886) [na:1.6.0_31]
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(Threa=
dPoolExecutor.java:908) [na:1.6.0_31]
                at java.lang.Thread.run(Thread.java:662) [na:1.6.0_31]
Caused by: org.apache.camel.TypeConversionException: Error during type conv=
ersion from type: org.springframework.util.xml.StaxSource to the required t=
ype: java.io.InputStream with value org.springframework.util.xml.StaxSource=
@7fe0f13a<mailto:org.springframework.util.xml.StaxSource@7fe0f13a> due java=
.lang.NullPointerException
                at org.apache.camel.impl.converter.BaseTypeConverterRegistr=
y.mandatoryConvertTo(BaseTypeConverterRegistry.java:173) ~[camel-core-2.12.=
3.jar:2.12.3]
                at org.apache.camel.impl.MessageSupport.getMandatoryBody(Me=
ssageSupport.java:99) ~[camel-core-2.12.3.jar:2.12.3]
                ... 51 common frames omitted
Caused by: org.apache.camel.RuntimeCamelException: java.lang.NullPointerExc=
eption
                at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelExcep=
tion(ObjectHelper.java:1363) ~[camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHe=
lper.java:1005) ~[camel-core-2.12.3.jar:2.12.3]
                at org.apache.camel.impl.converter.InstanceMethodTypeConver=
ter.convertTo(InstanceMethodTypeConverter.java:78) ~[camel-core-2.12.3.jar:=
2.12.3]
                at org.apache.camel.impl.converter.BaseTypeConverterRegistr=
y.doConvertTo(BaseTypeConverterRegistry.java:275) ~[camel-core-2.12.3.jar:2=
.12.3]
                at org.apache.camel.impl.converter.BaseTypeConverterRegistr=
y.mandatoryConvertTo(BaseTypeConverterRegistry.java:164) ~[camel-core-2.12.=
3.jar:2.12.3]
                ... 52 common frames omitted
Caused by: java.lang.NullPointerException: null
                at org.apache.axiom.om.impl.llom.SwitchingWrapper.next(Swit=
chingWrapper.java:965) ~[axiom-impl-1.2.14.jar:1.2.14]
                at javax.xml.stream.util.StreamReaderDelegate.next(StreamRe=
aderDelegate.java:60) ~[na:1.6.0_31]
                at org.springframework.util.xml.StaxStreamXMLReader.parseIn=
ternal(StaxStreamXMLReader.java:123) ~[spring-core-4.0.2.RELEASE.jar:4.0.2.=
RELEASE]
                at org.springframework.util.xml.AbstractStaxXMLReader.parse=
(AbstractStaxXMLReader.java:155) ~[spring-core-4.0.2.RELEASE.jar:4.0.2.RELE=
ASE]
                at org.springframework.util.xml.AbstractStaxXMLReader.parse=
(AbstractStaxXMLReader.java:139) ~[spring-core-4.0.2.RELEASE.jar:4.0.2.RELE=
ASE]
                at org.apache.xalan.transformer.TransformerIdentityImpl.tra=
nsform(TransformerIdentityImpl.java:485) ~[xalan-2.7.1.jar:na]
                at com.nucleus.integration.core.camel.converter.XmlConverte=
r.sourceToInputStream(XmlConverter.java:53) ~[neutrino-integration-core-1.4=
1-SNAPSHOT.jar:na]
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Meth=
od) ~[na:1.6.0_31]
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethod=
AccessorImpl.java:39) ~[na:1.6.0_31]
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Delegati=
ngMethodAccessorImpl.java:25) ~[na:1.6.0_31]
                at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.=
6.0_31]
                at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHe=
lper.java:1001) ~[camel-core-2.12.3.jar:2.12.3]
                ... 55 common frames omitted

Your help will be highly appreciated.

Rgrds,Rohit

\start
Date: Tue, 15 Dec 2015 15:01:08 -0500 (EST)
From: daly <daly@axiom-developer.com>
To: axiom-developer@nongnu.org
Subject: [Axiom-developer] Conceptualizing Large Software Systems

This is an interesting talk
http://www.thedotpost.com/2015/11/alan-shreve-conceptualizing-large-software-systems

He uses tools to find, extract, and simplify the common case path.
He then shows ways to incrementally expand this understanding.

Of course, he misses the vital step of explaining but it is still
an interesting idea.

Tim

\start
Date: Tue, 15 Dec 2015 16:04:53 -0500 (EST)
From: daly <daly@axiom-developer.com>
To: axiom-developer@nongnu.org
Subject: [Axiom-developer] Axiom documentation and Ted Nelson
Cc: John Kitchin <jkitchin@andrew.cmu.edu>

I have long ranted about the whole idea of what I call the "piles of
sand" approach to software. Each file is a single grain of sand,
constrained to the 4K buffer limit on the PDP-11 8K machine in the
1970s. Choosing good filenames was important. Hierarchy was born and
made choosing good directory names (src, doc, bin, etc)
important. Then the tools hardened the whole sand pile into castles
(e.g. automake) with web pages or wiki pages adding eye candy.

These early constraints led to decisions. These decisions still limit
the way we think about software. In particular, they limit the way we
think about communicating ideas with and about software (e.g. comment
lines). We can do better. We must do better if large software projects
like Axiom are to survive.

It appears that Ted Nelson seems to have a similar opinion. 
(In the spirit of "gee, somebody famous agrees" here's the link :-) )

Ted Nelson on Pernicious Computer Traditions
https://youtu.be/c_KbLKm89pU

Axiom's approach to Nelson's "addressable content" uses chunks and
chunk names.  Additionally, the table of contents, index, and internal
hyperlinks allow random access to the ideas and source code. The ideas
are not new (ref: Knuth) or uncommon (ref: Pharr and Humphrey's book).

Tim

"You can't think outside the box if you can't perceive the box"





\end{verbatim}
\eject
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}
\bibliographystyle{axiom}
\bibliography{axiom}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\cleardoublepage
%\phantomsection
\addcontentsline{toc}{chapter}{Index}
\printindex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
