Abstract: Interoperability in distributed systems is an important feature that refers to the communication of two applications written in different programming languages. This paper presents a serializer and a de-serializer of PHP objects to and from XML, which is an independent library written in the PHP programming language. The XML generated by this serializer is independent of the programming language, and can be used by other existing Web Objects in XML (WOX) serializers and de-serializers, which allow interoperability with other object-oriented programming languages.
Abstract: Teaching Object-Oriented Programming (OOP) as part of a Computing-related university degree is a very difficult task; the road to ensuring that students are actually learning object oriented concepts is unclear, as students often find it difficult to understand the concept of objects and their behavior. This problem is especially obvious in advanced programming modules where Design Pattern and advanced programming features such as Multi-threading and animated GUI are introduced. Looking at the students’ performance at their final year on a university course, it was obvious that the level of students’ understanding of OOP varies to a high degree from one student to another. Students who aim at the production of Games do very well in the advanced programming module. However, the students’ assessment results of the last few years were relatively low; for example, in 2016-2017, the first quartile of marks were as low as 24.5 and the third quartile was 63.5. It is obvious that many students were not confident or competent enough in their programming skills. In this paper, the reasons behind poor performance in Advanced OOP modules are investigated, and a suggested practice for teaching OOP based on a complex case study is described and evaluated.
Abstract: In the present case study we examined the development and testing methods of systems that contain safety-critical elements in different industrial fields. Consequentially, we observed the classical object-oriented development and testing environment, as both medical technology and automobile industry approaches the development of safety critical elements that way. Subsequently, we examined model-based development. We introduce the quality parameters that define development and testing. While taking modern agile methodology (scrum) into consideration, we examined whether and to what extent the methodologies we found fit into this environment.
Abstract: Object-oriented modeling is spreading in current
simulation of physiological systems through the use of the individual
components of the model and its interconnections to define the
underlying dynamic equations. In this paper we describe the use of
both the SIMSCAPE and MODELICA simulation environments in
the object-oriented modeling of the closed loop cardiovascular
system. The performance of the controlled system was analyzed by
simulation in light of the existing hypothesis and validation tests
previously performed with physiological data. The described
approach represents a valuable tool in the teaching of physiology for
graduate medical students.
Abstract: It is necessary to manage the fatigue crack growth (FCG) once those cracks are detected during in-service inspections. In this paper, a simulation program (FCG-System) is developed utilizing the commercial software ABAQUS with its object-oriented programming interface to simulate the fatigue crack path and to compute the corresponding fatigue life. In order to apply FCG-System in large-scale marine structures, the substructure modeling technique is integrated in the system under the consideration of structural details and load shedding during crack growth. Based on the nodal forces and nodal displacements obtained from finite element analysis, a formula for shell elements to compute stress intensity factors is proposed in the view of virtual crack closure technique. The cracks initiating from the intersection of flange and the end of the web-stiffener are investigated for fatigue crack paths and growth lives under water pressure loading and axial force loading, separately. It is found that the FCG-System developed by authors could be an efficient tool to perform fatigue crack growth analysis on marine structures.
Abstract: In this paper, we describe a rule-based message passing method to support developing collaborative applications, in which multiple users share resources in distributed environments. Message communications of applications in collaborative environments tend to be very complex because of the necessity to manage context situations such as sharing events, access controlling of users, and network places. In this paper, we propose a message communications method based on unification of artificial intelligence and logic programming for defining rules of such context information in a procedural object-oriented programming language. We also present an implementation of the method as java classes.
Abstract: Low power consumption is a major constraint for battery-powered system like computer notebook or PDA. In the past, specialists usually designed both specific optimized equipments and codes to relief this concern. Doing like this could work for quite a long time, however, in this era, there is another significant restraint, the time to market. To be able to serve along the power constraint while can launch products in shorter production period, objectoriented programming (OOP) has stepped in to this field. Though everyone knows that OOP has quite much more overhead than assembly and procedural languages, development trend still heads to this new world, which contradicts with the target of low power consumption. Most of the prior power related software researches reported that OOP consumed much resource, however, as industry had to accept it due to business reasons, up to now, no papers yet had mentioned about how to choose the best OOP practice in this power limited boundary. This article is the pioneer that tries to specify and propose the optimized strategy in writing OOP software under energy concerned environment, based on quantitative real results. The language chosen for studying is C# based on .NET Framework 2.0 which is one of the trendy OOP development environments. The recommendation gotten from this research would be a good roadmap that can help developers in coding that well balances between time to market and time of battery.
Abstract: Design Patterns have gained more and more
acceptances since their emerging in software development world last
decade and become another de facto standard of essential knowledge
for Object-Oriented Programming developers nowadays.
Their target usage, from the beginning, was for regular computers,
so, minimizing power consumption had never been a concern.
However, in this decade, demands of more complicated software for
running on mobile devices has grown rapidly as the much higher
performance portable gadgets have been supplied to the market
continuously. To get along with time to market that is business
reason, the section of software development for power conscious,
battery, devices has shifted itself from using specific low-level
languages to higher level ones. Currently, complicated software
running on mobile devices are often developed by high level
languages those support OOP concepts. These cause the trend of
embracing Design Patterns to mobile world.
However, using Design Patterns directly in software development
for power conscious systems is not recommended because they were
not originally designed for such environment. This paper
demonstrates the adapted Design Pattern for power limitation system.
Because there are numerous original design patterns, it is not possible
to mention the whole at once. So, this paper focuses only in creating
Energy Conscious version of existing regular "Builder Pattern" to be
appropriated for developing low power consumption software.
Abstract: The most influential programming paradigm today
is object oriented (OO) programming and it is widely used in
education and industry. Recognizing the importance of equipping
students with OO knowledge and skills, it is not surprising that most
Computer Science degree programs offer OO-related courses. How
do we assess whether the students have acquired the right objectoriented
skills after they have completed their OO courses? What are
object oriented skills? Currently none of the current assessment
techniques would be able to provide this answer. Traditional forms of
OO programming assessment provide a ways for assigning numerical
scores to determine letter grades. But this rarely reveals information
about how students actually understand OO concept. It appears
reasonable that a better understanding of how to define and assess
OO skills is needed by developing a criterion referenced model. It is
even critical in the context of Malaysia where there is currently a
growing concern over the level of competency of Malaysian IT
graduates in object oriented programming. This paper discussed the
approach used to develop the criterion-referenced assessment model.
The model can serve as a guideline when conducting OO
programming assessment as mentioned. The proposed model is
derived by using Goal Questions Metrics methodology, which helps
formulate the metrics of interest. It concluded with a few suggestions
for further study.
Abstract: Concurrency and synchronization are becoming big
issues as every new PC comes with multi-core processors. A major
reason for Object-Oriented Programming originally was to enable
easier reuse: encode your algorithm into a class and thoroughly
debug it, then you can reuse the class again and again. However,
when we get to concurrency and synchronization, this is often not
possible. Thread-safety issues means that synchronization constructs
need to be entangled into every class involved. We contributed a
detailed literature review of issues and challenges in concurrent
programming and present a methodology that uses the Aspect-
Oriented paradigm to address this problem. Aspects will allow us to
extract the synchronization concerns as schemes to be “weaved in"
later into the main code. This allows the aspects to be separately
tested and verified. Hence, the functional components can be weaved
with reusable synchronization schemes that are robust and scalable.
Abstract: In this paper we present a way of controlling the
concurrent access to data in a distributed application using the
Pessimistic Offline Lock design pattern. In our case, the application
processes a complex entity, which contains in a hierarchical structure
different other entities (objects). It will be shown how the complex
entity and the contained entities must be locked in order to control
the concurrent access to data.
Abstract: Object-oriented programming is a wonderful way to
make programming of huge real life tasks much easier than by using
procedural languages. In order to teach those ideas to students, it
is important to find a good task that shows the advantages of OOprogramming
very naturally. This paper gives an example, the game
Battleship, which seems to work excellent for teaching the OO ideas
(using Java, [1], [2], [3], [4]).
A three-step task is presented for how to teach OO-programming
using just one example suitable to convey many of the OO ideas.
Observations are given at the end and conclusions about how the
whole teaching course worked out.
Abstract: In this study we present our developed formative
assessment tool for students' assignments. The tool enables lecturers
to define assignments for the course and assign each problem in each
assignment a list of criteria and weights by which the students' work
is evaluated. During assessment, the lecturers feed the scores for each
criterion with justifications. When the scores of the current
assignment are completely fed in, the tool automatically generates
reports for both students and lecturers. The students receive a report
by email including detailed description of their assessed work, their
relative score and their progress across the criteria along the course
timeline. This information is presented via charts generated
automatically by the tool based on the scores fed in. The lecturers
receive a report that includes summative (e.g., averages, standard
deviations) and detailed (e.g., histogram) data of the current
assignment. This information enables the lecturers to follow the class
achievements and adjust the learning process accordingly. The tool
was examined on two pilot groups of college students that study a
course in (1) Object-Oriented Programming (2) Plane Geometry.
Results reveal that most of the students were satisfied with the
assessment process and the reports produced by the tool. The
lecturers who used the tool were also satisfied with the reports and
their contribution to the learning process.
Abstract: 2007 is a jubilee year: in 1967, programming language SIMULA 67 was presented, which contained all aspects of what was later called object-oriented programming. The present paper contains a description of the development unto the objectoriented programming, the role of simulation in this development and other tools that appeared in SIMULA 67 and that are nowadays called super-object-oriented programming.