Chang-Hyun Jo
Professor, Ph.D
Department of Computer Science
California State University
Fullerton
http://jo.ecs.fullerton.edu
Ph.D. in Computer Science
SEI-Certified CMMI Instructor
SEI-Certificate in CMMI
SEI-Certificate in Software Architecture
Professional
SEI-Certificate in ATAM Evaluator
![]()
Research Area
Software Process
Improvement (CMMI, SCAMPI), Software Architecture and Design (ATAM Evaluation)
Agent-based
Software Engineering, Object-Oriented Software Engineering,
SaaS, Ubiquitous
Computing, Streaming Technology, Mobile Agent Computing, Internet/Web
Programming
Programming Language Design and Implementation (Concurrent Object-Oriented Programming
Languages, Parallel-C++, CHILL, ITU-T SG10 Z.200)
Compilers/Interpreters/Debuggers, Programming Environments, Parallel/Distributed Programming on the
Internet
![]()
Recent
Publications (2002 – 2005)
l
Feng, Xin and Jo, Chang-Hyun, “Agent-Based
Stock Trader”, The 18th International Conference on Computers and
Their Applications, The International Society for Computers and Their
Applications, (ISCA CATA-2003), 275-278,
Honolulu, Hawaii, March 26-28, 2003. (ISBN 1-880843-46-3)
l Lin, Dongqing, Wiggen, Thomas P. and Jo, Chang-Hyun, “A Restaurant Finder using Belief-Desire-Intention Agent Model and Java Technology”, The 18th International Conference on Computers and Their Applications, The International Society for Computers and Their Applications, (ISCA CATA-2003), 404-407, Honolulu, Hawaii, March 26-28, 2003. (ISBN 1-880843-46-3)
l Zhao, Wei and Jo, Chang-Hyun. “A Compiler Design for the Agent-Based Programming Language”, The 18th International Conference on Computers and Their Applications, The International Society for Computers and Their Applications, (ISCA CATA-2003), 393-396, Honolulu, Hawaii, March 26-28, 2003. (ISBN 1-880843-46-3)
l Jo, Chang-Hyun. “A New Way of Discovery of Belief, Desire and Intention in the BDI Agent-Based Software Modeling”, The International Conference and Exhibition on Humanoid, Nanotechnology, Information Technology, Communication and Control, Environment and Management (HNICEM 2003), Manila, Pavillon Hotel, March 27-30, 2003. (ISBN# 971-92723-0-9)
l Jo, Chang-Hyun and Allen J. Arnold, “A Portable and Collaborative Distributed Programming Environment”, The 2003 International Multi-Conference in Computer Science and Computer Engineering – The International Conference on Software Engineering, (IMCCSCE – SERP’03), 198-203, Las Vegas, Nevada, June 23-26, 2003.
l Jo, Chang-Hyun and Einhorn, Jeffery M., “A Process for BDI Agent-Based Software Construction”, The 2003 International Multi-Conference in Computer Science and Computer Engineering – The International Conference on Software Engineering, (IMCCSCE – SERP’03), 204-209, Las Vegas, Nevada, June 23-26, 2003.
l Einhorn,
Jeffery M. and Jo, Chang-Hyun. “A Use-Case Based BDI Agent Software
Development Process”, Proceedings of the 2nd International Workshop on
Agent-Oriented Methodologies,
7-20, ACM OOPSLA-2003, Anaheim, October 26-30, 2003. also at http://www.open.org.au/Conferences/oopsla2003/proc.htm.,
Oct. 26, 2003.
l Jo, Chang-Hyun, Zhao, Wei and Cong, Bin., “A Design and Implementation of the Belief-Desire-Intention Agent-based Programming Language”, Information: An International Interdisciplinary Journal, ISSN 1343-4500 (print), 1344-8994 (electronic), 7(1), International Information Institute, (January 2004), 137-153.
l Jo, Chang-Hyun. “A New Way of Discovery of Belief, Desire and Intention in the BDI Agent-Based Software Modeling”, the International Journal of Advanced Computational Intelligence & Intelligent Informatics (JACIII), ISSN 1343-0130, 8(1), 2-6, Jan. 2004.
l Jo, Chang-Hyun, Guobin Chen and James Choi, “A New Approach to the BDI Agent-Based Modeling”, ACM SAC 2004, 1541-1545, Nicosia, Cyprus, March 14-17, 2004.
l Jo, Chang-Hyun, Won-Young Kim, Jeong-Min Shim, and Wan Choi. Agent-based Framework for Software On-Demand. Proceedings of the IEEE 7th International Conference on Advanced Communication Technology, Phoenix Park, Korea, (Vol.2), 730-735, Feb. 21-23., 2005. (IEEE Catalog # 05EX1046) (ISBN: 89-5519-123-5)
l Park, Seungjin, Seong-Moo Yoo, M. Al-Shurman, B. V. Voost, Chang-Hyun Jo, “ARM: Anticipated Route Maintenance Scheme in Location-Aided Mobile Ad Hoc Networks”, Journal of Communications and Networks, Vol.7, No.3, 325-336, September 2005.
l Jo, Chang-Hyun and Einhorn, Jeffery M., “A BDI Agent-Based Software Process”, Journal of Object Technology (JOT), Vol.4, No.9, 101-121, November – December 2005. (available at http://www.jot.fm/issues/issue_2005_11/article3)
l Jo, Chang-Hyun, Guobin Chen and James Choi, “A Framework for BDI Agent-Based Software Engineering”, Studia Informatica Universalis (International Journal), Vol.3, No.3, Editions SUGER, 15 rue Catulienne, F-93200 Saint-Denis, France, http://csmc.ephe.sorbonne.fr:8081/Studia, http://studia-informatica.org, 41 rue G. Lussac, 75005 Paris, France, (ISBN 2-912590-30-2), (ISSN 1621-7545), 285-314, 2004 (2005).
l
Jeong-Min Shim, Won-Young Kim, Wan Choi and
![]()
Other
Publications (1988 – 2001) 45 publications in conferences,
journals, and international standards (ITU-T SG10).
![]()
Summary of
Current Research
·
MSE Seminar
(March 8, 2006) – Agent-based Modeling Technique (AMT)
·
Poster
at the Faculty Day 2004, CSUF
The Agent-Based Programming Modeling Language Definition
Agent-based Testing Techniques
Agent-Based Modeling Computer Aided Software Engineering (CASE) Tools
(Students: Tianzhi Zheng 2003, Dae Young Cho 2003, Dhanireddy Sravani 2003,
Chinnakotla Roopa 2003, Sujatha H. Thippeswamy 2003)(Advisor: Dr. C.-H. Jo):
ABSTRACT
Currently we are developing a CASE tool based on the Agent-based Modeling
Technique (AMT) we have proposed, agent-based software testing techniques, and
the Agent-based Modeling Language Definition and User's Manaul.

Related papers (See the publication list above)
![]()
The BDI Agent-Based Programming Language: BDI - APL
(Students: Wei Zhao 2002, Allen J. Arnold 2002, Dong Shi Zhang 2003)(Advisor:
Dr. C.-H. Jo):
ABSTRACT Agent-based programming is
emerging as a new programming paradigm for the next decades. The most popular
concept, which is used in the agent-based programming, is the BDI concept.
"B" stands for Believe (Data), "D" represents Desire (Goal)
and "I" stands for Intention (Plan). Agent-base programming is
composed with one or more Agents. Each agent has it's own B, D and I. In order
to achieve some goal (Desire), the agent can analyze the related data (Belief)
and choose an appropriate plan (Intention). Some kind of intelligence has to be
added into the agent-based programming, so that the agent can dynamically
choose certain plans to achieve it's goals. Unfortunately, there have been no
proper programming languages, which can support agent programming naturally.
Even though there are some agent-based languages, which are mostly based on the
Java programming language, can support the BDI concept, some of them are hard
to use and they cannot really and dynamically manipulate the BDI property.
Therefore, we have developed our own language called APL (Agent-based
Programming Language). It works on Java Virtual Machine (JVM). With the help of
JDBC technique, we can dynamically manipulate the knowledge base which contains
B, D and I. This project is to build a compiler for the APL. The APL compiler
will take the APL program as input, compile it and generate Java bytecodes,
which can run on the Java Virtual Machine (JVM). In this project, the Java
programming language, the Java Virtual Machine, and some compiler tools such as
Lex and Yacc will be used.
Keywords: Agent-Based Programming, Intelligent Agents, BDI model, Compiler
The participant in this research had received a research assistanship from the
ND EPSCoR IIP. The basic knowledge on Agent-Oriented Computing, compiler tools
such as Lex and Yacc, translation technique, Java Virtual Machine, Java Byte
Codes, and Java Internet/Server Programming is expected, but not required to
accomplish this project.

Related papers
The Agent-Based Modeling Technique: AMT
(Students: Jeffrey M. Einhorn 2002, Guobin Chen 2003)(Advisor: Dr. C.-H. Jo):
ABSTRACT A success in agent
programming is based on providing a good development of a feasible modeling methodology
and its successful application in the real world. There are a few frontier
research works in this area so far, but none of them suggests a seamless
development methodology from modeling to implementation via agent concepts. The
aim of this work is to produce an agent modeling technique that provides a
consistent guide to develop software based on the BDI-agents.
Keywords: Agent-Based Software Engineering, Agent-Based Modeling Techniques,
BDI model
This research has received a research fund from the ND EPSCoR IIP in both
summer 200 and 2001. The basic knowledge on Object-Oriented Software
Engineering and Agent-Oriented Computing, is expected, but not required to
accomplish this project.

Related papers
Einhorn,
Jeffery, M. and Chang-Hyun Jo, Use-Case Based BDI Agent Software Construction,
Proc. of the 2nd International Workshop on Agent-Oriented Methodologies -
OOPSLA-2003, Anaheim, CA, USA, Oct. 26-30, 2003. (Detailed Case Study)
Einhorn,
Jeffery, M. and Chang-Hyun Jo, Use-Case Based BDI Agent Software Construction,
Proc. of the 2nd International Workshop on Agent-Oriented Methodologies -
OOPSLA-2003, Anaheim, CA, USA, Oct. 26-30, 2003. (Draft Paper)
Guobin
Chen and Chang-Hyun Jo, A New Approach to the BDI Agent Software Development,
2003. (under review for publication)
Jo,
Chang-Hyun and Einhorn, Jeffery M., ¡°A Process for BDI Agent-Based Software
Construction¡±, The 2003 International Multi-Conference in Computer Science and
Computer Engineering - The International Conference on Software Engineering,
(IMCCSCE-SERP¡¯03), 204-209, Las Vegas, Nevada, June 23-26, 2003.
Chang-Hyun
Jo, A Seamless Approach to the Agent Development, ACM, SAC 2001, Las Vegas,
March 2001. (Draft)
![]()
Agent-Based Stock Trading
(Student: Xin Feng)(Advisor: Dr. C.-H. Jo):
ABSTRACT In this work, we develop a
unique implementation scheme of the Belief-Desire-Intention (BDI) model to be
used in an agent-based application using Java. The example prototype system we
develop is the Agent-based Stock Trader (AST) that is a stock-trading expert
based on intelligent agents. Agents in AST are based on the
Belief-Desire-Intention (BDI) model in artificial intelligence. This work
proposes a new idea to show how to program the BDI-based agents using the Java
programming language, and how to make an agent-based application more
intelligent and flexible. This work contributes new implementation scheme of
the BDI agents in the Java programming language useful on many applications.
This work can also show how nicely implement the BDI agents with Java while
manipulating BDIs intelligently and dynamically at runtime. Using our concepts
and implementation scheme, the internet-based application like stock trading
can be more intelligent and flexible.
Keywords: Agent-Based Programming, Intelligent Agents, BDI model, Stock Trading
Application
The participant in this research has received a research assistanship from the
ND EPSCoR IIP. The basic knowledge on Agent-Oriented Computing and Java
Internet/Server Programming is expected, but not required to accomplish this
project.

Related papers
![]()
A Restaurant Finder using Belief-Desire-Intention
Agent Model and Java Technology
(Student: Dr. Dongqing Lin, UM-Dulluth)(Advisor: Dr. C.-H. Jo):
ABSTRACT It has been becoming more
and more important to design systems capable of performing high-level
management and control tasks in interactive dynamic environments. At the same
time, it is difficult to develop and maintain such complex systems with our
traditional software techniques. The agent-oriented/based systems, rooted in a
different view of computational entities, offer prospects for a qualitative
change in this aspect. In this work, we adopt the basic architecture of a
Belief-Desire-Intention (BDI) agent model and develop a more intelligent and
dynamic searching model for agent programming. In the BDI model, the Desire is
the goal to achieve or event to handle, the Intention is a set of plans to
realize the predefined goal or react to a specific situation, and the Belief is
the knowledge about the agent itself and the varying environment. Applying BDI
concepts, we will build an experimental framework in our Restaurant Finder
system. The belief, desire and intention are initially established as separate
classes as in the object-oriented analysis and design, then these classes will
be integrated as basic units for a BDI agent. The agent will possess learning
behavior based on the user's feedback and the principle of inferring
preferences. In addition, the agent will also update its knowledge dynamically
based on analysis of user's interaction with the system. The dramatic increase
in the use and availability of mobile devices has resulted in the ability to
access information anytime and anywhere. Our Restaurant Finder system is
designed for use on mobile phones. This system has architecture. The client
tier is a J2ME (JavaTM 2 Micro Edition) emulator for the primary interface. In
the middle tier, the Apache Tomcat Server will be installed to process the
client's request, update the system database, and send back the recommendation.
The information tier is a database system using the IBM Cloudscape database.
The Restaurant Finder system will Cloudscape database. The Restaurant Finder
system will J2ME Mobile Information Device Profile (MIDP) client application
design.
Keywords: Belief-Desire-Intention (BDI) Agent-Based Programming
The basic knowledge on Agent-Oriented Computing and Java Internet/Server/J2ME
Programming is expected, but not required to accomplish this project.

Related papers
![]()
Development of a Web-based System for Interactive
Browsing of Citation Flight Data
(Student: A. S. M. Rokanuzzaman)(Advisor: Dr. C.-H. Jo):
The UND Atmospheric Science Department pursues research project related to weather related data acquisition, data processing, and data storage. The processed data is intended to make available to end users who may be a novice user in Atmospheric Science or may be a scientist in this field. The end users are considered to be unfamiliart with the data processing complexities. Hence, the end users will be given maximum flexibility in retrieving data from UND Atmospheric Sciences Department. UND Atmospheric Sciences Department maintains a website, which mainly focuses on weather related research works. From this work, the website can be updated so that the user may use nice user interface to use the system easily, and the new system provides the result as a function of several parameters in graphical forms. The data acquisition, data processisng performed by Atmospheric Sciences Department will be stored for retrieval by the Atmospheric Radiation Measurement (ARM) investigators or any interested party or individual. Through the new system, any individual can determine which citation flight data and variables to request from the archive. The end users can view the data in graphical form with no knowledge of data aquisition, data processing complexities. The user can view the data as finished product in graphical forms. The data represented in graphical forms will help researchers, faculty members, and students around the world to enhance their horizon of knowledge in Atmospheric Science. The participant in this research have worked as a research assist in the UND Atmospheric Sciences. The basic knowledge on Java internet programming, Java Server Programming, and distributed computing are expected, but not required to accomplish this project.

Related papers
(Currently writing ...)
![]()
The Distributed Programming
Environment
A
Distributed Programming Environmend (DPE) supports many aspects of software
engineering in distributed computing environment such as the Internet.
The state of art work includes a design of a new concept and
metrics for the distributed software engineering, and the implementation of the
automated tools to support such ideas.
The prototype of the DPE has been developed on the Internet
connecting with different kinds of computers. Currently, it allows us to
manage, program, chat, and test software development in a textual mode (even
though it supports overlapping windows) on the Internet. The system will be
extended to support multimedia components. The new idea and concepts using the
DPE are being developed, and will be implemented on the distributed and
parallel programming environments.
UND graduate/undergraduate students may join. Participants
in this research may receive a stipend if a funding is available at that time.
A basic knowledge including Java, CORBA, programming skills for multimedia
components (graphics, voice, mobile objects), and general network programming
are expected, but not required.

Related papers
Chang-Hyun
Jo, et al. "The Distributed Programming Environment on the Internet",
ACM SAC'99, San Antonio, Texas (Feb.28-March 2, 1999). (ACM Digital Lib.)
![]()
Design and Implementation of a Concurrent
Object-Oriented Language
We have developed and implemented the
Parallel-C++ language on various machines. This research work is to re-design
the language concepts to support mobile agent computing, and implement it on a
concurrent machine. Any experimental programming using the language adaptable
for the real world applications such as aerospace simulation or mobile
computing is also possible. The technique used here can be applied to develop
any compiler or interpreter for both general purpose programming languages and
special purpose languages (such as command languages for database, robot or
aerospace manipulation). It also can be applied to extract any pattern in
scientific/engineering data (such as sensing, GIS information, or satellite
information) and trasform into other format/patterns.
UND graduate/undergraduate students may join. Participants
in this research may receive a stipend if a funding is available at that time.
The basic knowledge on C++, Java, compiler tools (lex, yacc, and ACK), general
compilation technologies, and concurrent/parallel programming are expected, but
not required.

Related papers
Chang-Hyun
Jo, et al. "A realization of a concurrent object-oriented
programming", ACM SAC'98, Atlanta, Georgia, (Feb. 1998).
Join in our research, and prepare for the future!
Created by Chang-Hyun Jo
Last Modified Fall 2009