This paper describes design issues encountered developing a reusable component library. The design applied encapsulation, inheritance, composition and type parameterization. The implementation uses various C++ mechani...
详细信息
ISBN:
(纸本)9780897914116
This paper describes design issues encountered developing a reusable component library. The design applied encapsulation, inheritance, composition and type parameterization. The implementation uses various C++ mechanisms, including: virtual and static member functions, templates, and *** resulting library contains about 500 components (mostly template classes and functions) and an optional utility for instantiating templates. The components provide variations of basic collection/container abstractions with various time and space complexities.A key insight gained from this project: the design process centered on developing a “template for the templates” — designing a component framework and orderly process for generating the template classes.
This paper demonstrates that the CLOS metaobject protocol approach to defining and implementing an object model is very powerful. CLOS is an object-oriented language that is based on Common Lisp and is in the process ...
详细信息
ISBN:
(纸本)9780897914116
This paper demonstrates that the CLOS metaobject protocol approach to defining and implementing an object model is very powerful. CLOS is an object-oriented language that is based on Common Lisp and is in the process of being standardized. implementations of CLOS are themselves object-oriented with all major building blocks of the language being instances of system classes. A metaobject protocol provides a framework for CLOS implementations by specifying the hierarchy of these classes and the order and contents of the communication among their instances. This design has made CLOS both flexible and portable, two design goals that traditionally conflict. In support of this suggestion we present a detailed account of how we added object persistence to CLOS without modifying any of the language's implementation code.
An overview is provided of Interacting Processes (IP), a language for the design and implementation of distributed reactive systems based on multiparty interactions. A multiparty interaction is a primitive for both sy...
详细信息
An overview is provided of Interacting Processes (IP), a language for the design and implementation of distributed reactive systems based on multiparty interactions. A multiparty interaction is a primitive for both synchronization and communication among any number of processes. IP contains an abstraction construct called a team, which encapsulates groups of multiparty interactions. In addition, IP includes a superimposition operator allowing separation of concerns in design.
作者:
Wheeler, James G.STSC
Inc 2115 East Jefferson Street RockvilleMD20852 United States
APL∗PLUS II is a second-generation 32-bit APL interpreter that runs tinder the MS DOS operating system, A recent release has introduced two new system functions - ONA and OMLOAD - that enable APL to dynamically load a...
详细信息
ISBN:
(纸本)089791371X
APL∗PLUS II is a second-generation 32-bit APL interpreter that runs tinder the MS DOS operating system, A recent release has introduced two new system functions - ONA and OMLOAD - that enable APL to dynamically load and execute programs written written in compiled languages such as C and Fortran. These enhancements presented both design and implementation challenges. On the design side, it was-necessary to make it as easy as possible for the APL programmer to integrate non-APL routines into applications. The implementation side required considerable technical creativity and invention, since the MS DOS environment provides no built-in functions for dynamic loading and execution of programs.
The authors discuss the design and implementation of a type checker for an advanced specification language using an attribute grammar tool. The design specifically addresses language features, such as generic paramete...
详细信息
ISBN:
(纸本)0818620099
The authors discuss the design and implementation of a type checker for an advanced specification language using an attribute grammar tool. The design specifically addresses language features, such as generic parameters, name and operator overloading, subtypes, importation, and inheritance, which are especially important for large software system specification. The authors discuss the issues involved in handling the non-block structured nature of the specification language, as well as its need to interface with other tools and interact with users to check constraints that are difficult to decide in the general case.
The design of a communication system reflects many decisions made after analysis of the requirements and evaluation of the goals of a particular program. This paper describes the key characteristics and design process...
详细信息
A subset of the programminglanguage Ada is translated to Petri nets. The subset contains the Ada rendezvous and dynamic task creation. The design of the translation algorithm was influenced by methods of denotational...
详细信息
ISBN:
(纸本)0818620099
A subset of the programminglanguage Ada is translated to Petri nets. The subset contains the Ada rendezvous and dynamic task creation. The design of the translation algorithm was influenced by methods of denotational semantics, which made the implementation of the algorithm particularly simple in the programminglanguage ML. Properties of a concurrent Ada program can be studied by analyzing the Petri-net model. It is possible to determine the possible interleavings of statements and do static dead-lock detection. The authors investigate applying the models of Ada programs to the problem of determining which program segments form the critical path in the time it takes for execution of an Ada program.
This paper presents the THOMSON CSF design methodology used on large Real-Time Ada projects compliant with the DOD-STD-2167A standard. This design methodology was defined within the context of the RMR radar software p...
详细信息
The authors describe LOGOmotion, a programming environment that is visually enhanced, animated, unobtrusive, extensible, and monomorphic. The programmer can obtain with ease visual and animated presentations of the ex...
详细信息
ISBN:
(纸本)0818620099
The authors describe LOGOmotion, a programming environment that is visually enhanced, animated, unobtrusive, extensible, and monomorphic. The programmer can obtain with ease visual and animated presentations of the execution of programs written in the LOGO language. The programmer can also define new methods of program presentation by writing visualization procedures in LOGO without altering the original program code. Methods may include classical debugging tools such as traces, as well as more modern visualization aids such as the animation of program behavior. The design goals and fundamental principles of the system are discussed. Illustrations of its use and implementation are presented.
Overall, our experience using the Ada programminglanguage proved to be a valuable one. We believe that using an alternate high level language would not have allowed us to maintain the tight schedule of the evolutiona...
详细信息
ISBN:
(纸本)0897914090
Overall, our experience using the Ada programminglanguage proved to be a valuable one. We believe that using an alternate high level language would not have allowed us to maintain the tight schedule of the evolutionary development of ISAAC. Clearly, the software engineering orientation of Ada was key to the success of the ISAAC simulator. Our desired to maintain an object orientation during the design and implementation process proved useful but was a bit cumbersome at times. While there are several methods to emulate some form of inheritance in Ada, the lack of a controlled two way communication mechanism between objects is a significant restriction with Ada as it relates to object oriented methodologies. We were fortunate to have the event queue in the simulator available to allow an efficient implementation of the two way communications we required. The technique used for implementing the Task Manager's data structure followed a standard paradigm for implementing a data architecture documented in an Entity-Relation-Attribute form. This technique was successful, which suggests to us the possibility of directly compiling the extended E-R-A model (including the relation characteristics used for choosing implementation structures). Extending a language to support directly an abstract Entity-Relation model would eliminate the need for coding data structures and data management algorithms, greatly reduce development time, and will result in better designs by encouraging design at an abstract level. The use of generics in the component architecture was extremely valuable in support of the abstract data entities implementation as well as significantly reducing the overall integration testing effort Although our emphasis in this paper on the use of component architecture was concentrated on the use in the Maintenance Manager, many of these generics were used in the Operations and Resource Managers as well. It interesting that the major emphasis in the rationale for the f
暂无评论