SlideShare a Scribd company logo
1 of 3
Download to read offline
Joyce: An Object-Oriented Decision Tree Builder
by Bob Marcus
Knowledge Systems Laboratory
Boeing Advanced Technology Center for Computer Sciences
Boeing Computer Services
P.O. Box 24346
Seattle, Washington 98124 M/S7L-64
Abstract
Joyce is an object-oriented visual programming environment for nonprogrammers. It permits an
application developer to assemble a program by graphically choosing methods from a large library
and linking them together using predefined control structures. Joyce also provides the developer with
the ability to define data structures, interactive forms, and documentation without programming.
Introduction
The purpose of this paper is to describe a visual programming environment called Joyce that
allows application experts with limited computer experience to build and maintain programs. The
basic idea ofJoyce is to provide a large library of methods and data structures tailored to a specific
application. In addition, Joyce provides templates for simple control primitives and generic methods.
The application developer builds a program consisting of a directed network of nodes by assembling
predefined methods and linking them using the control primitives.
To build a specific implementation of Joyce, it is necessary for a programmer to learn enough
about the application domain to create the library of methods and data structures~ Once this is done,
it should be possible for a domain expert to create and test programs with minimal assistance from
the programmer. The traditional task of building an application program is thus divided into two
parts, developing the components for the domain and assembling the components into a program. The
Joyce system provides a large library of generic methods and tools for building domain components.
The philosophy behind Joyce is that the enhanced abilities of the next generation of workstations
and personal computers are making it possible for programmers to provide environments that will
allow nonprogrammers to construct and maintain programs in a wider range of domains than current
application generators. The key technologies are object-oriented programming, which allows the
construction and reuse of software libraries [Meyer] and visual programming, which allows the
linking of software modules into a program using graphical interfaces [Shu].
Overview
Joyce runs on top of the KEE programming environment developed by Intellicorp. Joyce consists
of five basic systems: Root, Methods-library, Node-templates, Domain Knowledge-base and Program.
The hierarchy is shown in figure 1.
Figure 1.
The basic systems can be further divided into subsystems. Each subsystem consists of objects in
an inheritance tree. The trees in any subsystem can be displayed graphically, with the objects
appearing as labeled nodes. In addition, the inheritance graph of any node across different
subsystems can be displayed. Every part of the Joyce system is contained in some object and can be
accessed by means ofa mouse and menus.
121
Programs are constructed in Joyce by sending BUILD messages to template nodes in the template
node system. This message runs a method that starts by popping up a form to gather information
about the new program node. After the form is filled out, the new node is created and linked into the
program.
The types of nodes that can be created are control nodes, data structure nodes and action nodes.
The control nodes can be various types of branches, menu selections, jumps, or subprogram procedure
calls. The data structures are object-oriented representations of the structures that must be
predefined before the program is run. Typically these would be the templates for instances of
particular data structures that are created at run time.
The most commmon type of node is an action node. This node is an object that will execute some
method as the program is running. There is a large number of domain-specific and generic methods
that can be selected graphically from the methods library without programming and linked to action
nodes. Some examples of generic action nodes are:
a. Network file input and output.
b. Distributed database commands.
c. Remote procedure calls.
d. Running remote interactive programs in windows.
e. Creating of data structure instances.
f. Local function calls.
g. Forms processing.
h. Access to a hypertext documentation program.
Once a program graph has been built, the program can be run by sending an ACTIVATE message
to a node. After the node has run its method, it sends an ACTIVATE message to its children. An
example of the inheritance structure of a program node is figure 2.
"Program" in
root system
Parent
program node
C> Template in
node-templates
Program-node
Figure 2.
With this structure, the BUILD and ACTIVATE method is inherited through the template node,
general program utilities are inherited through the Program node in the root system, and program
variables are inherited through the parent program node. The program nodes do not have any local
methods, and thus the program system does not have to be recompiled as nodes are added or deleted.
Some of the important flexibility features that Joyce provides for the nonprogrammer application
developer are:
a. Arguments of methods can be preassigned, retrieved from data structures or requested from the
user at run-time.
b. Forms can be constructed and used at run time to gather information from the user.
c. Nodes that are attached to the program graph are automatically linked into the program and can be
chosen by branch and menu selection nodes.
d. Trees or nodes can be copied, renamed, and added to a new location in the program.
e. Procedure trees can be built and called in a manner similar to procedures in conventional
programming.
122
Programming Utilities
The Joyce environment provides tools for the nonprogrammer application developer to test and
debug programs. These tools can be used to provide runtime monitoring and validation of the
program. Some of the tools provided are as follows:
a. Trees or individual nodes can be placed in debug mode, which triggers the printing of detailed
information about the methods being run.
b. Trees or individual nodes can be placed in trace mode, which prints out the names of nodes as they
are activated and places the names on a history stack.
c. It is possible to place stopping points in the program that permit reviewing of data and then
backtracking by menu selection to any node in the history stack and restarting the program.
d. Precondition and postcondition predicates can be attached to any node. These conditions will stop
the program and report an error ffthey are not satisfied.
e. There are utilities that parse the program graph and check for missing slots or values in program
nodes; for example, they check that every child of a conditional node has a predicate to test.
f. Comments attached to every program node can be viewed by sending a COMMENT message to a
node.
g. All of the local slots of a program node can be displayed and edited by means of a forms interface.
In general, all of the tools available in the Lisp and KEE environment can be customized to add
even more functionality to the application developer's environment if necessary.
Related Tools
Joyce was originally developed as an enhanced replacement to a commercial Fortran-based
decision tree application generator called DCLASS. DCLASS allows a nonprogrammer to build a
decision tree using either a batch file or a graphical interface called SPROUT. DCI.ASS has been used
to generate programs with extremely complicated tree logic.
In spite of the success of DCLASS-based applications, it was felt that DCLASS was limited in its
ability to explicitly represent the structure and underlying logic of complicated domains. Joyce was
built to combine a relatively simple control structure like that of DCLASS with the advanced
representation and reusability possible with object-oriented programming. Another advantage of
Joyce over DCLASS is that there is no need for global variables or keys to store values, since this
information can be saved and retrieved from slots in program nodes.
The physical objects in the application domain are divided into specialized subsystems. In
addition, there are subsystems for standard forms and manuals. Each subsystem can be displayed as
an inheritance tree of nodes. There are links between related nodes in different subsystems. These
linked nodes can be displayed together in a single window.
The output of the program generated by Joyce will include not only external files but also a
directed graph in an output subsystem, which can be displayed in a window and edited after the
program is completed.
Conclusion
Joyce is a visual, object-oriented programming environment for a domain expert with limited
programming skills. A programmer is required to add domain-specific methods and data structures to
the environment before application development begins. Joyce offers an alternative to the traditional
knowledge engineering and knowledge acquisition techniques of application development. It provides
a method for a programmer and a domain expert to divide the task of producing an application into
component building and component assembly. In the field of process planning, Joyce has the potential
of replacing earlier decision tree builders. There appear to be many do mains that can benefit from the
Joyce approach.
References
Meyer, B., Object-oriented Software Constructgon,Prentice-Hall, 1988.
Shu, N. C., Visual Programming, Nostrand, 1988.
123

More Related Content

What's hot

FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSFRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSacijjournal
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
OMAR_SANTIAGO_resume_2015
OMAR_SANTIAGO_resume_2015OMAR_SANTIAGO_resume_2015
OMAR_SANTIAGO_resume_2015Omar Santiago
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
Visualizing Object-oriented Software for Understanding and Documentation
Visualizing Object-oriented Software for Understanding and Documentation Visualizing Object-oriented Software for Understanding and Documentation
Visualizing Object-oriented Software for Understanding and Documentation Ra'Fat Al-Msie'deen
 
Software Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessSoftware Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessUniversity of Zurich
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9Ian Sommerville
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering JayaKamal
 
Jim Bello Resume
Jim Bello ResumeJim Bello Resume
Jim Bello Resumejimbelo
 
Web-Based Lighting Automation System
Web-Based Lighting Automation SystemWeb-Based Lighting Automation System
Web-Based Lighting Automation SystemApoorva Chandra
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
 
A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...Nikolay Grozev
 
Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Nikolay Grozev
 

What's hot (18)

FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSFRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
OMAR_SANTIAGO_resume_2015
OMAR_SANTIAGO_resume_2015OMAR_SANTIAGO_resume_2015
OMAR_SANTIAGO_resume_2015
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Visualizing Object-oriented Software for Understanding and Documentation
Visualizing Object-oriented Software for Understanding and Documentation Visualizing Object-oriented Software for Understanding and Documentation
Visualizing Object-oriented Software for Understanding and Documentation
 
Resume
ResumeResume
Resume
 
Ch18
Ch18Ch18
Ch18
 
Software Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessSoftware Reuse: Challenges and Business Success
Software Reuse: Challenges and Business Success
 
Lq3620002008
Lq3620002008Lq3620002008
Lq3620002008
 
Net Resume D Hill
Net Resume D HillNet Resume D Hill
Net Resume D Hill
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering
 
Jim Bello Resume
Jim Bello ResumeJim Bello Resume
Jim Bello Resume
 
Web-Based Lighting Automation System
Web-Based Lighting Automation SystemWeb-Based Lighting Automation System
Web-Based Lighting Automation System
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
Ui design final
Ui design finalUi design final
Ui design final
 
A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...A comparison of component-based software engineering and model-driven develop...
A comparison of component-based software engineering and model-driven develop...
 
Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...
 

Viewers also liked

Position Paper – Global Threats
Position Paper – Global Threats Position Paper – Global Threats
Position Paper – Global Threats Robert C. Consolo Jr
 
Bandra kalanagar skywalk
Bandra kalanagar skywalkBandra kalanagar skywalk
Bandra kalanagar skywalkbharat_patel
 
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)Bob Marcus
 
Response to Commerce Dept's IoT RFC
Response to Commerce Dept's  IoT RFC Response to Commerce Dept's  IoT RFC
Response to Commerce Dept's IoT RFC Bob Marcus
 
NTIA IoT RFC Responses
NTIA IoT RFC ResponsesNTIA IoT RFC Responses
NTIA IoT RFC ResponsesBob Marcus
 
1959-1963 Some Collected poems
1959-1963 Some Collected poems 1959-1963 Some Collected poems
1959-1963 Some Collected poems Bob Marcus
 
1986 Multilevel Constraint-Based Configuration Article
1986 Multilevel Constraint-Based Configuration Article1986 Multilevel Constraint-Based Configuration Article
1986 Multilevel Constraint-Based Configuration ArticleBob Marcus
 
2004 Colorado Grid Computing Initiative
2004 Colorado Grid Computing Initiative 2004 Colorado Grid Computing Initiative
2004 Colorado Grid Computing Initiative Bob Marcus
 
IoT-Enabled Smart City Framework
IoT-Enabled Smart City FrameworkIoT-Enabled Smart City Framework
IoT-Enabled Smart City FrameworkBob Marcus
 
2011 IaaS standards report from Ad Hoc WG
2011 IaaS standards report from Ad Hoc WG 2011 IaaS standards report from Ad Hoc WG
2011 IaaS standards report from Ad Hoc WG Bob Marcus
 
2006 Multiscale modeling and simulation for drug development and testing
2006 Multiscale modeling and simulation for drug development and testing2006 Multiscale modeling and simulation for drug development and testing
2006 Multiscale modeling and simulation for drug development and testingBob Marcus
 
Reference Architectures for Layered CPS System of Systems using Data Hubs and...
Reference Architectures for Layered CPS System of Systems using Data Hubs and...Reference Architectures for Layered CPS System of Systems using Data Hubs and...
Reference Architectures for Layered CPS System of Systems using Data Hubs and...Bob Marcus
 
Control in Cyber-Physical Systems
Control in Cyber-Physical SystemsControl in Cyber-Physical Systems
Control in Cyber-Physical SystemsBob Marcus
 
Downloadable publications on CPS, Cloud, and Big Data
Downloadable publications on CPS, Cloud, and Big DataDownloadable publications on CPS, Cloud, and Big Data
Downloadable publications on CPS, Cloud, and Big DataBob Marcus
 
Security in Cyber-Physical Systems
Security in Cyber-Physical SystemsSecurity in Cyber-Physical Systems
Security in Cyber-Physical SystemsBob Marcus
 
1974 Parabolic Ito Equations
1974 Parabolic Ito Equations1974 Parabolic Ito Equations
1974 Parabolic Ito EquationsBob Marcus
 
NIST CPS-related Slides
NIST CPS-related SlidesNIST CPS-related Slides
NIST CPS-related SlidesBob Marcus
 
1986 Mycon: Multilevel Constraint Based Configuration
1986 Mycon: Multilevel Constraint Based Configuration1986 Mycon: Multilevel Constraint Based Configuration
1986 Mycon: Multilevel Constraint Based ConfigurationBob Marcus
 

Viewers also liked (20)

Position Paper – Global Threats
Position Paper – Global Threats Position Paper – Global Threats
Position Paper – Global Threats
 
Bandra kalanagar skywalk
Bandra kalanagar skywalkBandra kalanagar skywalk
Bandra kalanagar skywalk
 
Citologia dna e rna 1º ano 2º bimestre
Citologia dna e rna 1º ano 2º bimestreCitologia dna e rna 1º ano 2º bimestre
Citologia dna e rna 1º ano 2º bimestre
 
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)2004 Net-centric Systems and Services  Interoperability Engineering (NESSIE)
2004 Net-centric Systems and Services Interoperability Engineering (NESSIE)
 
Response to Commerce Dept's IoT RFC
Response to Commerce Dept's  IoT RFC Response to Commerce Dept's  IoT RFC
Response to Commerce Dept's IoT RFC
 
NTIA IoT RFC Responses
NTIA IoT RFC ResponsesNTIA IoT RFC Responses
NTIA IoT RFC Responses
 
1959-1963 Some Collected poems
1959-1963 Some Collected poems 1959-1963 Some Collected poems
1959-1963 Some Collected poems
 
1986 Multilevel Constraint-Based Configuration Article
1986 Multilevel Constraint-Based Configuration Article1986 Multilevel Constraint-Based Configuration Article
1986 Multilevel Constraint-Based Configuration Article
 
2004 Colorado Grid Computing Initiative
2004 Colorado Grid Computing Initiative 2004 Colorado Grid Computing Initiative
2004 Colorado Grid Computing Initiative
 
IoT-Enabled Smart City Framework
IoT-Enabled Smart City FrameworkIoT-Enabled Smart City Framework
IoT-Enabled Smart City Framework
 
2011 IaaS standards report from Ad Hoc WG
2011 IaaS standards report from Ad Hoc WG 2011 IaaS standards report from Ad Hoc WG
2011 IaaS standards report from Ad Hoc WG
 
2006 Multiscale modeling and simulation for drug development and testing
2006 Multiscale modeling and simulation for drug development and testing2006 Multiscale modeling and simulation for drug development and testing
2006 Multiscale modeling and simulation for drug development and testing
 
Reference Architectures for Layered CPS System of Systems using Data Hubs and...
Reference Architectures for Layered CPS System of Systems using Data Hubs and...Reference Architectures for Layered CPS System of Systems using Data Hubs and...
Reference Architectures for Layered CPS System of Systems using Data Hubs and...
 
Control in Cyber-Physical Systems
Control in Cyber-Physical SystemsControl in Cyber-Physical Systems
Control in Cyber-Physical Systems
 
Downloadable publications on CPS, Cloud, and Big Data
Downloadable publications on CPS, Cloud, and Big DataDownloadable publications on CPS, Cloud, and Big Data
Downloadable publications on CPS, Cloud, and Big Data
 
Security in Cyber-Physical Systems
Security in Cyber-Physical SystemsSecurity in Cyber-Physical Systems
Security in Cyber-Physical Systems
 
1974 Parabolic Ito Equations
1974 Parabolic Ito Equations1974 Parabolic Ito Equations
1974 Parabolic Ito Equations
 
NIST CPS-related Slides
NIST CPS-related SlidesNIST CPS-related Slides
NIST CPS-related Slides
 
1986 Mycon: Multilevel Constraint Based Configuration
1986 Mycon: Multilevel Constraint Based Configuration1986 Mycon: Multilevel Constraint Based Configuration
1986 Mycon: Multilevel Constraint Based Configuration
 
IoT Use Cases
IoT Use CasesIoT Use Cases
IoT Use Cases
 

Similar to 1989 Joyce: An Object-Oriented Decision Tree Builder

ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
 
DOC-20210303-WA0017..pptx,coding stuff in c
DOC-20210303-WA0017..pptx,coding stuff in cDOC-20210303-WA0017..pptx,coding stuff in c
DOC-20210303-WA0017..pptx,coding stuff in cfloraaluoch3
 
Developing apps with techstack wp-dm
Developing apps with techstack wp-dmDeveloping apps with techstack wp-dm
Developing apps with techstack wp-dmActian Corporation
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system reportAmit Kulkarni
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system reportAmit Kulkarni
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxArifaMehreen1
 
A Hand Book of Visual Basic 6.0.pdf.pdf
A Hand Book of Visual Basic 6.0.pdf.pdfA Hand Book of Visual Basic 6.0.pdf.pdf
A Hand Book of Visual Basic 6.0.pdf.pdfAnn Wera
 
Martin Koons Resume 2015
Martin Koons Resume 2015Martin Koons Resume 2015
Martin Koons Resume 2015Marty Koons
 
Development Tools - Abhijeet
Development Tools - AbhijeetDevelopment Tools - Abhijeet
Development Tools - AbhijeetAbhijeet Kalsi
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfputtipavan23022023
 
Appalanaidu_4.4 Years Exp in DotNet Technology
Appalanaidu_4.4 Years Exp in DotNet TechnologyAppalanaidu_4.4 Years Exp in DotNet Technology
Appalanaidu_4.4 Years Exp in DotNet TechnologyAPPALANAIDU KONDALA
 

Similar to 1989 Joyce: An Object-Oriented Decision Tree Builder (20)

ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
 
DOC-20210303-WA0017..pptx,coding stuff in c
DOC-20210303-WA0017..pptx,coding stuff in cDOC-20210303-WA0017..pptx,coding stuff in c
DOC-20210303-WA0017..pptx,coding stuff in c
 
06 fse design
06 fse design06 fse design
06 fse design
 
Developing apps with techstack wp-dm
Developing apps with techstack wp-dmDeveloping apps with techstack wp-dm
Developing apps with techstack wp-dm
 
Wecreate
WecreateWecreate
Wecreate
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system report
 
Office automation system report
Office automation system reportOffice automation system report
Office automation system report
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
124157075 gb
124157075 gb124157075 gb
124157075 gb
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
A Hand Book of Visual Basic 6.0.pdf.pdf
A Hand Book of Visual Basic 6.0.pdf.pdfA Hand Book of Visual Basic 6.0.pdf.pdf
A Hand Book of Visual Basic 6.0.pdf.pdf
 
Martin Koons Resume 2015
Martin Koons Resume 2015Martin Koons Resume 2015
Martin Koons Resume 2015
 
Development Tools - Abhijeet
Development Tools - AbhijeetDevelopment Tools - Abhijeet
Development Tools - Abhijeet
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
D033017020
D033017020D033017020
D033017020
 
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvfUNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
UNIT3 PART2.pptx dhfdifhdsfvgudf dhfbdhbffdvf
 
Appalanaidu_4.4 Years Exp in DotNet Technology
Appalanaidu_4.4 Years Exp in DotNet TechnologyAppalanaidu_4.4 Years Exp in DotNet Technology
Appalanaidu_4.4 Years Exp in DotNet Technology
 

Recently uploaded

An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 

Recently uploaded (20)

An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 

1989 Joyce: An Object-Oriented Decision Tree Builder

  • 1. Joyce: An Object-Oriented Decision Tree Builder by Bob Marcus Knowledge Systems Laboratory Boeing Advanced Technology Center for Computer Sciences Boeing Computer Services P.O. Box 24346 Seattle, Washington 98124 M/S7L-64 Abstract Joyce is an object-oriented visual programming environment for nonprogrammers. It permits an application developer to assemble a program by graphically choosing methods from a large library and linking them together using predefined control structures. Joyce also provides the developer with the ability to define data structures, interactive forms, and documentation without programming. Introduction The purpose of this paper is to describe a visual programming environment called Joyce that allows application experts with limited computer experience to build and maintain programs. The basic idea ofJoyce is to provide a large library of methods and data structures tailored to a specific application. In addition, Joyce provides templates for simple control primitives and generic methods. The application developer builds a program consisting of a directed network of nodes by assembling predefined methods and linking them using the control primitives. To build a specific implementation of Joyce, it is necessary for a programmer to learn enough about the application domain to create the library of methods and data structures~ Once this is done, it should be possible for a domain expert to create and test programs with minimal assistance from the programmer. The traditional task of building an application program is thus divided into two parts, developing the components for the domain and assembling the components into a program. The Joyce system provides a large library of generic methods and tools for building domain components. The philosophy behind Joyce is that the enhanced abilities of the next generation of workstations and personal computers are making it possible for programmers to provide environments that will allow nonprogrammers to construct and maintain programs in a wider range of domains than current application generators. The key technologies are object-oriented programming, which allows the construction and reuse of software libraries [Meyer] and visual programming, which allows the linking of software modules into a program using graphical interfaces [Shu]. Overview Joyce runs on top of the KEE programming environment developed by Intellicorp. Joyce consists of five basic systems: Root, Methods-library, Node-templates, Domain Knowledge-base and Program. The hierarchy is shown in figure 1. Figure 1. The basic systems can be further divided into subsystems. Each subsystem consists of objects in an inheritance tree. The trees in any subsystem can be displayed graphically, with the objects appearing as labeled nodes. In addition, the inheritance graph of any node across different subsystems can be displayed. Every part of the Joyce system is contained in some object and can be accessed by means ofa mouse and menus. 121
  • 2. Programs are constructed in Joyce by sending BUILD messages to template nodes in the template node system. This message runs a method that starts by popping up a form to gather information about the new program node. After the form is filled out, the new node is created and linked into the program. The types of nodes that can be created are control nodes, data structure nodes and action nodes. The control nodes can be various types of branches, menu selections, jumps, or subprogram procedure calls. The data structures are object-oriented representations of the structures that must be predefined before the program is run. Typically these would be the templates for instances of particular data structures that are created at run time. The most commmon type of node is an action node. This node is an object that will execute some method as the program is running. There is a large number of domain-specific and generic methods that can be selected graphically from the methods library without programming and linked to action nodes. Some examples of generic action nodes are: a. Network file input and output. b. Distributed database commands. c. Remote procedure calls. d. Running remote interactive programs in windows. e. Creating of data structure instances. f. Local function calls. g. Forms processing. h. Access to a hypertext documentation program. Once a program graph has been built, the program can be run by sending an ACTIVATE message to a node. After the node has run its method, it sends an ACTIVATE message to its children. An example of the inheritance structure of a program node is figure 2. "Program" in root system Parent program node C> Template in node-templates Program-node Figure 2. With this structure, the BUILD and ACTIVATE method is inherited through the template node, general program utilities are inherited through the Program node in the root system, and program variables are inherited through the parent program node. The program nodes do not have any local methods, and thus the program system does not have to be recompiled as nodes are added or deleted. Some of the important flexibility features that Joyce provides for the nonprogrammer application developer are: a. Arguments of methods can be preassigned, retrieved from data structures or requested from the user at run-time. b. Forms can be constructed and used at run time to gather information from the user. c. Nodes that are attached to the program graph are automatically linked into the program and can be chosen by branch and menu selection nodes. d. Trees or nodes can be copied, renamed, and added to a new location in the program. e. Procedure trees can be built and called in a manner similar to procedures in conventional programming. 122
  • 3. Programming Utilities The Joyce environment provides tools for the nonprogrammer application developer to test and debug programs. These tools can be used to provide runtime monitoring and validation of the program. Some of the tools provided are as follows: a. Trees or individual nodes can be placed in debug mode, which triggers the printing of detailed information about the methods being run. b. Trees or individual nodes can be placed in trace mode, which prints out the names of nodes as they are activated and places the names on a history stack. c. It is possible to place stopping points in the program that permit reviewing of data and then backtracking by menu selection to any node in the history stack and restarting the program. d. Precondition and postcondition predicates can be attached to any node. These conditions will stop the program and report an error ffthey are not satisfied. e. There are utilities that parse the program graph and check for missing slots or values in program nodes; for example, they check that every child of a conditional node has a predicate to test. f. Comments attached to every program node can be viewed by sending a COMMENT message to a node. g. All of the local slots of a program node can be displayed and edited by means of a forms interface. In general, all of the tools available in the Lisp and KEE environment can be customized to add even more functionality to the application developer's environment if necessary. Related Tools Joyce was originally developed as an enhanced replacement to a commercial Fortran-based decision tree application generator called DCLASS. DCLASS allows a nonprogrammer to build a decision tree using either a batch file or a graphical interface called SPROUT. DCI.ASS has been used to generate programs with extremely complicated tree logic. In spite of the success of DCLASS-based applications, it was felt that DCLASS was limited in its ability to explicitly represent the structure and underlying logic of complicated domains. Joyce was built to combine a relatively simple control structure like that of DCLASS with the advanced representation and reusability possible with object-oriented programming. Another advantage of Joyce over DCLASS is that there is no need for global variables or keys to store values, since this information can be saved and retrieved from slots in program nodes. The physical objects in the application domain are divided into specialized subsystems. In addition, there are subsystems for standard forms and manuals. Each subsystem can be displayed as an inheritance tree of nodes. There are links between related nodes in different subsystems. These linked nodes can be displayed together in a single window. The output of the program generated by Joyce will include not only external files but also a directed graph in an output subsystem, which can be displayed in a window and edited after the program is completed. Conclusion Joyce is a visual, object-oriented programming environment for a domain expert with limited programming skills. A programmer is required to add domain-specific methods and data structures to the environment before application development begins. Joyce offers an alternative to the traditional knowledge engineering and knowledge acquisition techniques of application development. It provides a method for a programmer and a domain expert to divide the task of producing an application into component building and component assembly. In the field of process planning, Joyce has the potential of replacing earlier decision tree builders. There appear to be many do mains that can benefit from the Joyce approach. References Meyer, B., Object-oriented Software Constructgon,Prentice-Hall, 1988. Shu, N. C., Visual Programming, Nostrand, 1988. 123