Jozef
Goetz, Ph.D.
e-mail: jgoetz@ulv.edu
REFEREED SELECTED AUTHORED OR CO-AUTHORED ARTICLES
1.
Using Petri Nets to Introduce Multithreading
Concepts in C#, to be
published by ATINER, submitted 10-2009.
- In this paper we illustrate graphical
aspects of Petri nets as lecture and textbook tools for introducing a multithreading concept in C#. Petri
nets serve as valuable pedagogical tools and visual communication aids for
both the instructor and the students. Students can visualize structure and
behavior of modeled systems and gain intuitive understanding of a problem
through the use of Petri nets.
The focus
of the paper is to illustrate how to
model the different multiple aspects of concurrent threads (such as multithreading
constructs, synchronization, race conditions, lost signals and deadlocks)
using Petri nets. One of our examples is a model of a producer and a
consumer accessing a shared cell of memory with synchronization. However, if
two threads operate at different speeds, one will spend more of its time waiting.
This situation can be improved by sharing the buffer with synchronization as
illustrated in our second model of the producer and the consumer. Finally a
general model of m producers and n consumers and the corresponding results of
program written in C# are elaborated. In
our approach we use Petri nets to represent the key elements of interactions
among threads to identify potential problems such as race conditions, lost
signals and deadlocks.
2. WEBCRM Application Generator, Proceedings of the 2007 International Conference on Internet Computing,
World Congress in Computer Science,
Computer Engineering, and Applied Computing (WORLDCOMP'07), Las Vegas,
USA, ISBN: 1-60132-044-2,
2007, 29-35.
- WebCRM is a Web-based CRM (Customer Relationship
Management) application whose task is to help an enterprise manage
customer relationships in an organized and efficient manner using Internet
capabilities. We built a working prototype of WebCRM
system that is based on a Dynamic Framework written in ASP.NET (Active
Server Page for .NET platform) which enables the generation of GUI
(Graphical User Interface) on the fly based on the logged in user's
privileges. The GUI layout is rendered by reading meta-data stored in the
database and creating GUI elements according to an administrator's set
permissions. The framework renders navigation tabs, tables, and form
controls in real-time without the need to compile or redeploy source code
files. The system designed by authors enables hosting of multiple
enterprises in a single database. Modifications to the GUI are customer
specific and can be made in real-time by end-users without ASP.NET
knowledge.& Applied
Computing
3. E-Commerce
Technology Comparison: ASP.NET vs. Ajax, Current Computing Developments in E-Commerce, Security, HCI, DB,
Collaborative and Cooperative Systems, Petratos,
P. (Ed.), published by ATINER,
ISBN: 960-6672-07-7,
2006, 471-488.
- ASP.NET and Ajax are two
of the most dynamic technologies in today’s (2006) web development
world. This paper takes a look at these technologies, and what
performance benefits can be attained by using them together. The
main objective of this project is to integrate Ajax.NET into the ASP.NET
Commerce Starter Kit Shopping Cart, and observe the performance difference
between the original ASP.NET implementation, and the Ajax.NET enhanced
implementation. Ajax.NET is currently one of the most well-known and
supported Ajax frameworks. A
performance analysis based on Page Load times, as well as LOC (Lines of
Code) analysis is conducted.
4. E-Learning: Personalization and
Collaboration Solution, Current Computing Developments in E-Commerce,
Security, HCI, DB, Collaborative and Cooperative Systems,
Petratos, P. (Ed.), published by ATINER, ISBN: 960-6672-07-7, 2006, 303-320.
- The
complexity of the tools and technologies that are available for web
publishing continues to pose problems for all the participants in the web
based learning process: students, instructors, and web developers
alike. Many of these problems are derived from the inability to
bring all the views together under a unifying model that would satisfy the
needs of all the parties involved in e-learning. The solution implemented
here is one of smaller scale but nonetheless important and addresses two
important features of e-learning, personalization and collaboration.
At the conceptual level, personalization and collaboration offer students
the needed atmosphere for healthy interactions, and at the same time, give
the instructor the tools to customize the level of personalization and
monitor the collaboration all in one relatively simple interface. At the
implementation level, the solution aims toward a higher degree of modularization
for Microsoft platform, which has a wide range of applicability.
5. Kowalski, K., Goetz, J. & Alam,
M. Intelligent
On-line Advising with Expert System Shell, in T. Reeves &
S. Yamashita (Eds.), Proceedings of World Conference on E-Learning in
Corporate, Government, Healthcare, and Higher Education (E-LEARN), AACE
, Honolulu,
Hawaii, USA 2006, 687-694.
- On-line
academic advising is an integral part of web-mediated teaching and
learning that has become popular among colleges and universities around
the world. Such on-line academic advising can also complement traditional
teaching environment. WWW delivered advising system has been described in
this paper. It has been developed using Exsys
CORVID™ professional expert system shell for its capabilities related to
system development and product deployment. Advising website delivers
decision making knowledge and customized recommendations to students
through an interactive interface. The system interacts with students by
emulating conversation with human advisor. Exsys
CORVID’s user interface features are used to collect student’s data and to
display the result of the application of knowledge base to user input
data.
6. Kowalski, K., Goetz, J. Online Examinations with Expert
System Shells, in Richards, G. (Ed.), Proceedings
of World Conference on E-Learning in Corporate, Government,
Healthcare, and Higher Education (E-Learn), AACE , Chesapeake,
Vancouver BC,
Canada, Oct 24-28, 2005, 844-849.
- An
important part of the learning process is an assessment of student
progress. It is particularly challenging in web-based teaching.
Online examinations are one of the forms of assessment. There are several
implementation technologies for on line examinations. However, for the
first time in the literature we will present in this paper an application
of expert system shell for on-line examination. Application of
commercially available expert system shells allow on-line examinations
contents providers to focus on creating effective assessment questions
using technology rather than focusing on the technology itself. In the
paper we present implementation of forced-answered testing methods as
knowledge-based rules. This technology is useful in formative
assessments, where students get instant feedback on their answers.
7. Using Petri Nets to Introduce Deadlock Concepts, Computer
Science and Information Systems, published by ATINER, ISBN: 960-88672-3-1,
2005, 351-366.
- In
this paper we illustrate graphical aspects of Petri nets as lecture and
textbook tools for introducing computer science concepts is given. Petri
nets serve as a valuable pedagogical tool and visual communication aid for
both the instructor and the students. Students can visualize structure and
behavior of modeled systems and gain intuitive understanding of a problem.
The explicit flow of tokens greatly enhances the understanding of the
dynamic aspects of many concepts, especially those such as the deadlocks, interprocess communication, concurrency, mutual
exclusion, producer /consumer, dining philosopher, readers/writers,
sleeping barber, multithreading, software agent, Web services and protocol
concepts.
The focus of the paper is to
illustrate how Petri nets, how they work and how to model different deadlock
aspects of concurrent processes of systems. Examples of models for the
concept of deadlocks, the deadlock detection/prevention, the resource
allocation and database access are shown. They are applied to operating
systems, computer networks, Web services flow, database systems etc.
8. Validating E-Commerce Solutions, Computer Science and
Information Systems, published by ATINER, ISBN: 960-88672-3-1, 2005, 221- 236.
- There
are many different technologies available for use in e-commerce
applications today. We constructed three comparable solutions based
on distinct technologies that included both open sources and commercial
software. The paper concentrates on validating and comparing three
different e-commerce solutions using the performance, computation speed
and development effort criteria. Performance was measured in terms of how
much time it took to process a page, with its associated code. We also
measured the computation speed based on how many Lines Of Code (LOC) were
executed divided by the time needed to process the page. The development
effort was measured in each implementation using LOC count. The three
implementations used different combinations of PHP or ASP.NET, combined
with MySQL or SQL 2000, running on IIS or
Apache, on either Windows XP or Red Hat Linux. The two templates used for
the implementations are the Commerce Starter Kit, available from the
ASP.NET website, and the osCommerce solution,
available from the OSCommerce website. The
templates were modified to make them functionally equivalent before
conducting performance testing and comparison.
9. Developing and validating XML Web services within
distributed and heterogeneous environment, Proc. of
the 24th International
Scientific
School
on Information Systems Applications and Technology ISAT 2003, Wroclaw University of Technology Press, ISBN
83-7085-721-3, September 2003, 108-115.
- XML
Web Services on two dominant software platforms: Microsoft .NET and SUN
J2EE were developed. In order to invoke those Web Services an E-commerce
Website (Video online store) as a client application was developed. The
performance and as well the coding size of the above mentioned Web Services
platforms were compared.
10. Evaluation 0n 3G wireless device application running
under J2ME versus BREW, Proc. of the 24th
International Scientific School on Information Systems Applications and
Technology ISAT 2003, September 2003. Wroclaw
University of Technology Press, ISBN 83-7085-721-3, September
2003, 146-153.
- The
paper present the similarities and key differences between J2ME and
BREW by doing a series of benchmark tests to evaluate their
performance. The Taylorbench as J2ME
platform standard was chosen.. The BREWbench was
designed and implemented according to the Taylorbench.
Both of the benchmarks were tested on target mobile devices with a CDMA
MSM 6100 chipset.
11. Model of Concurrent Process
Synchronization Using Petri Nets, Systems-Analysis-Modeling-Simulation,
No 7, 1989, 539-543.
- In
the paper a model of concurrent process using various codes of programs
under resources constrains is presented.
The extension algorithm of a given concurrent system in such a way that
each strategy of resource allocation guarantees that the extended system
is deadlock free is found. The proof of correctness of this
algorithm is given.
12. Software for Teaching of Petri
Nets, Papers of Telecommunication Institute of Wroclaw
Technical University,
No 60, Software in Education. VIII-th International
Summer School of Computer Science Application, Szklarska Poreba, 1988,
30-33.
13. Technique of Performance
Estimation of Structured Programs Using Petri Nets, V Computer Science
National Conference, Poznan, 1987, 123-127.
- The
paper presents a technique of performance estimation of any structured
programs. Programs are modeled by Petri nets labeled with key words
of statements and a time delay of particular operations. The
resulting formula after all reductions gives the software engineer
parametric equation that can be used to make performance improvements.
14. Model of Concurrent Processes Synchronization with
Unreliable Resources, Proceedings of Fourth International Conference on
Reliability, Exploitation of Computer System, Ksiaz,
Poland, 1987.
- In
the paper a model of concurrent processes operating under the conditions
of limited resources is presented.
Various kinds of unreliable resources can be used for realizing of each of
the operations of the process. The model presented in this
paper describes the mechanisms of synchronizing the
process in such a way that the system is deadlock free even after the
failure of any of the resources at the same time leaving at least one unit
or resources for each kind of the resources.
15. Modeling Scheduling Problems Using Petri Nets, Sci.
Papers of Technical
University
of Gliwice
- Automatics, No 84, 1986, 61-71.
- The
formulation and the mathematical model of two optimization problems of
operations scheduling with timed Petri nets are presented in the
paper. New scheduling optimization problems are repetitive problem
(jobs have to be executed more than once) and recycling problem (each job
has to be executed an infinite number of times). Jobs consist of
partially ordered set of operations. The first problem is to find
operations schedule minimizing maximum or sum of completion times of
repetitive jobs; the second one is to find minimal cycle time.
16. Packet Level Protocol in Computer Network, Sci.
Papers of Computer Center of Wroclaw Technical University, No 4, 1986,
41-47.
- The
implementation of the X.25/3 packet protocol level in the Universities Computer
Network (MSK) is presented in
the paper. The solution of the main project problems connected with
the node operation is briefly described. Additionally the results of
the measurements of the mode main characteristics i.e. the throughput and
the packet transition delay in the function of the
lines load are given.
17. Heuristic Methods for General Problem of Resources
Allocation and Operation Scheduling, Development in Cybernetics, Sci.
Quarterly of Polish Cybernetical Society, No 3,
1985, 21-35.
- The
formulation and the mathematical model of resources allocation and
operation scheduling problems when the tasks may require some amounts of
additional limited resources of their processing and all resources are
connected by the relation of configuration are presented in the
paper. Results of series of heuristic methods of resources
allocation and operations scheduling problems on the basis of the
disjunctive graph depend on performance measures.
18. Restart of Virtual Call in Universities Computer Network,
Sci. Papers of Computer
Center
of Wroclaw
Technical University,
No 2, 1983, 125-142.
- This
paper describes the principles of the services and the
restart functions for the packet-switched recommendations of X.25 level
3. The restart software implementation for the MSK computer network
node is also described.
19. Optimization of General Monitor Operation, Proceedings
of 8-th National Automatics Conference, Szczecin, 1980,
vol I, 734-739.
20. New Approach to Computer System
Description, Development in Cybernetics, Sci. Qu. of Polish Cybernetical Society, Ossolineum,
No 2, 1980, 17-32.
- A
computer system model has been defined as a composition of a resources
system, a job system and an operating system. Presented model is
described from the viewpoint of formulated problem of system resources
distribution for the realization of coming applications. The problem
of optimum operating system has been particularly formulated. The
control flow and data flow for each generated order by the user has been considered
but the semantic aspect of computer system operation neglected. The
operating system as a given abstract function, which encloses both program
and system aspects of computer system operation has formally been
described.
22. Modeling of General
Problems of Resources Allocation and Operation Scheduling Using Disjunctive
Graphs, Sci. Papers of Technical
University
of Gliwice
- Automatics, No 54, 1980, 33-46.
- The
formulation and the mathematical model of resource allocation and
operations scheduling problems, more general than in the literature, are
presented in the paper. The problems concern the computer system,
which is more general than the discrete production systems.
The goal functions based on the due date completion of jobs are
pointed out. They are interpreted on the disjunctive graphs
independently from a kind of a system.
22. Systemic Formulation of Management Problems for Computer
Systems, Proceedings of the Fourth International Symposium on System-Modelling-Control, Zakopane,
Poland, Oct. 8-13, 1979, 42-47.
23. Resources Allocation and
Operation Scheduling Problems in Computer Systems, Institute of Technical
Cybernetics of Wroclaw, Doctoral Dissertation, Report No 774,
Wroclaw 1979.
- Used
disjunctive graphs for optimization operating system problems according to
many criteria (minimum of completeness, lateness, weight sum of tardiness
etc.) in deterministic conditions under constrained resources. Solved
these problems using branch and bound method with mixed strategy of moving
in the tree of solutions. Designed branching, choice, and elimination
rules. Used lower and upper bounds for which derived original formulae.
Presented a model of computer system with the original formulation and
solution of the above problems.
24. Selected Methods of Scheduling for Realization of Jobs
in Computer Systems, Development in Cybernetics, No 2, 1978, 39-73.
- Selected
scheduling methods which may be applied for distribution of jobs in a
computer system are presented. The CPM methods applied in nets, Ashour’s estimation method using the concept of a
linear graph, survey method on a disjunctive graph as well as the method
using of elementary paths algebra are shown. All the methods are
illustrated with examples. When choosing we took into account such
features of the method ( particularly with respect to the integer and
dynamic programming method) as effectiveness, requirements for operating
storage, possibility of decomposition and possibility of coupling to other
methods. At the end the said method were compared between themselves and
with other known methods. The possibilities of a mutual enriching of
the said methods particularly
the method of survey based on disjunctive graph are also indicated.