Subject: [cicm] CICM IDL size - is it possible to segment

From: "Linn, Charles" <[email-masked]>
Date: Fri, 14 May 2010 09:58:24 -0400

Hello all,

If this topic has already been discussed, my apologies, new to group and
have not had a full look around.

As best I can tell, the CICM IDL is contained in one very long file.
Coming from the JTRS SCA community (where I sit in the SCA-next effort),
there was a lesson learned when it comes to such large files.  From a
client's standpoint, when a large file is included, it cases lots and
lots of stub code (100s of KB to megabytes) to be generated, even if
only one function needed to be called.  On low size/weight/power (SWAP)
platforms, this adversely affected memory and performance (boot time),
etc.  As a result, there has been an ongoing effort to segment the files
into multiple smaller files, each addressing individual concerns.

Suggest the same be done for CICM.  Comments / concerns?

Thanks,
Chuck Linn / Harris Corporation (Rochester, NY USA)

---

From: "Novikov, Lev" <[email-masked]>
Date: Sat, 15 May 2010 23:08:16 -0400

Chuck,

Excellent point about the size of the IDL file. In addition to the SWAP concerns you mentioned,
software developed for high assurance environments doesn't typically have "dead code" 
(i.e. code that is never referenced).

We actually have a separate IDL file for each of the interfaces, 
but thought it would be easiest to distribute a single monolithic 
file and then stipulate that only implemented interfaces be included 
(see Section 4: http://tools.ietf.org/html/draft-lanz-cicm-00#section-4; 
"A CICM library implementation SHALL include only the subset of
interfaces corresponding to the functionality supported by the
module for which it was designed.").

This is the reason why we don't have a "NOT_IMPLEMENTED" return code, but I'm not sure
how effective our strategy is. Perhaps we could take a middle-ground approach 
and provide an IDL file for each namespace (Encrypt, Decrypt, etc.).

What do you think?

Lev

From: [email-masked] [mailto:[email-masked]] On Behalf Of Linn, Charles
Sent: Friday, May 14, 2010 9:58 AM
To: [email-masked]
Subject: [cicm] CICM IDL size - is it possible to segment

Hello all, 
If this topic has already been discussed, my apologies, new to group and have not had a full look around. 
As best I can tell, the CICM IDL is contained in one very long file.  Coming from the JTRS SCA community (where I sit in the SCA-next effort), there was a lesson learned when it comes to such large files.  From a client's standpoint, when a large file is included, it cases lots and lots of stub code (100s of KB to megabytes) to be generated, even if only one function needed to be called.  On low size/weight/power (SWAP) platforms, this adversely affected memory and performance (boot time), etc.  As a result, there has been an ongoing effort to segment the files into multiple smaller files, each addressing individual concerns.
Suggest the same be done for CICM.  Comments / concerns? 
Thanks, 
Chuck Linn / Harris Corporation (Rochester, NY USA)

---

From: "Linn, Charles" <[email-masked]>
Date: Fri, 28 May 2010 16:54:13 -0400

Thanks for the response.  I don't know CICM well enough to provide a
knowledgable answer, in particular how you have placed the interfaces
within the IDL modules (which I assume is what you are referring to when
you refer to namespace).  As I recall, you have over 140 interfaces, so
that seems too granular.  The namespaces sound promising, I just don't
appreciate yet how many a user would need to include - for example, if
all you want to do is encrypt traffic and send it to the black side (OK,
"a different security level") can you live with only the Encrypt
namespace, or in practice will you need others (at a waveform, not a
platform level)?

The most important thing - you are considering the problem...

-Chuck