Software architecture for a Virtual Environment for Nano Scale Assembly
Journal of Research of the National Institute of Standards and Technology, March-April, 2004 by Yong-Gu Lee, Kevin W. Lyons, Shaw C. Feng
[FIGURE 11A OMITTED]
[FIGURE 11B OMITTED]
[FIGURE 11C OMITTED]
Since all the platforms supported OpenGL, the OutputManager generates all the graphics scenes optimally suited to OpenGL with codes that depend on OpenGL. This deviated from the philosophy of not depending on external toolkits. But since all graphics devices were based on OpenGL, it was not justifiable to define a new neutral graphics scene descriptor and have the output devices convert it to OpenGL primitives. However neutral data was used for the audio and haptics. Obviously they were much simpler to define than graphics.
This paper does not discuss using toolkits that provide advanced algorithms needed for VE, such as collision detection. These advanced toolkits differentiate themselves from the functions of the VE toolkits that are utilized in VENSA that are mostly device interfaces and device state propagation. These advanced toolkits require direct links to the application objects and sometimes may require some change in the application data structure. Certainly, combining the application program with these toolkits can destroy the modularity. The quick solution that we have implemented is to duplicate the application objects. One is used internally and the other is used for the specific advanced toolkits.
The application objects and input and output device objects are all static in VENSA. Dynamic object creation and destruction are not provided. For VENSA to be a dynamic environment, this functionality is essential. Note in cluster computers environment, all distributed applications must work coherently and must allocate or free objects as necessary.
4. Conclusion
Software reuse is important as it saves time and costs. By effectively reusing existing components, more effort can be put into problem solving. There exists a plethora of toolkits for VE today. However, no single toolkit could satisfy the needs of the application described in this paper. Multiple toolkits were needed to satisfy the needs. It is desired and beneficial to selectively choose certain features from a toolkit without the constraints associated with its framework. This is generally not possible as most toolkits are provided as part of a framework, which makes it very difficult, or impossible, to isolate a feature. Another approach is to use multiple toolkits together. However, using multiple toolkits requires that application code contain multiple interfacing codes to the toolkits, hence further complicating the modularity. Some toolkits are more problematic as they contain their own control loop and never return to the caller. The architecture of VENSA is designed such that it can incorporate existing VE toolkits without interfering with the application program code. Although VENSA runs on three VE toolkits, the VENSA classes show no dependence to on any of the toolkits. Any existing toolkits can be substituted for other toolkits without requiring the rewrite of the application code.
Accepted: March 17, 2004
Available online: http://www.nist.gov/jres
- 5 Rules for Immediate Annuities
- Death in the Family: 12 Things to Do Now
- Dumbest Things You Do With Your Money
- 6 Online Networking Mistakes to Avoid
- 401(k) Mistakes to Avoid
- 5 Economic Scenarios to Keep You Up at Night
- The Real ‘Best Places to Retire’
- Best Credit Cards for You
- 12 Tough Questions to Ask Your Parents
- The Real ‘Best Colleges’
- Home Buyer Tax Credit: How to Cash In
- Why You Shouldn't Bash Cash
- 8 Phony 'Bargains' and Better Alternatives
- Danger: 3 Debit Card Scams to Avoid
- 6 Myths About Gas Mileage
- 29 Fees We Hate Most
- Quick and Easy Ways to Boost Returns
- Best Stocks to Buy Now
- Lower Your Taxes: 10 Moves to Make Now
- New Jobs: 8 Lessons from Real-Life Career Switchers
- The New Job Market: Who Wins and Who Loses?
- Health Care Reform's Public Option: Everything You Need to Know
- Volunteer Work When Unemployed: Should You Work for Free?
- Whose Recovery Is This?
- Long-Term-Care Insurance: 4 Biggest Risks to Avoid
Content provided in partnership with
Most Recent Reference Articles
Most Recent Reference Publications
Most Popular Reference Articles
- A world without nuclear weapons?
- 9 questions to ask your new lover: what you were afraid to ask, but always wanted to know
- How Tyler Perry rose from homelessness to a $5 million mansion
- Rejoice anyway - Zephaniah 3:14-20, Philippians 4:4-7 - Living by the Word - Column
- BEST HAIR SALONS in DALLAS, The


