ACM guidelines suggest that the introductory computer science sequence can be split into three courses, either to introduce more topics, or to cover topics in more depth. We have been applying the second approach for ...
详细信息
ACM guidelines suggest that the introductory computer science sequence can be split into three courses, either to introduce more topics, or to cover topics in more depth. We have been applying the second approach for several years. We have found that covering introductory topics in depth greatly reduces the failure rate in upper level courses. We feel that without a minimal level of programming expertise, and the intuition that comes with it, students will have difficulty grasping the advanced concepts, and completing the large software projects, introduced in upper level courses. Our introductory courses therefore stress programming experience, problem-solving skills, object-oriented design, and software engineering principles. Our goal is not to weed out weaker students, but to allow them overcome their weaknesses early in the degree program. An important objective for all three courses is to insure that each introductory class prepares students for the next introductory class. This paper discusses the topics covered in each of the three introductory courses, including sample programming projects designed to give students the tools they need to succeed in upper level courses.
In this paper, we show how elaborate support for framework-based software evolution can be provided based on explicit documentation of the hot spots of object-oriented application frameworks. Such support includes hig...
详细信息
In this paper, we show how elaborate support for framework-based software evolution can be provided based on explicit documentation of the hot spots of object-oriented application frameworks. Such support includes high-level transformations that guide a developer when instantiating applications from a framework by propagating the necessary changes, as well as application upgrading facilities based on these transformations. The approach relies on active declarative documentation of the design and evolution of the framework's hot spots, by means of metapatterns and their associated transformations.
We integrate ontology languages and logic programming (LP) by extending disjunctive logic programs (DLPs) and their semantics in order to support inverses and an infinite universe, without introducing function symbols...
详细信息
We integrate ontology languages and logic programming (LP) by extending disjunctive logic programs (DLPs) and their semantics in order to support inverses and an infinite universe, without introducing function symbols. We show that this extension is still decidable, and can be used to simulate, on the one hand, answer set programming with a finite universe, and on the other hand, several expressive description logics (DLs), which can be seen as ontology languages. The integration leads to a "best of both worlds": from the LP side it inherits a flexible and intuitive representation of knowledge, whereas the DLs side provides the possibility to represent infinite knowledge.
A great challenge for modern systems theory is the design of controllers for continuous systems but with logical specifications. In this paper, we are interested in developing algorithmic methods which given a discret...
详细信息
A great challenge for modern systems theory is the design of controllers for continuous systems but with logical specifications. In this paper, we are interested in developing algorithmic methods which given a discrete-time controllable linear system and a discrete specification (in the form of a finite transition system or a temporal logic formula), automatically design controllers resulting in desired, closed-loop behavior. This can be achieved using a natural approach involving three steps. In the first step, given a controllable linear system and discrete specification, we extract a finite transition system model which is equivalent (bisimilar) to the continuous system. The second step solves the controller synthesis problem for finite transition systems using well known and well developed algorithms. The third step, which is the focus of this paper, refines the discrete controller of the finite transition system, to a (necessarily) hybrid controller for the original continuous system. The hybrid controller composed with the continuous plant results in a closed-loop hybrid system that, by construction, satisfies the desired, discrete specification.
This paper introduces an object-passing model for parallel and distributed application development. Object passing provides the object-oriented application developer with powerful yet simple methods to distribute and ...
详细信息
This paper introduces an object-passing model for parallel and distributed application development. Object passing provides the object-oriented application developer with powerful yet simple methods to distribute and exchange data and logic (objects) among processes. The model extends message passing, while exploiting the advantages of the object-oriented paradigm. In addition, the model provides a portable framework for executing applications across multiple platforms, thus effectively exploiting available resources to gain more processing power. A number of advantages aspects adopting object passing are discussed, in addition to highlighting the differences between message passing, represented by MPI, and object passing. Another advantage is the model's suitability for heterogeneous systems. When implemented with a portable language like Java, it can support parallel and distributed applications spanning a collection of heterogeneous platforms. This form of execution will eventually allow for full utilization of available resources for any given application written using this model.
Formal verification is the task of proving that a property holds for a model of a design. This paper examines the idea of a Neural Network-based algorithm used to find the set of states that makes a specification vali...
详细信息
Formal verification is the task of proving that a property holds for a model of a design. This paper examines the idea of a Neural Network-based algorithm used to find the set of states that makes a specification valid. The paper addresses a singular approach for those doing theoretical research for the verification of soft programs, and, for hardware designers. The approach of the application of the Artificial Neural Network is not new, but it becomes interesting if one can improve the truth-building efficiency by using some known artifices. Topics described include Integer Linear programming, Propositional logic, Model Checking, Satisfiability problems (SAT) and Artificial Neural Networks (ANN).
We propose LicenseScript as a new multiset rewriting/logic based language for expressing dynamic conditions of use of digital assets such as music, video or private data. LicenseScript differs from other rights expres...
详细信息
We propose LicenseScript as a new multiset rewriting/logic based language for expressing dynamic conditions of use of digital assets such as music, video or private data. LicenseScript differs from other rights expression languages in that it caters for the intentional but legal manipulation of data. We believe this feature is the answer to providing the flexibility needed to support emerging usage paradigms of digital data. We provide the language with a simple semantics based on traces.
Building large software systems out of existing software components can save time and cost. These software components range from architectural and design components in different phases of software development. Compone...
详细信息
Building large software systems out of existing software components can save time and cost. These software components range from architectural and design components in different phases of software development. Component technologies lead to increasing productivity and flexibility. However, it also introduces significant problems in ensuring the integrity and reliability of these composed systems because of their complex software topologies, interactions, and transactions. In this paper, we concentrate on the pattern-based design components and their compositions, which are captured as contracts through a composition theory. More specifically, design component contract is defined based on process calculus and logic programming; the properties that related to the design component contract are captured, and tools are used to automatically verify these properties. This research will enhance the capabilities of formal system modeling and analysis by providing a rigorous basis for high-assurance integration of diverse pattern-based components.
We present an adaptive hypermedia architecture based on Golog and conceptual graphs. We propose a conceptual graph model for the description of the hypermedia structure and the use of Golog, a logic programming langua...
详细信息
We present an adaptive hypermedia architecture based on Golog and conceptual graphs. We propose a conceptual graph model for the description of the hypermedia structure and the use of Golog, a logic programming language, for the generation of the personalized hypermedia. This approach has been validated by a prototype and two examples based on different domains.
A number of ontology based systems have been developed that support typical knowledge management tasks. At the moment almost all of these systems, however, rely on a number of assumptions about the nature of environme...
详细信息
A number of ontology based systems have been developed that support typical knowledge management tasks. At the moment almost all of these systems, however, rely on a number of assumptions about the nature of environment they are used in. In such an environment, a number of problems occur when trying to use ontology-based information and these are the following (1) changing information is the change in the set of information that should be accessible using an ontology; (2) changing ontologies are changes in the ontologies used to access information; and (3) changing sources or change of information sources making it impossible to establish a centralized ontology infrastructure that supports information sharing.
暂无评论