The Centre for Advanced Studies (CAS) is an applied research centre formed in 1990 within the IBM Toronto software Solutions laboratory. Its primary aim is to facilitate the transfer of research ideas into the various...
The Centre for Advanced Studies (CAS) is an applied research centre formed in 1990 within the IBM Toronto software Solutions laboratory. Its primary aim is to facilitate the transfer of research ideas into the various product groups of the laboratory. Although we are still learning how to make CAS operate more effectively, and it is too early to assess its long-term success, the model for CAS has proved to be workable. The primary partners, namely the IBM Toronto software Solutions laboratory, the IBM research community, universities in North America, and government agencies that support collaborative research, have found it a viable approach. As an overview, this essay provides some background to the formation of the centre, describes some of the challenges deemed important in defining the role of the centre, identifies a number of principles that are used to guide its formation and current operation, and reports on its progress. We conclude with a discussion of some lessons learned in the operation of the centre to date and identify future activities and directions for the centre.
This paper illustrates our approach of building an integrated knowledge-based design environment, which facilitates knowledge delivery mechanisms. The KID (Knowing-In-Design) design environment provides a specificatio...
详细信息
Reverse engineering abstractions are considered. Three kinds of abstractions are identified: problem domain, structural, and logical. Problem domain abstractions correspond to concepts from a program's application...
详细信息
A tasking query language (TQL) for aiding very general analysis of Ada tasking in a Petri-net-based environment is discussed. An important principle of TQL's design is that of hiding the formalism upon which the a...
详细信息
Reverse engineering abstractions are considered. Three kinds of abstractions are identified: problem domain, structural, and logical. Problem domain abstractions correspond to concepts from a program's application...
详细信息
Reverse engineering abstractions are considered. Three kinds of abstractions are identified: problem domain, structural, and logical. Problem domain abstractions correspond to concepts from a program's application area. Structural abstractions are used to eliminate implementation details and redundant information. Logical abstractions are properties that can be logically derived from code. A method for generating functional specifications is described, which incorporates the abstraction techniques. It has been applied to a variety of COBOL programs and been found to generate natural abstract program descriptions. The authors describe work in progress, including the construction of an analysis tool that will be used to help verify the approach and to assess its complexity and computational requirements.< >
The development of large, complex systems consisting of both hardware and software normally involves several companies and/or development teams for the development of the different subsystems forming the entire system...
详细信息
ISBN:
(纸本)0897916107
The development of large, complex systems consisting of both hardware and software normally involves several companies and/or development teams for the development of the different subsystems forming the entire system. Depending on the kind of subsystem to be developed, these different development teams normally use different system engineering methodologies and/or tool sets to produce their subsystems. However, the usage of different methodologies and tools makes technical management and quality assurance for the entire development effort a difficult task. Therefore the development as well as the maintenance of future systems with their increasing size and complexity requires a common frame for the entire system development and maintenance effort covering different kinds of subsystems, like graphical user interfaces, database systems, expert systems, real-time systems, and so on. This common frame should support the separate and independent development of the different subsystems by different subcontractors using different system engineering methods, the integration of these subsystems to the entire system as well as the maintenance of the entire system. A hierarchical object-oriented model for the encapsulation and integration of different system engineering methods can serve as this common frame, providing traceability from the system requirements model to the implemented system while giving each subsystem development team full scope in choosing the system engineering method most suitable for a specific subsystem. The approach underlying this object-oriented model is the encapsulation of the different subsystems in "high-level objects," which can be either further decomposed into "high-level object" or described in more detail using any appropriate system engineering method. The integration of these "high-level objects" to the entire system is supported by a "definition object" on each layer of each system engineering model. The "definition objects" provide trace
A tasking query language (TQL) for aiding very general analysis of Ada tasking in a Petri-net-based environment is discussed. An important principle of TQL's design is that of hiding the formalism upon which the a...
详细信息
A tasking query language (TQL) for aiding very general analysis of Ada tasking in a Petri-net-based environment is discussed. An important principle of TQL's design is that of hiding the formalism upon which the analysis framework is built. Instead, TQL defines a language by which queries of Ada interactions themselves can be expressed. Examples of TQL's capabilities are presented, and a sample analysis session using the gas station program is described.< >
A method for automating the search for codes that have particular structural features is described. A pattern language is used to specify the pattern of desired code. The benefits of using a pattern language include a...
详细信息
A method for automating the search for codes that have particular structural features is described. A pattern language is used to specify the pattern of desired code. The benefits of using a pattern language include a higher level of abstraction in specifying patterns and the power to specify complex patterns which are impossible to express in grep type languages. A system that accepts these patterns and locates code fragments in C source files is described.< >
暂无评论