31-04
OOExpert: Distributed Expert System for
Auto-mati Objet-Oriented Software Design
OOExpert:
Romi Satria Wahono Behrouz H. Far
H.
Graduate Shool of Siene and Engineering, SaitamaUniversity
Abstrat: Researhersand softwaredesigners ome to aonlusionthat identifying objets
inludingassoiations,attributes is anill-denedtask andthere isno uniedmethodologyfor
objet-orientedsoftwaredesign. Inthisresearh,wesuggestanapproahtosolvethediÆulties
ofobjet-orienteddesignbydevelopingadistributedexpertsystemthatontainsformulated
de-signpatternsandrulesthataimsatautomatingobjet-orienteddesignproessinaninterative
way. Anovelpointisusinganinterativeuserinterfaetoenablesoftwaredesignerandthe
sys-temommuniatewitheahotherinordertodeterminethebestdesign,withoutdisturbingthe
reativityofthedesigner. Thus,makingitpossiblefordistributed expertsystem,to overome
thedatasharingandtheinteroperabilityproblemsinagroupware. Inthispaperwepresentthe
systemarhitetureandtheresearhoutlines.
1 Introdution
The four hallenges of objet-oriented design are to
identify the objetsand lassesneeded to implement
the software, desribe the relationships between the
identied objets and lasses, dene the behavior of
the objets by desribing the funtion
implementa-tionsofeahlass, andreneand organizelassesby
using inheritane to share ommon struture [
Rum-baugh et al., 1991 ℄ [
Holland et al., 1996 ℄
. These are
very ompliated hallenges beause of there
depen-deneonheuristi
[Kato,1998℄.
On the other hand, hanges of soial and
tehnol-ogy's eld result in the hange of software
develop-mentframework,fromommandsysteminto
oopera-tionsystemingroupwareusingnetworktehnologyas
media
[Druker,1988℄.
Thisbringsan urgentneedof
anewComputerAidedSoftwareEngineering(CASE)
tool, whih anhandledata sharing, interoperability,
ompatibilityandportabilityproblems.
Researhersand software designers ome to a
on-lusionthatidentifyingobjetsinludingassoiations,
attributesisanill-denedtask, regardingofthe
diÆ-ultiesof heuristi [
Kato, 1998 ℄[
Holland et al., 1996 ℄
andthereisnouniedmethodologyforobjet-oriented
softwaredesign. This ismainlydue tolakof
formal-ismforobjet-orientedsoftwaredesign.
In this researh, weformulate design patterns and
rules, and store them in the distributed knowledge
:RomiSatriaWahono 338-8570
255, ,Telp.048-858-3489.
E-mail.romiit.is.saitama-u. a. .jp
basesoftheOOExpertsystem. Thesysteman
over-omeertaindiÆulties intheobjet-orienteddesign,
diÆulties in the very large knowledge base system,
and it an fulll the need of a new CASE tool for
groupware.
2 System Arhiteture
Figure 1 shows an overview of the OOExpert's
ar-hiteture. This system is omposed of User
Inter-fae,CommuniationEngine, ReasoningEngine,
Dis-tributedKnowledgeBase,andDoumentationEngine.
Eahenginewitharunningautonomoustaskisalled
anexpert unit.
2.1 User Interfae
Therearefourfuntionsthataremanagedbytheuser
interfaeunit, theyare objet-orienteddesign editor,
reasoning engineproess (result) viewer, Javasoure
ode viewer and doumentation funtion. Using this
userinterfae unit, software designer and expert
sys-temanommuniate witheah otherinorder to
de-terminethebestdesign.
2.2 Communiation Engine
The ommuniation engine is mainly responsible for
maintaining onnetion between user interfae unit
andanotherexpertunits besidesofmessage
Knowledge Based
Client
KQML
User Interface
Communication Engine
Distributed Knowledge Base
KQML
Reasoning Engine
Documentation Engine
Object Oriented
Design
Raw Source Code
class atm{
final int Max = 1000;
List dblist;
Button NewAccount;
Button SearchAccount;
Button EnterAccount;
Button ExitButton;
public atm(){
}
public void action{
if (c.equals(new) n();
else if(c.equals(sea)
s();
else if(c.equals(ent)
e();
Button NewAccount;
Button SearchAccount;
Button EnterAccount;
Button ExitButton;
public atm(){
}
public void action{
if (c.equals(new) n();
else if(c.equals(sea)
s();
else if(c.equals(ent)
e();
Button NewAccount;
Button SearchAccount;
Button EnterAccount;
Button ExitButton;
public atm(){
}
public void action{
if (c.equals(new) n();
else if(c.equals(sea)
s();
else if(c.equals(ent)
e();
Figure1: SystemArhitetureoftheOOExpert
Arhiteture) distributed objet, beause it an
han-dle data sharing, interoperability, ompatibility and
portabilityproblemsonomplexappliation.
2.3 Reasoning Engine
Thereasoning engineplays animportant role in
rea-soningaboutthedesignrequestsomingfromtheuser
andthedesignrulesorpatternsthatarestoredinthe
knowledge base. Atually, reasoning engine is
om-posed of the objet-oriented reasoning module and
thesoureodereasoning(generation)module. These
two, addresstwo kindsof design rules in distributed
knowledgebase.
2.4 Distributed Knowledge Base
Distributed knowledge base is omposed of some
knowledgebases,usingKQML(KnowledgeQueryand
ManipulationLanguage)as ommuniationlanguage.
Inthis researhweintendtoaptureandreasonwith
thesortofknowledgethatsoftwaredesignexpertsuse
in design. Softwaredesignknowledgeinludes design
produtknowledgeanddesignproessknowledge.
Thedesignprodutknowledgereliesonthe
perspe-tive that the design system is viewed. It inludes
domain-spei onepts, onstraints and qualitative
orquantitativemodels ofthesystem. Andthedesign
proessknowledgeisviewedasaprogressiontowarda
goalby applying detailingpatterns. The design
pro-essknowledgeinvolvesdesignrulesaquiredfrom
hu-mandesign,andtaitknowledgetomakesuhpattern
operational. Atually, design ruleshave twokindsof
rules,therulesforobjet-orienteddesignandtherules
2.5 Doumentation Engine
Doumentationengineplaystherole ofreasoning
en-gine'sassistant. Thedoumentation engine performs
threemaintasks: doumentingalltasksthatare
pro-duedbyreasoningengine,preparingandreformatting
theabovementioneddataforto betransferredtothe
userinterfaeunits,andassistinguserorsoftware
de-signertoreategoodsoftwaredouments.
3 Conlusion
Inthispaper,wepresentedtheoutlinesofanongoing
researh projetto build adistributed expert system
forsupportingobjet-orientedsoftwaredesign
(OOEx-pert). The interative user interfae, reasoning
en-gine, doumentation and ommuniation engines are
already developed. The knowledge base whih
on-tainsrulesforautomatingdesignproessis under
de-velopment.
Using this system, software designers and expert
systeman ommuniate with eah other in order to
determinethebestdesign,withoutdisturbingthe
re-ativityofthedesigner.
Referenes
[Romi
etal., 1999℄
RomiSatriaWahono, B.H.Far,
"Dis-tributed ExpertSystem Arhiteturefor Automati
Objet-OrientedSoftwareDesign",Proeedingsofthe
Third Workshop on Eletro-Communiation and
In-formation,pp.131-134,(1999).
[Kato,1998℄
, "
", , vol.90,no.100,
(1998).
[Rumbaugh
etal., 1991℄
RumbaughJ.,BlahaM.,
Premer-laniW.,EddyF.andLorensonW.,"Objet-Oriented
ModelingandDesign",PrentieHall,(1991).
[Holland
etal., 1996℄
IanM. Holland andKarlJ.
Lieber-herr, "Objet-Oriented Design", ACM Computing
Surveys, vol.28,no.1,(1996).
[Druker,1988℄
Druker P., "The Coming of the New
Organization", Harvard Business Review,
Jan.-Feb.1988,pp.45-53,(1988).
[Booh,1994℄
Booh G., "Objet-Oriented Analysis and
Design with Appliations", Benjamin/Cummings,
(1994).
[Far
etal., 1994℄
BehrouzH. Far, Takeshi Takizawa, and
Zenya Koono, "An Expert System for Reproduing
HuanCognitiveProessesinAutomatiSoftware
De-sign", WorldCongress ofExpertSystem,(1994).
[Far
etal., 1996℄
B.H.FarandZenyaKoono,"Ex-W-Pert
System: AWeb-BasedDistributedExpertSystemfor
Groupware Design", World Congress on Expert