Last Revised: 24 Feb 2004 (Word Version)
Questions:
What is a fuselet and what does it do?
What is the purpose of fuselets and what problems are they intended to address?
What is a "manipulation function"?
How and where does a fuselet get its inputs for manipulation?
What happens to the outputs of a fuselet?
Do fuselets display information to a user or send outputs directly to another JBI client?
How is a fuselet different from other JBI clients?
What are the challenges associated with fuselets?
Q: What is a fuselet and what does it do?
A: A fuselet is a light-weight, special-purpose Joint Battlespace Infosphere (JBI) client program that provides value-added information processing functions that are under the control of the JBI platform. The information processing functions take existing information objects as input and manipulate them in some way to produce new information objects.
Back to Top
Q: What is the purpose of fuselets and what problems are they intended to address?
A: Information manipulations performed by fuselets typically satisfy the recurring information needs that are found to be common across multiple Communities of Interest (COIs), but are also often customized or developed from scratch to satisfy the immediate needs of a specific COI or information consumer for which there is no other readily available solution.
Back to Top
Q: What is a "manipulation function"?
A: Manipulation entails enabling and affecting the synthesis of new information from existing information. Manipulation comprises the following sub-functions:
- Transform - To apply a function on existing information that effects a desirable change in its type, structure, or purpose in the new information produced. Examples: Collate, filter, sort, generalize, specialize, correlate.
- Aggregate - To unify similar information into a coherent whole.
- Integrate - To unify diverse information into a coherent whole.
- Mediate - To end the segregation of, and bring into equal membership, diverse types, formats, and conceptions of information.
Back to Top
Q: How and where does a fuselet get its inputs for manipulation?
A: Like every JBI client, a fuselet gets information objects from the JBI by subscribing to them or querying for them through the JBI Common Application Programming Interface (CAPI). Unlike some clients, however, the JBI is the only source for information inputs.
Back to Top
Q: What happens to the outputs of a fuselet?
A: The output of a fuselet is one or more information objects that are published to the JBI through the CAPI. Clients wishing to consume the outputs of a fuselet simply subscribe or query for them through the JBI CAPI.
Back to Top
Q: Do fuselets display information to a user or send outputs directly to another JBI client?
A: No. A conscious decision was made to separate the runtime concerns of information production by a fuselet and how that information is ultimately used or presented, and by what/to whom. The runtime responsibility of a fuselet ends with the JBI CAPI publication of the information it was intended to produce. In this way, all clients interested in the information produced by a fuselet can subscribe to it and do what they wish with it (provided these clients are authorized to do so). However, the concern over how the output of a fuselet will be used is nearly always considered during the development of that fuselet, and recognizing this, the concept of a fuselet .companion client. that could be developed in parallel with a fuselet has emerged. Fuselet companions might subscribe to fuselet outputs and display that information to an end user, or a fuselet companion might serve as a bridge between the JBI CAPI and a legacy application (i.e., an adaptor). This is not to say that a fuselet has to have or should have a companion client . it is only an option that might be considered during fuselet production if and only if it makes sense. An important design goal for fuselets is that they be generic and useful to as many potential clients as possible, but it is inevitable that there will be cases where coordinated engineering will need to take place in both the development of fuselets and special purpose application or user interfaces (companions). The consumption of fuselet produced information objects by a fuselet companion by no means prevents additional clients from utilizing the same information for other purposes.
Back to Top
Q: How is a fuselet different from other JBI clients?
A: A fuselet is under the control of the JBI platform, while other clients
usually are not. In addition, the only source for information inputs to
fuselets and the only destination for information outputs from fuselets are via
the JBI Platform - other clients are not restricted in this way. Finally,
fuselets are relatively "simple" and "lightweight" as compared to other clients whose processing and computational footprint may be very complex and large.
Back to Top
Q: What are the challenges associated with fuselets?
A: There are many. Some of them include the following:
- Fuselet Production:
- Lack of tools to capture user-defined business logic within fuselets which will tailor the information environment to the specific needs of one or more COIs.
- Development of fuselet production environments that support for a range of users with varying levels of technical skills (e.g., typical users such as subject matter experts, moderately skilled JBI information management staff, and highly experienced programmers).
- Lack of a development environment that supports component based development of fuselets (composition of fuselets from building blocks stored in a library of fuselet components).
- Reducing the burden of information engineering and increasing the speed of fuselet community instantiations that are assured to perform with desired results and within specified tolerances.
- Minimizing potential fuselet side-effects such as unanticipated consequences of automated processing (e.g. increase security classification through aggregation, or information loss/leaking).
- Development of fuselet library capabilities and fuselet metadata descriptions that promotes rapid lookup, reuse, production, and deployment of fuselets.
- Manipulation functions for unstructured data.
- Fuselet Runtime:
- Orchestrating (via production, simulation, and testing as well as during runtime) an efficient and cooperative workflow for a community of asynchronous fuselet and client executable processes.
- Lack of fuselet monitoring, autonomic functions, and control tools for JBI Information Management Staff (IMS).
- Development of a runtime environment that manages a blend of fuselets which are implemented in multiple languages (XSLT, Jython, Java, Jess, etc.), operate on a variety of information object types and payload formats, operate in multiple contexts (e.g., ontologies/semantics), and possess different execution properties (e.g., stateful versus stateless).
Back to Top
|
|
| All material produced by the Air Force Research
Laboratory except where otherwise noted. |
|