the increasing popularity of the World Wide Web and the Internet has affected computer assisted learning that is now turning into web-based learning. Web-based learning can take place anywhere, at any time, through an...
详细信息
ISBN:
(纸本)9789634639251
the increasing popularity of the World Wide Web and the Internet has affected computer assisted learning that is now turning into web-based learning. Web-based learning can take place anywhere, at any time, through any computer and without necessarily the presence of human tutor. Mag is a tutor designed to be used by students in their first programming course. It provides three types of learning activity: tutoring, quiz-and-feedback, and on-line programming, to meet the needs of programming course. Student is provided with numerous JSP web pages for learning and testing the gained skills. Mag supports learning by practicing and learning by samples. It combines traditional programming experience with distance education. System provides learner with a more efficient and convenient way of taking a distance Java programming course. this article presents the technical and pedagogical goals of Mag, its principles of design and architecture.
Portable and scalable operating systems must satisfy very different needs on very different hardware architectures. therefore they consist of several modules implementing different functionalities, and the actual syst...
详细信息
ISBN:
(纸本)9789634639251
Portable and scalable operating systems must satisfy very different needs on very different hardware architectures. therefore they consist of several modules implementing different functionalities, and the actual system is composed of a set of these modules. the modules may be very different, e.g. device drivers, security subsystems or user interfaces, but they work in the same computer system using the same hardware and software resources, so they must conform to predefined interfaces to cooperate with each other. However, these interfaces are usually defined to be very restrictive to avoid enormous complexity of the operating system. In this paper we describe a new approach for operating system design that allows modules to be connected through less restrictive interfaces without increasing the complexity of the system. Our suggested solution is the application of the Subject-Oriented, programming [10] where different modules are considered as subjects which work with hardware and software resources as objects. Objects are instances of System Predicate Classes, our new technology for using object-oriented language elements in system programming. We also suggest various techniques for implementation without performance degradation.
Encapsulation is one of the most important features of object-oriented programming. Reducing the interface where software components can communicate with each other increases software quality, security and decreases d...
详细信息
ISBN:
(纸本)9789634639251
Encapsulation is one of the most important features of object-oriented programming. Reducing the interface where software components can communicate with each other increases software quality, security and decreases development cost. Compile time or runtime visibility and access control checking that support encapsulation is the key part of modern languages and runtime environments. they enforce responsibility separation, implementation and security policies. Most modern programminglanguages like C++, C# and Java do not have sophisticated access control mechanisms only introduce a subset or combination of the following access modifiers: public, private, protected, internal, and friend while Eiffel defines sophisticated selective access control called selective export. In this paper first we describe the existing access control features of C++, C#, Java, Eiffel and other popular programminglanguages. After that we show an example where the current access control features of C# (and most object-oriented languages) are insufficient. We introduce a method level access control checking mechanism to C# 3.0 using extension methods which is able to enforce Eiffel-like selective export in runtime. Our implementation does not require the modification of the compiler and the caller, only the callee, and introduces minimal syntactic and performance overhead. It can be a practical solution for modular systems where runtime security is important.
Today as handheld devices (smart phones, PDAs, etc.) are coming to be increasingly popular, the storage capacity becomes more and more important. One way to increase capacity is to optimize static executables on the d...
详细信息
ISBN:
(纸本)9789634639251
Today as handheld devices (smart phones, PDAs, etc.) are coming to be increasingly popular, the storage capacity becomes more and more important. One way to increase capacity is to optimize static executables on the device. this resulted that code-size optimization gets bigger attention nowadays and new techniques are observed, like code factoring which is still under research. GNU GCC as the most common compiler in the open source community has many implemented algorithms for code-size optimization, but currently the compiler is still weak in these methods, which can be turned on using the '-Os' flag. In this article we would like to give an overview about implementing different code factoring algorithms (local factoring, sequence abstraction, interprocedural abstraction) on the IPA, Tree, Tree SSA and RTL passes of GCC. the correctness of the implementation has been checked, and the results were measured on different architectures with GCC's official Code-Size Benchmark Environment (CSiBE) as real-world system. these results showed that on the ARM architecture we could achieve maximum 61.53% and 2.58% average extra code-size saving compared to the '-Os' flag of GCC.
programminglanguages exist to enable programmers to develop software effectively. But how efficiently programmers can write software depends on the usability of the languages and toolsthat they develop with. the aim...
详细信息
Considers the use of various softwaretools to assess the possibility of obtaining indicators of balance reliability. A fairly new high-level, high-performance free programming language with dynamic typing Julia was u...
详细信息
ISBN:
(纸本)9788055333243
Considers the use of various softwaretools to assess the possibility of obtaining indicators of balance reliability. A fairly new high-level, high-performance free programming language with dynamic typing Julia was used as a mathematical programming language. Traditional languages are represented by Fortran. the comparison of the speed of obtaining the result. the pros and cons of using each of the options are considered.
High assurance in embedded system software is difficult to attain. Verification relies on testing. the unreliable and costly testing process is made much worse because the software base constantly changes: Adding a fe...
详细信息
ISBN:
(纸本)9780769530437
High assurance in embedded system software is difficult to attain. Verification relies on testing. the unreliable and costly testing process is made much worse because the software base constantly changes: Adding a feature is by changing the code of other features, and the programs of the features entangle in the same reusable program unit of the programming language. For a large class of applications, including those requiring exception handling, this entanglement problem cannot be solved using existing general purpose programminglanguages. the Feature Language Extensions (FLX) is a set of language constructs designed to enable the programmer to solve the entanglement problem. It provides language support for assertion based verification. the satisfiability of first order assertions composed of variables defined by FLX can be determined without iterations of trials and errors. An executable FLX program is compiled into a finite state machine even if the state variables are unbounded.
the proceedings contain 14 papers. the topics discussed include: automatic performance programming?;mind your language: on novices' interactions with error messages;automated program verification made SYMPLAR: SYM...
ISBN:
(纸本)9781450309417
the proceedings contain 14 papers. the topics discussed include: automatic performance programming?;mind your language: on novices' interactions with error messages;automated program verification made SYMPLAR: SYMbolic permissions for lightweight automated reasoning;naturalistic types;TouchDevelop: programming cloud-connected mobile devices via touchscreen;coding at the speed of touch;emerson: accessible scripting for applications in an extensible virtual world;a literate experimentation manifesto;presenting a day in the life of video-based requirements engineering;the intuitive control of smart home and office environments;and evaluation and usability of programminglanguages and tools (PLATEAU).
this book constitutes the thoroughly refereed post-workshop proceedings of 10 internationl workshops and 2 symposia held as satellite events of the 10th International Conference on Model Driven Engineering languages a...
详细信息
ISBN:
(数字)9783540690733
ISBN:
(纸本)9783540690696
this book constitutes the thoroughly refereed post-workshop proceedings of 10 internationl workshops and 2 symposia held as satellite events of the 10th International Conference on Model Driven Engineering languages and Systems, MoDELS 2007, in Nashville, TN, USA, in September/October 2007 (see LNCS 4735). the 29 revised full papers were carefully selected for inclusion in the book and are presented along with a doctoral and an educators' symposium section. the papers are organized in topical sections representing the various workshops: aspect-oriented modeling (AOM 2007), language engineering (ATEM2007), model driven development of advanced user interfaces (MDDAUI 2007), model size metrics (MSM 2007), model-based design of trustworthy health information systems (MOthIS 2007), model-driven engineering, verification and validation (MoDeVVa 2007), modelling systems with OCL (Ocl4All 2007), Models@***, multi-paradigm modeling: concepts and tools (MPM 2007), quality in modeling, doctoral symposium, and educators' symposium.
Assembling a large system from its component elements is not a simple task. An adequate notation for specifying this task must reflect the system structure, accommodate many configurations of the system and many versi...
详细信息
ISBN:
(纸本)0897910907
Assembling a large system from its component elements is not a simple task. An adequate notation for specifying this task must reflect the system structure, accommodate many configurations of the system and many versions as it develops, and be a suitable input to the many toolsthat support software development. the language described here applies the ideas of λ-abstraction, hierarchical naming and type-checking to this problem. Some preliminary experience with its use is also given.
暂无评论