\documentstyle{article}
\title{Structure of User Interface Module for Practical Internet
Messages}
\author{MORIOKA Tomohiko\\
\small JAIST, Hokuriku; 1-1 Asahidai, Tatsunokuchi, Nomi, Ishikawa,
923-12, Japan\\
\tt E-mail: morioka@jaist.ac.jp}
\date{}

\begin{document}
\pagestyle{empty}
%\maketitle
%\vspace*{-2em}

\begin{center}
  \LARGE\bf Structure of User Interface Module for Practical Internet
  Messages
\end{center}
\vspace*{-1.2em}
\begin{center}
  \Large Morioka Tomohiko 
\end{center}
\vspace*{-1.2em}
\begin{center}
  {\small
  JAIST, Hokuriku; 1-1 Asahidai, Tatsunokuchi, Nomi, Ishikawa,
  923-12, Japan}\\
  \tt E-mail: morioka@jaist.ac.jp
\end{center}


%\vspace*{-1.5em}
%\section{Introduction}
%\vspace*{-0.8em}

MIME offers structures like ``multipart''\cite{RFC2046} for messages.
Structured messages may form a tree and in that case the node of the
tree is called ``entity''\cite{RFC2045}.  Each entity has a type known
as ``media-types''\cite{RFC2045} for representing the data type.
Conventional MUAs (Message User Agent; mail reader, news reader, etc.)
provide the features necessary for message navigation.  However, they
do not provide any feature for navigating the entities and therefore,
some kind of mapping between the message and the entity hierarchy is
required.  Moreover, as the conventional MUAs can not process the
entities itself, the MIME module has to be employed for processing the
entities.  The processing is normally defined by a mapping between
media-type and program.  However, entity processing is not depended on
media-type alone.  Hence, a simple mapping between media type and
program is not adequate.
%
In the present study, the notion of ``acting situation model'' is
proposed to overcome the above mentioned problems of the conventional
MUAs.  Instead of the simple mapping between media-type and program; a
generlaized MIME processing module is designed based on the ``acting
situation model''.  The proposed system is implemented on GNU Emacs
and its variants, namely ``tm''\cite{tm} and ``SEMI''\cite{SEMI}.  


\vspace*{-1.4em}
\section{Mapping between a message and its entities}
\vspace*{-0.8em}

Traditional Internet messages are limited to plain text.  Hence,
conventional MUAs do not require complex message processing.  They
ignore the internal structure and simply manage messages.  Therefore,
the proposed MIME processing module must provide the adequate features
to process and manage the hierarchy of entities, and at the same time
it has to offer an interface between a message and its structure.  In
the present approach, SEMI and tm employ the \textit{``preview''}
function for supporting these functions.  Entity related information
are embedded for allowing the user to navigate entities in
\textit{preview}.  Tm and SEMI manage the mapping between a message
and its \textit{preview}.  The interface modules between MIME
processing module and MUAs replace the display for a message of
original MUAs by its \textit{preview}.  \textit{Preview} functions as
a message display for MUAs and therefore, MIME processing features are
added to the message features of the original MUAs.


\vspace*{-1.4em}
\section{Acting situation model}
\vspace*{-0.8em}

An ``Acting situation'' consists of (1) information of entities
specified by the header (ex. {\tt Content-Type}\cite{RFC2045}), (2)
conditions related to program execution, (3) operation type and (4)
information related to MUA type.  ``Acting situation'' is generated by
the operation on entity.  In case of tm and SEMI, an acting situation
is represented by the association list: $((t_1 .  v_1)(t_2 . v_2)
... (t_n . v_n))$.  An acting situation consists attributes with type
$t_i$ and value $v_i$.  During an operation on entity, tm or SEMI
generates the draft for acting situation with the help of (1), (3) and
(4) (They are unique and therefore they are simply appended).  Finally
the appropriate condition is retrieved from (2) and it is compared
with the draft of acting situation.  For example, if the draft for
action situation is:
\vspace*{-0.6em}
{\small
\begin{verbatim}
        ((media-type . message)(media-subtype . partial)("number" . "2")
         ("total" . "3")("id" . "foo@tsukuyomi.jaist.ac.jp")
         (mode . play)(major-mode . gnus-original-article-mode))
\end{verbatim}}
\vspace*{-0.6em}
\noindent and
\vspace*{-0.6em}
{\small
\begin{verbatim}
        ((media-type . message)(media-subtype . partial)
         (method . mime-combine-message/partials-automatically)
         (major-mode . gnus-original-article-mode)
         (summary-buffer-exp . gnus-summary-buffer))
\end{verbatim}}
\vspace*{-0.6em}
\noindent is matched with the list of conditions (2), then
\vspace*{-0.6em}
{\small
\begin{verbatim}
        ((media-type . message)(media-subtype . partial)
         ("number" . "2")("total" . "3")
         ("id" . "foo@tsukuyomi.jaist.ac.jp")
         (mode . play)(major-mode . gnus-original-article-mode)
         (method . mime-combine-message/partials-automatically)
         (summary-buffer-exp . gnus-summary-buffer))
\end{verbatim}}
\vspace*{-0.6em}
%
\noindent will be generated as the acting situation.  Next, the program
specified by the `method' attribute is executed.  The remaining
attributes are to be referenced by the program.


\vspace*{-1.4em}
\section{Conclusion}
\vspace*{-0.8em}

The proposed MIME processing module employs \textit{preview} for
providing an adequate mapping mechanism between a message and its
hierarchy of entities.  The functions of the proposed MIME processing
module should be consistent with the original functions of MUAs.  The
acting situation model allows the user to specify conditions along
with various factors.  In the proposed method the acting situation is
generated dynamically, hence it is flexible.  However present
implementation of the model might generate wrong acting situation.
Therefore, the subject is to be farther investigated.


\vspace*{-1.4em}
\begin{thebibliography}{[1]}
\vspace*{-0.8em}
\small
%\bibitem{ASCII} ``Coded Character Set -- 7-Bit American Standard Code
%for Information Interchange'', ANSI X3.4, 1986.

%\bibitem{RFC822} Crocker, D., ``Standard for the format of ARPA
%Internet text messages'', RFC 822, 1982-08-13.

\bibitem{RFC2045} Freed, N. and Borenstein, N., ``Multipurpose
Internet Mail Extensions (MIME) Part One: Format of Internet Message
Bodies'', RFC 2045, 1996-02-12.

\vspace*{-0.555em}
\bibitem{RFC2046} Freed, N. and Borenstein, N., ``Multipurpose
Internet Mail Extensions (MIME) Part Two: Media Types'', RFC 2046,
1996-12-02.

\vspace*{-0.555em}
\bibitem{tm} ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/

\vspace*{-0.555em}
\bibitem{SEMI} ftp://ftp.jaist.ac.jp/pub/GNU/elisp/mime/alpha/

\vspace*{-0.555em}
\bibitem{mailcap} Borenstein, N., ``A User Agent Configuration
  Mechanism For Multimedia Mail Format Information'', RFC 1524,
  1993-09-23.

%\vspace*{-0.555em}
%\bibitem{RFC2183} Troost, R., Dorner, S. and Moore, K.,
%    ``Communicating Presentation Information in Internet Messages: The
%    Content-Disposition Header Field'', RFC 2183,
%    1997-8.


%\bibitem{RFC2047} Moore, K., ``Multipurpose Internet Mail Extensions
%(MIME) Part Three: Message Header Extensions for Non-ASCII Text'', RFC
%2047, 1996-12-02.

%\bibitem{RFC2048} Freed, N., Klensin, J. and Postel, J.,
%``Multipurpose Internet Mail Extensions (MIME) Part Four: Registration
%Procedures'', RFC 2048, 1996-12-02.

%\bibitem{RFC2049} Freed, N. and Borenstein, N., ``Multipurpose
%Internet Mail Extensions (MIME) Part Five: Conformance Criteria and
%Examples'', RFC 2049, 1996-12-02.

%\bibitem{Mule} Nishikimi, M., Handa, K., and Tomura, S., ``Mule:
%  MULtilingual Enhancement to GNU Emacs'', Proc. INET '93,
%  pp.~GAB-1-GAB-9 (1993).

%\bibitem{Mew} Yamamoto, K., ``An Integration of Internet Messages'',
%Transactions of Information Processing Society of Japan, Vol.~37,
%No.~5 (1996), p.~809--821.
\end{thebibliography}

\end{document}
