School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 1 of 3 ITECH5403 - Assignment 1 - Language Design Essay Due Date: 5pm, Friday of Week 7 This assignment will...

1 answer below »
easy


School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 1 of 3 ITECH5403 - Assignment 1 - Language Design Essay Due Date: 5pm, Friday of Week 7 This assignment will test your knowledge of programming language design features, and is worth 20% of your non-invigilated (type A) marks for this course. Topic Overview Since the development of Plankalkül back in the 1940s, a large number of programming languages have been designed and implemented - each for its own specific problem domains and made with its own set of design decisions and compromises. For example there are languages which:  Are strongly typed and loosely typed,  Provide support for object orientation / abstraction of data types,  Use static or dynamic scoping rules,  Provide memory management (i.e. garbage collection) or allow the developer fine-grained control over heap-allocation and recycling,  Provide closures to allow functions to be passed around like variables,  Allow easy access to array slices and those which do not,  Perform internal correctness checking of data and those which do not,  Provide diverse and comprehensive suites of built-in functionality and those with a more limited set of features,  Use pre-processors and macros to selectively expand or substitute source code, etc. Each of these decisions can have a profound effect on the usefulness of a programming language in terms of factors such as its speed, robustness and general suitability to create programs of a certain type, such as for operating systems, or in the areas of business, scientific computation, artificial intelligence or video games. The topic of your essay is to design a language for the problem domain of Banking. Banking encompasses a number of areas including aspects of business, finance, and customer relations. It is worth thinking about the aspects of a banking system in terms of a number of features, including:  Performance;  Use and precision of data types and structures;  Maintenance of code;  Flexibility of design and implementation; and  Robustness requirements in such a critical domain. School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 2 of 3 Even though security aspects are worth considering, the features of the language are the primary concern in this essay. With this in mind your task is to theoretically design a language suitable for the use within the banking domain. The actual implementation of the language and tool set is obviously outside the scope of this course, but you must express and justify the design decisions behind your programming language in terms of:  The features and functionality that will allow your language to be suitable and useful within the banking domain (including what differentiates it from existing languages),  The programming paradigms, such as procedural, object oriented, logic and functional programming. You are free to design your language to be either interpreted, compiled or to work in a hybrid manner, but you must thoroughly justify your decision. All language design choices must be sound, rational decisions which are backed up by robust discussion of the subject area. In addition, your document should include numerous references to back up any and all specific claims that you make. All references should be made in the APA referencing style. Submission and Marking Process Your essay should be between 3,000 and 4,000 words inclusive and may contain diagrams or images as you see fit. All diagrams, charts, images or other externally created materials incorporated into your essay must be appropriately referenced. You may supply your completed essay in either Word or LibreOffice/OpenOffice format in which the document can be edited – no proprietary Mac specific formats, please. Assignments will be marked on the basis of fulfilment of the requirements and the quality of the work. In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limited to):  Incomplete language feature coverage,  Incomplete submissions (e.g. missing subject areas – see the marking guide),  Poor spelling and grammar, and  Incorrect adherence to the APA referencing style. Submit your document to the Assignment 1 Upload location on Moodle before the deadline of Friday of week 7 at 5pm. The mark distribution for this assignment is outlined in the provided marking sheet on the following page. School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 3 of 3 ITECH5403 – Comparative Programming Languages Assignment 1 – Language Design Essay Student name: Student ID: Requirement Weight Mark - Introduction and explanation of language purpose. 10 - Choice and justification of interpretation/compilation method(s) to be used. 10 - Discussion of memory management and scoping features. 10 - Specification and rationale for major language features in terms of: - Simplicity, - Orthogonality, - Data types, - Syntax design, - Support for abstraction, - Expressivity, - Type checking - Exception handling, and - Restricted aliasing. 45 - Discussion of the readability, writability and reliability of the language based on the language characteristics as chosen. - 15 - References and APA referencing style. - 5 - Spelling and grammar. - 5 Assignment mark total / 100 Contribution to unit mark (out of 20%) % Comments:
Answered Same DayAug 26, 2020ITECH5403

Answer To: School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 1 of 3...

Meenakshi answered on Aug 29 2020
147 Votes

8/28/2018
FQL: A Proposal for a Finance Query Language
Introduction
The object of this paper is to devise a banking sector language that is complete banking language .We propose and introduce a language FQL .The FQL is a language that is complete banking language that having the feature for designing the object oriented language, gui , auditing feature and SQL integrated language We designed FQL with the goals that we propose according to the requirement. In today scenario there are lots of languages but no one fit into bank sector requirement .The bank sector language needs are different as bank need a secure, speedy, auditing facility, utility , digital payment software and many more and these all are not supported by any programming language so we propose a language that having all the feature that support to design the bank sector software that is simple, robust ,secure and support to distributed . The programming language will FQL fully support object oriented feature ,relation database management system and digital payment gateway feature and secure from virus and hacker.
Basic requirement for language
The banking software main requirement is multi-tier functionality and that software need to support number of concurrent user sessions. The main requirement is we find any information faster .
1. The bank software is a combine package and it is a large-scale Integration like Bill Pay utility and Trading Accounts
2. The bank application must be a Real-Time and Batch processing
3. The bank software would be secure and speedy transaction.
4. Another requirement is robust reporting that is store day to day transaction.
5. The bank software requirement would be auditing tools for customer problem
6. The bank software requirement is big data storage system and a strong disaster recovery management.
7. The bank sector having various type of requirement as bank day by day provide the add more facility to customer. The customer wants easily operate and secure syst
em. The bank sector needs to secure transaction system that will work big data storage system .
Propose language
As we discuss and analysis the requirement we propose a language that is for appropriate for
Bank sector.FQL our propose language working based on FQL compiler and FQL Virtual Machine.FQL language have a intelligent garbage collector that automatically remove unused variable and objects. This language not support to pointer so memory leakage problem is solve. The FQLVM at the time of execution for code virus detection start if virus is found then code will not run.The first step is our FQL develop program compile with FQL compile and that convert the code into FQLbytecode .This FQLbytecode run with the help of FQL virtual machine
Among object-oriented languages, one feature that varies considerably is whether the language allows multiple inheritances. FQL takes a middle ground approach of allowing multiple inheritances of inherit_interfaces but not classes. In order to enforce simplicity should be the main reason for omitting multiple inheritances. In FQL we use inherit_interface multiple inheritance for and there is no concept more than one class only one class inherit. The FQL language proposes feature is introduce according to banking sector requirement. the FQL language is secure language .The platform are two types one is hardware base platform and another is software base . In FQL we propose software base platform and support to Write Once Run Anywhere. The propose FQL language will support RDBMS (Relational Database Management System) and enrich with all object oriented feature with secure digital payment feature.
In this propose language we describe in this section FQL language feature and that will enrich with bank related solution and we no need to integrate the another utility tools
1 Abstract Data Type
In this language we propose abstract data type that is similar to another object oriented language
2. Aggregation
This proposes language is support to aggregation. The purpose language support two type of aggregation
1. Composition Aggregation
2. Collection Aggregation
Attribute
This proposes language support to attribute. This is similar as another object oriented language
3..Class
In FQL our propose language define a class using CLASS keyword.
Dynamic (Late) Binding
The language support to late binding that is polymorphism .
3.Encapsulation
The encapsulation feature is similar to another object oriented language like Java.
The abstract data type implements using the keyword inherit_interface
4.Inheritance
The inheritance feature is similar to java language. Inheritance is help for reusability of the object-oriented code. This will work in this language using the keyword inherit.
Inherit_interface
FQL inherit_interface contains no implementation:
Method
The implementation of some behavior of an object
5.Overloading
The our propose language support the overloading but not support operator overloading
6. Polymorphism
7.Primitive Type
The our propose the FQL language data type similar to another object oriented language data type int, float, double, char, Boolean.
In FQL implementation of gui is easy and readymade classes so graphical interaction is easy
Import FQL,gui.FButton
FButton b = new FButton ();
There is no coding require for graphical work here FButton is class of gui package so gui package have lots of classes fLabel,TfextField,fTextArea,FButton,fRadio etc. The data base connectivity in FQL very easily with the help of fql.sql package.
8 FQL programming is easy due to FQL provided package and supporting software. FQL language learning is easy for who are not familiar with FQL
9. Our proposed language FQL has Relational Database Management feature
10. Our propose language having the all feature that is for relational model that model rules design by E.F.Codd..
11.    Our language proposed the information has stored in table .
12.    Our propose language store information in table that has been support to relations among the tables
13.     The main feature of language is for maintain the information facility primary key, to uniquely identify the rows
14.    The language has support to faster data retrieval with the help indexes.
15.    this language having the to a virtual table creation feature that is for sensitive storage and simplified query can be applied.
16.     This language support to multi user accessibility
17.    This financial language having all the feature of C and C++ programming language.
18.     This language support to develop program on UNIX Operating System (OS) or window based .
19.    FQL is internet programming language.
20.    Our propose language is support to for design and develop centralized level MIS report.
21.    FQL facilitates anywhere banking problem
22.    This language is support to add new feature according to requirement .
23.    FQL provides multi-language support
24.     FQL provides security on operation, database and application level security that is known as multilevel security.
25.    Seamless multichannel banking
26.    The propose language is object oriented feature
27.    Our propose language is distributed functionality
28.    The language support to multi threaded functionality
29.    Our propose language is portable
30.    Our propose design language not support to design the virus
31.    Finlang language is supported to provide gui interface and it is help for working in table for creating, deleting, modification .
32.    Our design language is supporting feature for interconnected SQL Engine.
33.    Finlang support to SQL queries types command.
34.    Users: the group of people who uses the database.
35.    The language working is fast and accurate.
36.     In our proposed language having data security level is very high so no one can easily hack the system.
37.    Our propose language having the feature is design to gui interface
38.    Namespaces: In our propose language we provide the namespace feature it function such as a visual basic namespace function.40.    Adding references: in our proposed language if we want to use the current application than we require adding a reference to external object.
39 .Multithreading: in our propose language we provide the facility to handle the multiple task simultaneously
40 FQL language having 64 keyword for inheritance we use keyword is INHERIT
41 In FQL language we propose a wrapper class for the array data type that Anyarray this class have constructor and we pass the data type in constructor and its works according to passing argument .
Class Name:Anyarray
Anyarray() the default constructor for string type
Anyarray(argument ) the argument is any primitive data type
For adding the any data type function is add(value)
Add()
For deleting the any data type value is delete() with index number
Delete(index)
For delete all value from the array is deleteall()
Deleteall()
For showing the value using index
Show(index)
For the showing the all values
Showall()
42 The varchar2 is wrapper class that is for data type we can convert any data type using this class
Varchar2() constructor
Varchar2.int(string or varchar2)
Varchar2.float(string or varchar2)
Varchar2.double(string or varchar2)
Varchar2.long(string or varchar2)
The above define function is for converting the data type according to requirement.
43 FQL not support to operator overloading
44 FQL support for new feature define the classes and package as like java.
45 FQL support payment integration system using integration class where we add the payment method with the help of add method where we define the type of payment method define
46. The rel is a keyword that is for describing the relationship between table and we design a class converttabletext that have two method converttable() and converttext that is very help full for bank project .the relation is require for the purpose for faster searching as we are using feature of RDBMS.
Conclusion:
In this paper we are propose a programming language FQL that is related to banking sector. We require the integrated many language and tools when we are design and develop a banking project. The propose language is simple, robust, platform independent .The propose language coding is very easy for developer .The developer easily switch for this language .The banking sector like this language as this language having complete feature those support for banking software .If our proposed language is successfully run, then we needed an only one language that will enrich with all bank related feature.
References
[1] Fleury, A. (2000) ‘Programming in java: student-constructed rules’, ACM SIGCSE Bulletin, Vol. 32, No. 1, pp.197–201.
[2] Repenning, A. (1993). Agentsheets: A Tool for Building Domain-Oriented Visual Programming Environments. Proceedings of INTERCHI '93, Conference on Human Factors in Computing Systems. Amsterdam: 142-143.
[3] Fang Wei, S. H. (May 2005). A Student Model For Object-Oriented Design And Programming. Journal of Computing Sciences in Colleges, 20(5), 260-273.
[4] Singh, T. (2012). New Learning Methodology for Student of Java Programming Language.
International Journal of Engineering Research and Development, 17-19.
[5] Singh, D. T. (January 2017). Review: A Study On Needs Of Essentials Factors For E-Learning. International Journal of Advance Research in Science and Engineering, 31-35.
[6] Rafael H. Bordini, L. B. (2006). A Survey of Programming Languages and Platforms for Multi- Agent Systems. Informatica, 33-44.
[7] Yin Liu, A. M. (2010). Static Information Flow Analysis with Handling of Implicit Flows and A Study on Effects of Explicit Flows vs Implicit Flows. Software Maintenance and Reengineering (CSMR), 2010 14th European Conference (pp. 1-10). Madrid,spain: IEEE .
[8] Singh, T. (March 2013). New Software Development Methodology for Student of Java Programming Language. International Journal ofComputer and Communication Engineering, 194-196.
[9] Carter, J. and Fowler, A. (1998) ‘Object oriented students?’, SIGCSE Bulletin, Vol. 28, No. 3, p.271. Cooper, S., Dann, W. and Pausch, R. (2000) ‘Alice: a 3-D tool for introductory programming concepts’, Journal of Computing in Small Colleges, Vol. 15, No. 5, pp.108–117.
[10] https://www.journaldev.com/2389/java-8-features-with-examples
[11] Barnes, D. and Kölling, M. (2004) Objects First with Java: A Practical Introduction using BlueJ, Prentice-Hall/Pearson Education, Harlow, England.
[12]
[13] https://docs.microsoft.com/en-us/visualstudio/ide/whats-new-in-visual-studio?view=vs-2017https://docs.microsoft.com/en-us/visualstudio/ide/whats-new-in-visual-studio?view=vs-2017
[14]Fleury, A. (2000) ‘Programming in java: student-constructed rules’, ACM SIGCSE Bulletin,
Vol. 32, No. 1, pp.197–201.
[14]Fleury, A. (2001) ‘Encapsulation and reuse as viewed by java students’, ACM SIGCSE Bulletin, Vol. 33, No. 1, pp.189–193.
[15]Holland, S., Griffiths, R. and Woodman, M. (1997) ‘Avoiding object misconceptions’,
ACM SIGCSE Bulletin, Vol. 29, No. 1, pp.131–134.
[16] Nevison, C. and Wells, B. (2003) ‘Teaching objects early and design patterns in java using case studies’, Proceedings of the 8th Annual Conference on Innovation and Technology in
Computer Science Education, Thessaloniki, Greece, pp.94–98.
[17]Kölling, M., Quig, B., Patterson, A. and Rosenberg, J. (2003) ‘The BlueJ system and its pedagogy’, Journal of Computer Science Education, Vol. 13, No. 4, pp.249–268.
[18] Hristova, M., Misra, A., Rutter, M. and Mercuri, R. (2003) ‘Identifying and correcting java
programming errors for introductory computer science students’, ACM SIGCSE Bulletin,
Vol. 35, No. 1, pp.153–156.
[19] Proulx, V., Raab, R. and Rasala, R. (2002) ‘Objects from the beginning – with GUIs’, Proceedings of the 7th Annual Conference on Innovation and Technology in Computer Science Education, Aarhus, Denmark, pp.65–69.
[20]Parker, K.R., Ottaway, T.A. and Chao, J.T. (2006) ‘Criteria for the selection of a programming language for introductory courses’, Int. J. Knowledge and Learning, Vol. 2, Nos. 1–2, pp.119–139.
[21]Pattis, R.E., Roberts, J. and Stehlik, M. (1995) Karel the Robot: A Gentle Introduction to the Art of Programming, 2nd ed., John Wiley & Sons, New York.
[22] Smith, D. C., A. Cypher, et al. (1994). "KidSim: Programming Agents Without a Programming Language." Communications of the ACM. 37(7): 54-67.
[23]Sanders, D. and Dorn, B. (2003) ‘Jeroo: a tool for introducing object-oriented programming’, ACM SIGCSE Bulletin, Vol. 35, No. 1, pp.201–204.
[24] Dertouzos, M. and e. al. (1992). ISAT Summer Study: Gentle Slope Systems; Making Computers Easier to Use. Presented at Woods Hole, MA, August 16.
[25]Baecker, R. (1986). Design Principles for the Enhanced Presentation of Computer Program Source Text. Proceedings of CHI'86 Conference on Human Factors in Computing Systems. M. Mantei and P. Orbeton. Boston, ACM: 51-58.
[26]Billingsley, P. (1995). "Hard Test for Soft Products." SIGCHI Bulletin. 27(1): 10.
[27] Calder, R. B., J. E. Smith, et al. (1993). "ModSAF Behavior Simulation and Control". Proceedings of the Third Conference on Computer Generated Forces and Behavioral Representational, Orlando, FLA.
[28] A proposal for teaching Object-Oriented Programming to undergraduate students. Available from: https://www.researchgate.net/publication/240749438_A_proposal_for_teaching_Object-Oriented_Programming_to_undergraduate_students [accessed Aug 27 2018].
[29]DiGiano, C. and M. Eisenberg (1995). Self-Disclosing Design Tools: A Gentle Introduction to End-User Programming. Proceedings of DIS'95 Symposium on Designing Interaction Systems: 189-197.
[30] Green, T. R. G. and M. Petre (1992). When Visual Programs are Harder to Read than Textual Programs. Human-Computer Interaction: Tasks and Organisation, Proceedings of ECCE-6 (6th European Conference on Cognitive Ergonomics). G. C. van der Veer, M. J. Tauber, S. Bagnarola and M. Antavolits. Rome, CUD.
[31]Fry, C. (1997). "Programming on an Already Full Brain." Communications of the ACM. 40(4): 55-64.
[32]Gelernter, D. and N. Carriero (1992). "Coordination Languages and their Significance." Communications of the ACM. 35(2): 96-107.
[33]Gray, W. and J. R. Anderson (1987). Change-Episodes in Coding: When and How Do Programmers Change Their Code. Empirical Studies of Programmers: Second Workshop. G. M. Olson, S. Sheppard and E. Soloway. Norwood, NJ, Ablex: 185-197.
[34] Fitter, M. J. and T. R. G. Green (1979). "When Do Diagrams Make Good Computer Languages?" International Journal of Man-Machine Studies. 11: 235-261.
[35]Green, T. R. G. and M. Petre (1996). "Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework." Journal of Visual Languages and Computing. 7(2): 131-174.
[36]Green, T. R. G., M. Petre, et al. (1991). Comprehensibility of Visual and Textual Programs: A Test of Superlativism Against the 'Match-Mismatch' Conjecture. Empirical Studies of Programming: Fourth Workshop. J. Koenemann-Belliveau, T. G. Moher and S. P. Robertson. New Brunswick, NJ, Ablex Publishing Corporation: 121-146.
[37]Hix, D. and H. R. Hartson (1993). Developing User Interfaces; Ensuring Usability Through Product & Process. New York, John Wiley & Sons, Inc.
[38]Hoc, J.-M. and A. Nguyen-Xuan (1990). Language Semantics, Mental Models and Analogy. Psychology of Programming. J.-M. Hoc, T. R. G. Green, R. Samurçay and D. J. Gilmore. London, Academic Press: 139-156.
[39]Hutchins, E. L., J. D. Hollan, et al. (1986). "Direct Manipulation Interfaces". User Centered System Design, Hillsdale, New Jersey, Lawrence Erlbaum Associates.
[40]Lewis, C. and G. M. Olson (1987). Can Principles of Cognition Lower the Barriers to Programming?. Empirical Studies of Programmers: Second Workshop. G. M. Olson, S. Sheppard and E. Soloway. Norwood, NJ, Ablex: 248-263.
[41]Myers, B. A. (1990). "Taxonomies of Visual Programming and Program Visualization." Journal of Visual Languages and Computing. 1(1): 97-123.
[42]Myers, B. A. (1992). "Demonstrational Interfaces: A Step Beyond Direct Manipulation." IEEE Computer. 25(8): 61-73.
[43]Myers, B. A., A. Ferrency, et al. (1997). Debugging Interactive Applications. Submitted for Publication.
[44]Myers, B. A., D. A. Giuse, et al. (1990). "Garnet: Comprehensive Support for Graphical, Highly-Interactive User Interfaces." 23(11): 71-85.
[45]Myers, B. A., R. G. McDaniel, et al. (1997). "The Amulet Environment: New Models for Effective User Interface Software Development." IEEE Transactions on Software Engineering. 23(6): 347-365.
[46]Myers, B. A., D. C. Smith, et al. (1992). "Report of the `End-User Programming' Working Group". Languages for Developing User Interfaces, Boston, MA, Jones and Bartlett.
[47]Nardi, B. A. (1993). A Small Matter of Programming: Perspectives on End User Computing. Cambridge, MA, The MIT Press.
[48]Newell, A. and S. K. Card (1985). "The Prospects for Psychological Science in Human-Computer Interaction." Human-Computer Interaction. 1(3): 209-242.
[49]Nielsen, J. (1993). Usability Engineering. Boston, Academic Press.
[49]Pane, J. F. and B. A. Myers (1996). Usability Issues in the Design of Novice Programming Systems. Pittsburgh, PA, Carnegie Mellon University. CMU-CS-96-132.
[50]Papert, S. (1971). Teaching Children Thinking. Cambridge, MA, MIT. AI Memo No. 247 and Logo Memo No. 2.
[51]Pausch, R., M. Conway, et al. (1992). "Lesson Learned from SUIT, the Simple User Interface Toolkit." ACM Transactions on Information Systems. 10(4): 320-344.
[52]Shneiderman, B. (1983). "Direct Manipulation: A Step Beyond Programming Languages." IEEE Computer. 16(8): 57-69.
[53]Dr. Tejinder Singh1, E. G. (May 2016). Review M-Learning: Learning Environment Using Android Mobile Application. International Journal of Advanced Technology in Engineering and Science, 225-227.
[54] objectKarel (2005) Available at: http://www.csis.pace.edu/~bergin/temp/findkarel.html, last
accessed on October 2008.
9
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here