It is known that code readability has an impact on software quality. This paper introduces a preliminary list of 33 good practices for code readability that could be taught in object oriented programming courses of in...
详细信息
ISBN:
(纸本)9781467386142
It is known that code readability has an impact on software quality. This paper introduces a preliminary list of 33 good practices for code readability that could be taught in object oriented programming courses of informatics programs. In this set are included practices with both positive and negative impact, the latter mainly from bad smells. A survey was made with OOP teachers in order to assess the significance of teaching a set of good practices. The results showed that teachers consider it important to teach the defined set. Such result was statistically significant. Still, the same level of significance was not awarded to all practices. Some additional results are presented.
We study the problem of automatically computing the time complexity of concurrent object-oriented programs. To determine this complexity we use intermediate abstract descriptions that record relevant information for t...
详细信息
ISBN:
(纸本)9783319289342;9783319289335
We study the problem of automatically computing the time complexity of concurrent object-oriented programs. To determine this complexity we use intermediate abstract descriptions that record relevant information for the time analysis (cost of statements, creations of objects, and concurrent operations), called behavioural types. Then, we define a translation function that takes behavioural types and makes the parallelism explicit into so-called cost equations, which are fed to an automatic off-the-shelf solver for obtaining the time complexity.
This paper presents initial ideas for the design and implementation of a reversible object-oriented language based on extending Janus with object-oriented concepts such as classes that encapsulate behavior and state, ...
详细信息
ISBN:
(纸本)9783319405780;9783319405773
This paper presents initial ideas for the design and implementation of a reversible object-oriented language based on extending Janus with object-oriented concepts such as classes that encapsulate behavior and state, inheritance, virtual dispatching, as well as constructors. We show that virtual dispatching is a reversible decision mechanism easily translatable to a standard reversible programming model such as Janus, and we argue that reversible management of state can be accomplished using reversible constructors. The language is implemented in terms of translation to standard Janus programs.
The commission and adaptation of modern automation systems is cost-intensive, error-prone and requires expertise. A large part is attributed to the engineering and programming process of manufacturer-specific componen...
详细信息
ISBN:
(纸本)9781509028702
The commission and adaptation of modern automation systems is cost-intensive, error-prone and requires expertise. A large part is attributed to the engineering and programming process of manufacturer-specific components. Unifying the way of describing and controlling hardware results in a higher flexibility of the utilized hardware. This paper introduces a metamodel which allows a more efficient and flexible engineering of industrial automation systems throughout the system life cycle. The resulting model-based engineering approach utilizes highly abstracted models of automation components stored in the metamodel to form more specific models. By applying inheritance and classes, paradigms of object-orientedprogramming are followed to ensure better re-usability and interchangeability of modeled components. For evaluating the proposed concept the corresponding engineering data model is implemented in AutomationML.
HPC systems are widely used for accelerating calculation-intensive irregular applications, e.g., molecular dynamics (MD) simulations, astrophysics applications, and irregular grid applications. As the scalability and ...
详细信息
ISBN:
(数字)9789811022098
ISBN:
(纸本)9789811022098;9789811022081
HPC systems are widely used for accelerating calculation-intensive irregular applications, e.g., molecular dynamics (MD) simulations, astrophysics applications, and irregular grid applications. As the scalability and complexity of current HPC systems keeps growing, it is difficult to parallelize these applications in an efficient fashion due to irregular communication patterns, load imbalance issues, dynamic characteristics, and many more. This paper presents a fine granular programming scheme, on which programmers are able to implement parallel scientific applications in a fine granular and SPMD (single program multiple data) fashion. Different from current programming models starting from the global data structure, this programming scheme provides a high-level and object-orientedprogramming interface that supports writing applications by focusing on the finest granular elements and their interactions. Its implementation framework takes care of the implementation details e.g., the data partition, automatic EP aggregation, memory management, and data communication. The experimental results on SuperMUC show that the OOP implementations of multi-body and irregular applications have little overhead compared to the manual implementations using C++ with OpenMP or MPI. However, it improves the programming productivity in terms of the source code size, the coding method, and the implementation difficulty.
The field of parallel computing has experienced an increase in the number of computing nodes and parallel computing has widened its application to include computations that have irregular features. Some parallel progr...
详细信息
ISBN:
(纸本)9781509008056
The field of parallel computing has experienced an increase in the number of computing nodes and parallel computing has widened its application to include computations that have irregular features. Some parallel programming languages handle object data structures and offer marshaling/unmarshaling mechanisms to transport them. To manage data elements spread over computing nodes, some research on distributed collections has been conducted. This study proposes a distributed collection library that can handle multiple collections of object elements and change their distributions while maintaining the associativity between their elements. This library is implemented on an object-oriented parallel programming language, X10. We suppose pairs of associative collections such as vehicles and streets in a traffic simulation. When many vehicles are concentrated on streets assigned to certain computing nodes, some of those streets should be moved to other nodes. Our library supports the programmer in easily distributing the associative collections over the computing nodes and re-allocating their elements while maintaining the data sharing relationship among associative elements. The programmer can describe the associativity between objects using both declarative and procedural methods.
A design support system is developed for engineering design based on the ontology which is declarative description conceptualized the world that agents (men and programs) focused on. The design process is understood a...
详细信息
A design support system is developed for engineering design based on the ontology which is declarative description conceptualized the world that agents (men and programs) focused on. The design process is understood as determining the design parameters and their relationships which consists the design model. The meta-model of design model is the ontology which represented as a network in the computer system using the XML. The design model is generated from the meta-model as class in objectoriented language. The system built with the above concept provides the following abilities, 1) declarative description that engineers intend to design, 2) effective entering data into objectoriented model, 3) semantic of design model which focused by numerical simulation and graphics programed with Java. Finally, the system's validity and effectiveness is ascertained by applying it to the basic design of an irrigation pipeline. (C) 2016 The Authors. Published by B.V.
object-sensitivity is regarded as arguably the best context abstraction for pointer analysis in object-oriented languages. However, a k-object-sensitive pointer analysis, which uses a sequence of k allocation sites (a...
详细信息
ISBN:
(纸本)9783662534137;9783662534120
object-sensitivity is regarded as arguably the best context abstraction for pointer analysis in object-oriented languages. However, a k-object-sensitive pointer analysis, which uses a sequence of k allocation sites (as k context elements) to represent a calling context of a method call, may end up using some context elements redundantly without inducing a finer partition of the space of (concrete) calling contexts for the method call. In this paper, we introduce Bean, a general approach for improving the precision of any k-object-sensitive analysis, denoted k-obj, by still using a k-limiting context abstraction. The novelty is to identify allocation sites that are redundant context elements in k-obj from an object Allocation Graph (OAG), which is built based on a pre-analysis (e.g., a context-insensitive Andersen's analysis) performed initially on a program and then avoid them in the subsequent k-object-sensitive analysis for the program. Bean is generally more precise than k-obj, with a precision that is guaranteed to be as good as k-obj in the worst case. We have implemented Bean as an open-source tool and applied it to refine two state-of-the-art whole-program pointer analyses in Doop. For two representative clients (may-alias and may-fail-cast) evaluated on a set of nine large Java programs from the DaCapo benchmark suite, Bean has succeeded in making both analyses more precise for all these benchmarks under each client at only small increases in analysis cost.
Code smells were originally designed for objectoriented code, but in recent years, have been applied to end user languages, including spreadsheets and Yahoo! Pipes. In this paper, we explore code smells in block-base...
详细信息
ISBN:
(纸本)9781509002528
Code smells were originally designed for objectoriented code, but in recent years, have been applied to end user languages, including spreadsheets and Yahoo! Pipes. In this paper, we explore code smells in block-based end-user programming languages aimed at education. Specifically, we explore the occurrence of smells in two educational languages not previously targeted by smell detection and refactoring research: LEGO MINDSTORMS EV3 and Microsoft's Kodu. The results of this exploration show that object-oriented-inspired smells indeed occur in educational end-user languages and are present in 88% and 93% of the EV3 and Kodu programs, respectively. Most commonly we find that programs are plagued with lazy class, duplication, and dead code smells, with duplication smells being present in nearly two-thirds of programs in both languages.
In this era of internet, e-commerce is growing by leaps and bounds keeping the growth of brick-and-mortar businesses in the dust. In many cases, brick-and-mortar businesses are resorting to having a counterpart which ...
详细信息
ISBN:
(纸本)9781467366212
In this era of internet, e-commerce is growing by leaps and bounds keeping the growth of brick-and-mortar businesses in the dust. In many cases, brick-and-mortar businesses are resorting to having a counterpart which is internet or e-commerce driven. People in the developed world and a growing number of people in the developing world now use e-commerce websites on a daily basis to make their everyday purchases. Still the proliferation of e-commerce in the underdeveloped world is not that great and there is a lot to desire for. This paper outlines different aspects of developing an e-commerce website and the optimum solution to the challenges involved in developing one. It consists of the planning process, which starts with determining the use case, domain modeling and architectural pattern of the web application. The entire development process is primarily divided into two parts: the front-end development and the back end development. The database design is also discussed with an emphasis on its relational connectivity. This no-nonsense method of developing an e-commerce website can be easily replicated and followed in developing e-commerce websites in the developing and underdeveloped countries where computing resources are scarce and expensive because of their socio-economic condition.
暂无评论