What is it? A high productivity automated logic design and code writing system!!?? Programmers no...

26
LOGICCODER What is it? A high productivity automated logic design and code writing system!!?? Programmers no longer need to pay attention to Language Syntax and Semantics.

Transcript of What is it? A high productivity automated logic design and code writing system!!?? Programmers no...

Page 1: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

LOGICCODER

What is it? A high productivity automated logic design and

code writing system!!?? Programmers no longer need to pay attention to

Language Syntax and Semantics.

Page 2: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

A LOGIC DESIGN & AUTOMATED CODE GENERATOR

A GUI system that Integrates Program Design, Coding, Maintenance and Documentation.It allows Visualisation of Program Logic Solution. It writes the source code in selected programming languages from the logic solution and user command statements.

Logic Display Views

(1) Documentation view – describe processes

(2) Language command view – source commands

No need to pay much attention to language syntax and semantics, even with complex program solution.

Page 3: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

SAMPLE FLOWCHART IN DOCUMENTATION VIEW

Screen Shot

Page 4: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

A PROGRAMMING PARADIGM SHIFTING SYSTEM

Based on simple straightforward concepts and user interfaces. Does not require complex support services.

LogicCoder is just simple a profoundly new way to design, code, document, and maintain computer programs.

A program development tool that is set on changing the way programmers generate software systems.

Place emphasis on logic design and integration of the development phases into a single document interface.

Allows a programming language to be viewed in terms of its methods, command statements, function calls or procedure calls as opposed to its syntax and semantics.

Page 5: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

ABSTRACT COMPLEX SYSTEMS TO SIMPLE CONTROL LOGIC

Two levels of abstraction within a simpler logic display

Page 6: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

WHAT LOGICCODER DOES

Modularization and Abstraction of complex software systems components.

Enhances reusability of logic design and their components. Ends the controversy over the use of goto and prevents potential

controversy over the use of control statements such as if, if-then, if-then-else, while, do-while, for-next, switch, case, select . . . from occurring!

Abstract non-essential characteristics of text-base programming systems away so that mental energy is more focused on essential program virtues!

Supports a structured approach to software development, making it easier to document and maintain with greater certainty, consistency and control over the management of changes.

LogicCoder is design with sound technical and scientific principles. Makes it easier to check the correctness of program design. Allows the development of concise and efficient programs

Page 7: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

END USER BENEFITS Saves time and coding effort. Very quick way to design and code programs No need to pay much attention to syntax and semantics. Quick way to learn the essentials of a programming language. Integration of the Development Cycle into a single user interface Allows a programmer to easily hide or view complex elements in large software

systems. Eliminates the possibility of Syntax and Semantics error Improved level of code quality Convenient and easy way to maintain large and complex software systems. Maps program commands directly onto description in any natural language. Good technical, and user documentation available with easy to use tutorials. Do not require lots of traditional programming skills to use. Provides templates from which quick solutions can be generated. Code generation in multiple programming languages from single flowchart Makes it easier to check the correctness of program design. Allows the development of concise and efficient programs.

Page 8: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

WHAT LOGICCODER IS NOT

A tool for the design of event driven programming. A tool with facilities for the design of user interface interaction components. A system that generates flowchart from source code. LogicCoder integrates

with the sister application – LogicExtractor that does this. A system that use or rely on complex Software Engineering concepts such as

those used by IBM Rational and UML. A design tool that support engineering systems in Electronics, Electrical

and/or Mechanical engineering. A tool to visualise the end results from computation on data. An Integrated Software Project Support system or an IDE. A Software Project Team support system.

Page 9: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

START

Define and Initialise Variables

Print report

headings

Read a record

End of file?

Add 1 to Total

Cheque counter

Add cheque

amount to accumulat

or

Print report line

Read a

record

Print total

chequesPrint total

cheques amount

END

1

3

2

5 6 7 8

4

9

10

No

Sample Program Problem and Logic Solution Design

The sample program prepares an output listing of cheques drawn on a personal account in the month of September. Each line of the report list information on each cheque drawn as follows: The amount drawn, the cheque number, the cheque date, and the person to whom the cheque is made payable. At the end of the report listing, the total number of cheques and the total amount drawn on all cheques for the month are printed.

Page 10: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

ANSI C/C++ CODE GENERATED BY LOGICCODER

void main(void) { int r = 0; int TotalCheques = 0; float TotalAmount = 0.00; printf("\n\n Cheque Account report\t Date: %s", __DATE__); scanf("%s, %f, %s", FileRec[r].Name, &FileRec[r].Amount, FileRec[r].Payee); while(strcmp(FileRec[r].Name, "END OF FILE")) { TotalCheques++; TotalAmount += FileRec [r].Amount; printf("\n\t%s\t%.2f\t%s", FileRec[r].Name, FileRec[r].Amount, FileRec[r].Payee); scanf("%s, %f, %s", FileRec[r].Name, &FileRec[r].Amount, FileRec[r].Payee); } printf("\n\n\t Total number of cheques %d", TotalCheques);printf("\n\t TotalAmount of all cheques: %3.2f", TotalAmount); }

//Reads records from external memory and process via a while loop.

123

4567

8

910

Page 11: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

LOGICCODER FUNCTIONS

LogicCoder uses a standard Ms Windows GUI. The set of functions available in the system is illustrated by the following drop-down menu images.

The Main WindowContains:

Application Title bar, Main menu bar, Shortcut bar with flowchart template, and Shortcut bar with flowchart layout and text edit functions.

Page 12: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

LOGICCODER FUNCTIONSThe File drop-down menu – with standard Ms Win OS file functions.The File menu also provide the Save as Template function that allow the user to save a flowchart as a template. The user can also use the Port to Word Doc function to create a word document from the flowchart. Can also create Excel and Power Point documents.

Page 13: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

LOGICCODER FUNCTIONS

Edit -> Symbol Text pull-down menuProvides a set of functions to do text Editing, Search and Replace, Copy, Cut, Paste, Delete, Write common Text, Place function header in terminal symbols (for ANSI C++ version), and Exchange text in symbols.

Page 14: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

LOGICCODER FUNCTIONSEdit ->Flowchart sub-menu provides a set of functions that allow the user to do editing to a flowchart layout.

Page 15: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

LOGICCODER FUNCTIONS

Code – pull-down menu provides functions to (1) Write a source program, (2) Set a function signature (for C++ type languages), (3) Insert a data list into a source code, (4) Save the source code command statements of a flowchart, (5) Retrieve the language command statements of a flowchart, (6) Bind the generated code to a specific class, and (7) Open and edit the generated source code file.

Page 16: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

LOGICCODER FUNCTIONSSettings – pull down menu provides a suite of functions that allow the user to select display attributes of flowchart elements in a user document. This include text attributes, line width, line colour, symbol fill colour, output directories, Document information, language command table, and so on.

Page 17: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

LOGICCODER USER INTERFACES LogicCoder user interface consists of standard Ms Window GUI objects for common Ms Windows type operations. As can be seen in the following diagram.

Page 18: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

The following image describes the main user interface of the ms window version of LogicCoder. See user reference manual for more detailed information of each item on the shortcut edit toolbar

LogicCoder User Interfaces

Page 19: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

THE FLOWCHART TEMPLATE:You use the flowchart template to place symbols in a flowchart you want to draw. You click at the point in the flowchart document where you want a copy of this symbol. The example below illustrates this. A symbol is selected immediately after it is drawn.

Page 20: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

COMPETING SYSTEMS

A list of competing systems is given as follows. As can be seen, these are mainly logic extracting systems with limited functionalities in comparison to LogicCoder. Except for Raptor and Athtek they all create flowcharts from source code in limited ways in comparison to LogicExtractor. Both code writing systems listed above are limited in their abilities and are not reliable. They have relatively few and limited functionalities in the design of program control logic via flowcharts. For example, they do not have design standards such as single entry/exit points principle and they are not scalable. Here is a summary list of competing systems gathered from the Internet:

Page 21: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

COMPETING SYSTEMSApplicatio

nURL Comment

Design of Engineering Components

https://sites.google.com/site/automatedmanufacturingsystems/Home/software

Generates embedded code for Engineered Electronic and Electrical Components. No noticeable or serious competition.

Business Rule Management System

http://ceur-ws.org/Vol-325/paper03.pdf

Implement the use of Decision Tables. Limited visualisation of logic flow or code generation capability. Limited competition.

AUTOMATECoding system for servers.

http://www.networkautomation.com/automate

Generate script from drag and drop in different OS languages. . Similar system exist in the Ms Win OS GUI but they do not generate script.

MATLAB http://www.mathworks.co.uk/products/matlab/

A high level language and IDE for numerical computation and visualisation of results. Has embedded compiler, does not use flowcharts, helps to develop solution algorithms. Used for teaching Linear Algebra and Numerical Analysis.

MathWorks - Industrial Controls Code Generation.Creator of MATLABS

http://www.mathworks.co.uk/embedded-code-generation/industrial-controls.html

Automated system for generating embedded code from industrial design, code verification, IEC 61508 and 61511 certification. Claim: Converts models to embedded code, enable increase productivity of 200-300%, high-integrity system certification.

Page 22: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

COMPETING SYSTEMS

Application

URL Comment

Diagram Ring Graphics: CAD Tools

http://www.farshadoo.com/p/diagram-ring/Open source Professional Diagram and Flowchart Software.

Diagram editor, suitable for diagram types like flowcharts , class diagrams, DFD and pie charts, bar charts. Features : Automatic edge label positioning. Export to picture. Has over 45 predefined symbols and over 15 predefined styles.

PATENTS ON AUTOMATED CODING SYSTEMSSet of hardware specific patents.

http://www.google.com.mx/patents/US7856619

There are about a dozen such patents. They are usually highly coupled to a specific hardware system or given low-level programming language. http://www.freshpatents.com/Automated-system-for-designing-and-developing-field-programmable-gate-arrays-dt20060914ptan20060206850.php

SourceCode2Flowchart Generates Flowcharts from code logic.

http://www.fatesoft.com Document, and visualize code. Supports Visio, Word, Excel, PowerPoint and BMP. Competes with LogicExtractor and LogicCoder.

Page 23: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

COMPETING SYSTEMSApplicati

onURL Comment

FlowLynx Existed since 2001.

http://sbirsource.com/sbir/firms/2981-flowlynx{The web site no longer provide much technical information. }

Generates code in C/C++, Visual Basic . . . from flowchart design of program solution but its functionality has changed. Competes head on with LogicExtractor but not LogicCoder.

Aivosto — Programming tools for Software Developers

http://www.aivosto.com/ http://www.aivosto.com/visustin.html

Visustin is a flowcharting software that converts source code to flow charts and UML activity diagrams. Creates Visio flow diagrams and PDF charts. Supports 43 programming languages: Competes with LogicExtractor

Liberty Basic ToolBox An IDE for Liberty Basic.

http://www.netfirms.com Use the IDE to visually design program window, generate Liberty Basic GUI code from designed, add or edit code in the code editor. Not competing with LogicExtractor or LogicCoder.

EDRAWA tool for creating various types of flowcharts

http://www.edrawsoft.com/flow-chart-design.php

Creates: Basic Flowchart, Process Flowchart, Cross Functional Flowchart, Data Flow Diagrams, IDEF0 Flowcharts, Organizational Chart, Mind Map, Business Process, and so on. Similar to Visio. Does not generate code or flowcharts from code.

Page 24: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

COMPETING SYSTEMSApplication URL Comment

Rocket® Flowchart Visualization of C#, C/C++ and Java Code. Code.Plugs into Visual Studio and Eclipse,

http://www.dzone.com/links/flowchart_visualization_of_c_cc_and_java_code_as.html

Display generated flowcharts alongside code.Claims: Development tools which facilitate rapid production and improve productivity. Generates XML Documentation and Javadoc comments. Produces detailed designs before code is written.  The above claims seem to be inconsistent and therefore cannot be taken seriously

AthTek Flowchart to Code Creates source code/software from flowcharts in a manner similar to Raptor.

http://programming.softlandmark.com/source_code/AthTek_Flowchart_to_Code_Info.html

Is actually a copy of Raptor. Supports multiple languages. Claims: Helps software engineers to quickly create applications for iPhone, iPad, Android, PC and websites. A companion tool of Code to FlowChart. Generates HTML, C/C++, Delphi and VB code. Has a code editor. Has limitations similar to that of Raptor..

IBM Rational RhapsodyModelling language for Object Oriented Programming (OOP) systems and UML.

http://www-01.ibm.com/software/sw-services

Generate code in C++ and other OOP languages from UML diagrams. Well known in academia for teaching OOP concepts. Packaged services: Private (on-site) classroom training, Off-site web base training, Short-term assistance IBM’s Rational service is intensive and requires close connection with the software vendor.

Page 25: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

TESTIMONIALS

Page 26: What is it?  A high productivity automated logic design and code writing system!!??  Programmers no longer need to pay attention to Language Syntax.

VERSIONS AND PRICEProgramming Language

Price (US$)Shipped

Price (US$)Download

Free Tutorial version?

ANSI C++ 275 40 Yes

Ms Visual Basic 215 45 Yes

BASIC 25 15 Yes

Pascal 30 20 No

Java 245 40 Yes

ForTran 215 40 No

JavaScript 95 40 No

PHP

Intel Assembly