Simulations offer an engaging way to learn about decomposition of complex systems. Here I describe a project where the goal is to build a simulation of an ant colony consisting of five different ant behaviors in a 2D ...
详细信息
ISBN:
(纸本)9781450318686
Simulations offer an engaging way to learn about decomposition of complex systems. Here I describe a project where the goal is to build a simulation of an ant colony consisting of five different ant behaviors in a 2D environment. Students design and build their simulations with no code provided except for the required GUI. Design issues include choice of appropriate data structures; traversal issues; and using inheritance to model ant behaviors. Students also learn about emergence, as characterized by the development of organized foraging trails by ants that respond only to their immediate surroundings. The visualization requirement enables students to quickly determine whether or not requirements have been met, and provides a way to rapidly grade a moderately large and complex assignment.
In a repetitive transaction object-oriented system, a trade-off for an access control mechanism is accomplished in satisfying both the requirements of user friendliness and system performance. Since access control in ...
详细信息
In a repetitive transaction object-oriented system, a trade-off for an access control mechanism is accomplished in satisfying both the requirements of user friendliness and system performance. Since access control in object-oriented systems is applied to individual methods of individual objects, hence the overhead is extremely large because a check is done on every method invocation. To properly solve the two requirements above, we present a design with the following main features : (1) the whole environment is a central controlled, opened, object-oriented system with discretionary access control, and is trying to satisfy both hierarchical and non-hierarchical control requirements. (2) a rule-based method is provided for user to describe their access control policies (3). After a series of transformation and optimization processes, the access control policies are translated into access control list table with one to one mapping between resource object id's and user id's. (4) finally, because an ACL table is maintained in main memory for each user who repetitively use resource objects in the system, there is only zero or one disk access needed per one access authorization check. A theoretical analysis of the time complexity of this design has been made, and we have implemented it by using high speed workstation, UNIX, C++ and C-ISAM.< >
This paper deals first with the results of training students in computer simulation at the Computer Science Department of the University of Ostrava during the last 15 years. Education and training in computer simulati...
详细信息
ISBN:
(纸本)9789549641387
This paper deals first with the results of training students in computer simulation at the Computer Science Department of the University of Ostrava during the last 15 years. Education and training in computer simulation are based on an obligatory course of SIMULA taking two semesters. The special attention is paid to implementing nested (especially reflective) simulation models of production and logistic systems for enterprises and institutions outside educational system.
Designing and programming require several types of knowledge. Beside conceptual knowledge, procedural knowledge is of importance. Procedural knowledge, however, is often missed in courses about software design and imp...
详细信息
ISBN:
(纸本)9781450348362
Designing and programming require several types of knowledge. Beside conceptual knowledge, procedural knowledge is of importance. Procedural knowledge, however, is often missed in courses about software design and implementation. As a consequence, students can easily be stuck and do not know how to *** software engineering as a complex task, the didactic approach 4C/ID is applicable. This approach prescribes that besides mental models, cognitive strategies should be learned, consisting of overall steps and rules and procedures per step. As an example, a procedure for designing and programming a concurrent program is briefly described. This procedure will scaffffold studentfis learning of concurrency concepts and their application.
Despite the many integration tools proposed for mapping between OWL ontologies and the object-oriented paradigm, developers are still reluctant to incorporate ontologies into their code repositories. In this paper we ...
详细信息
Despite the many integration tools proposed for mapping between OWL ontologies and the object-oriented paradigm, developers are still reluctant to incorporate ontologies into their code repositories. In this paper we survey existing approaches for OWL-to-OOP mapping trying to identify reasons for this shy adoption of ontologies among conventional software developers. We present a classification of the surveyed approaches and tools based on their technical characteristics and their resulting artifacts. We discuss further potential reasons beyond what have been addressed in the literature before finally providing our own reflection and outlook.
In traditional object-oriented languages, the dynamic dispatch algorithm is hardwired: for every polymorphic call, only the most specific method is used. Clos, the Common Lisp object System, goes beyond the traditiona...
详细信息
ISBN:
(纸本)9782955747421
In traditional object-oriented languages, the dynamic dispatch algorithm is hardwired: for every polymorphic call, only the most specific method is used. Clos, the Common Lisp object System, goes beyond the traditional approach by providing an abstraction known as method combinations: when several methods are applicable, it is possible to select several of them, decide in which order they will be called, and how to combine their results, essentially making the dynamic dispatch algorithm user-programmable. Although a powerful abstraction, method combinations are under-specified in the Common Lisp standard, and the Mop, the Meta-object Protocol underlying many implementations of Clos, worsens the situation by either contradicting it or providing unclear protocols. As a consequence, too much freedom is granted to conforming implementations. The exact or intended behavior of method combinations is unclear and not necessarily coherent with the rest of Clos. In this paper, we provide a detailed analysis of the problems posed by method combinations, the consequences of their lack of proper specification in one particular implementation, and a Mop-based extension called method combinators, aiming at correcting these problems and possibly offer new functionality.
This paper presents a methodology for extracting objects from legacy imperative code. The parameter-based object identification (PBOI) methodology is based on the thesis that object attributes manifest themselves as d...
详细信息
ISBN:
(纸本)9780818679612
This paper presents a methodology for extracting objects from legacy imperative code. The parameter-based object identification (PBOI) methodology is based on the thesis that object attributes manifest themselves as data items passed from subprogram to subprogram in the imperative paradigm. A taxonomy of imperative subprograms is presented and the PBOI methodology is defined. Several examples are provided.
It is shown that the knowledge formation taking place in strategic management processes can be adequately represented and formalised with a methodology which combines elements from systems and hyperknowledge theory. T...
详细信息
It is shown that the knowledge formation taking place in strategic management processes can be adequately represented and formalised with a methodology which combines elements from systems and hyperknowledge theory. This methodology is used to build a mathematical systems model of strategic management, and to construct a management support system, which is a hybrid of an object-oriented expert system and a hyperknowledge support system. It is also shown that a systematic knowledge base can be built for strategic management and that knowledge-based systems, as management support systems, can have a significant impact on strategic management. These results are based on an implementation of a prototype of the hybrid system in 12 profit centers in two major forest industry corporations.< >
Control software and platforms for single or cooperative robots are highly complicated because they coordinate and administer the interaction of a variety of distributed and heterogeneous hardware and software compone...
详细信息
ISBN:
(纸本)9781509007943
Control software and platforms for single or cooperative robots are highly complicated because they coordinate and administer the interaction of a variety of distributed and heterogeneous hardware and software components in a dynamic world. While most of such systems built on some uniform middleware or control system for all distributed nodes which come with restrictions in flexibility on several levels, we aim at a more flexible and open architecture of autonomous components in the style of IoT. In this paper, we introduce a platform independent robotics framework based on an IoT technology and protocols. We compare our architecture with other recent approaches and according to fundamental criteria, we discuss advantages and drawbacks.
Context. Features and styles inspired by functional programming have grown in popularity in the world of object-oriented programming. Immutability is a core concept of functional programming, which brings advantages t...
详细信息
ISBN:
(纸本)9798400700408
Context. Features and styles inspired by functional programming have grown in popularity in the world of object-oriented programming. Immutability is a core concept of functional programming, which brings advantages to software development. However, introducing immutability in object-oriented programming presents some challenges. Problem. One of these challenges is method overriding. When inheriting non-destructive mutators (methods used on immutable objects which return a new object instead of modifying the receiver), a naive approach generates code duplication and has scalability issues. Contribution. We analyse an example of this overriding problem and propose a solution in a new design pattern based on the factory method pattern. We also discuss the advantages and limitations of this pattern, as well as implementations in Clojure, Java, and Kotlin. We also identify and discuss the language features that mostly affect the implementation of this pattern. Conclusion. Our proposed design pattern helps mitigate some of the code duplication and scalability problems of a naive approach. However, the inclusion of a functional updating language feature is required to completely remove the scalability issues.
暂无评论