Michael L. Nelson
Naval Postgraduate School
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Michael L. Nelson.
Oops Messenger | 1995
Michael L. Nelson; Tilemahos Poulis
Object-oriented programming (OOP) allows code developed for one class (the superclass) to be reused (via inheritance) in building another class (the subclass). Typical OOP systems provide a browser of some sort to allow the developer to peruse through libraries of classes, searching for an appropriate superclass to inherit from. However, as the number of classes involved grows from the tens to the hundreds to the thousands, the developer needs a very high level of knowledge about existing classes to minimize the search time. We have developed the Class Storage and Retrieval System (CSRS) which utilizes an underlying database management system to store and retrieve class definitions. Queries are then posed to the system to determine if any potential superclasses exist. The developer may then browse through a much smaller set of classes to determine if any are appropriate for the new application.
Sigplan Notices | 1990
Robert Steigerwald; Michael L. Nelson
Smalltalk-80 provides only a minimal set of concurrency control mechanisms. The fork and newProcess messages can be used to indicate that two (or more) processes can run concurrently, and a Semaphore class is provided which can be used to achieve synchronization.These features are not enough, however, to simulate true concurrency. A process will not yield the processor until it can no longer continue. This makes it all too easy to unintentionally produce code which is dependent upon yielding the processor at some specific point.The Delay and Random classes were used to force processes to yield nondeterministically. This allowed a single processor, context switching environment to be simulated. The producer/consumer problem was used to exercise the concurrent mechanisms in this investigation.
Oops Messenger | 1992
Everton Guilhão de Paula; Michael L. Nelson
Object-oriented database management systems are still a relatively new area, with many unanswered questions as to their performance. Objects can be clustered on disk (i.e., stored in contiguous storage areas) so that when accessing one object in a cluster, all of the objects in that cluster are brought into main memory. Thus when accessing additional objects in the cluster, it is then a main memory operation rather than a disk operation. Unfortunately, determing which objects to cluster together is often left entirely up to the user, and an improper clustering scheme can severly degrade system performance. This paper presents a set of guidelines for developing a clustering scheme, using an actual application as an example.
Sigplan Notices | 1994
Michael L. Nelson
Object-oriented programming (OOP) shows great potential for use in concurrent and distributed systems. However, several issues must be considered before moving into the concurrent/distributed arena. This paper considers the following issues: sharing of variables; various communication models; communication costs; and distributed object management.
Microprocessing and Microprogramming | 1994
Gilberto F. Mota; Michael L. Nelson; Uno R. Kodres
Abstract Conventional object-oriented design methodologies lead to a hierarchy of classes, but do not suggest which classes/objects should be loaded on which processors in a distributed system. We present the Decomposition Cost Evaluation Model (DCEM) as an approach to this problem. DCEM brings the mapping problem to a higher level of abstraction where the question is which classes, rather than which tasks, should be loaded on which processors. To support these decisions we define communication and computation cost functions for objects, classes, and hierarchies. We then introduce Confined Space Search Decomposition (CSSD) which enhances parallel operations of applications utilizing a tree topology for the processor interconnection scheme. To reduce the penalties of load imbalance, we include a distributed dynamic load balancing heuristic called Object Reincarnation (OR) in which no additional communication costs are incurred.
nato asi rtc | 1992
Michael L. Nelson
Object-oriented programming (OOP) shows great potential in several areas, including real-time (RT) systems. The primary benefits of OOP (encapsulation and reusability) are extremely useful in the RT arena. This position paper briefly describes the benefits of object-oriented (OO) real-time (OORT) computing. For a more thorough introduction, refer to (Nelson 1992) [1].
ACM Sigada Ada Letters | 1992
Michael L. Nelson; Gilberto F. Mota
Ada is not generally considered to be an object-oriented language. Classic-Ada is a preprocessor which adds the concepts of classes, inheritance, and dynamic binding to the Ada language. In this paper, we review the use of Classic-Ada as an object-oriented programming language.
ACM Sigada Ada Letters | 1992
Michael L. Nelson; Gilberto F. Mota; Vassilios Theologitis
Although Ada supports concurrency and can thus be used as a concurrent programming language, it is not generally considered to be an object-oriented programming language. Classic-Ada is a preprocessor which adds the concepts of classes, inheritance, and dynamic binding to the Ada language. Classic-Ada is not billed as a concurrent object-oriented programming language, but it is possible to do anything in Classic-Ada that can be done in Ada. Thus, Classic-Ada can also serve as a concurrent object-oriented programming language. In this paper, we review the use of Classic-Ada in both concurrent and distributed environments.
Oops Messenger | 1991
Michael L. Nelson
Sigplan Notices | 1991
Michael L. Nelson