Analysis and Report on AcLab Programming Language Design

Verified

Added on  2021/06/16

|12
|3724
|47
Report
AI Summary
This report provides an in-depth analysis of the AcLab software design language, designed primarily for educational applications. It begins with an introduction to the need for custom programming languages and outlines key considerations in their design, such as scoping rules, memory management, and object orientation. The report then introduces AcLab, detailing its features, including graphical user interface support, high-level design with data abstraction and inheritance, database connectivity, and module development. It explores the compilation method, highlighting the use of IDEs and memory management techniques like heap allocation, object allocation, and garbage collection. The scoping features, including local and global scopes, are discussed. The report concludes with a discussion of AcLab's specifications, including simplicity, orthogonality, data types, and syntax, emphasizing its ease of use and suitability for educational purposes. The language's design aims to simplify the development of online educational systems, supporting features like video sharing and online payment systems.
Document Page
ACLAB PROGRAMMING LANGUAGE
Student University
Student name
Number
Affiliation
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Introduction
Most of the software engineers always think how they cannot outline and develop their own
particular program design dialect with a specific end goal to make their software design simple
and ready to handle since they always trust that the dialect will totally meet their necessities. The
outline and growth of the new software design dialect is conceivable as long as some regular
factor are put into thought, Brady (2013). Keeping in mind the end goal to make the best
software design dialect, it is sufficiently reasonable to consider the accompanying amid the
outline procedure. This includes the following;
i. To consider of the dialect will contain the capacity to give arrangements of the
terminations keeping in mind the end goal to enable the elements of the dialect to be
passed only the way factors are passed.
ii. If the software design dialect outlining will be emphatically or approximately composed.
iii. Consider if the dialect will give the amendment capacity of the source code. This should
be possible however the attempt – get capacity that tosses special cases for blunder taking
care of.
iv. To check if the dialect under development will contain the capacity to make utilization of
the static or rather unique extension rules. The static extension is otherwise called the
lexical degree.
v. To check the level of memory administration of the dialect.
vi. If the dialect will contain the capacity to offer help to the question introduction
subsequently alluded to protest arranged software design dialect. This implies the dialect
will bolster information reflection and legacy where the youngster classes will contain the
capacity to take and utilize the qualities of the parent class.
Placing this all elements into thought, however not all elements to consider before planning
and building up a software design dialect. The dialect being made up of and produced for this
case is named AcLab Software design Language. The dialect will probably be suitable to the
Document Page
instruction part since the highlights under this dialect will be considered as highlights to tackle
the issues of the instructive segments.
AcLab Software design Language
In accordance to Bruce (2008). AcLab software design dialect will be a dialect that will
create instruction arranged online frameworks. The software design dialect will contain the
accompanying highlights with a specific end goal to outfit the reason.
1. Will be finished supporting the graphical UI
2. The dialect will be abnormal state software design dialect supporting the information
reflection and furthermore legacy.
3. The software design dialect will be in a position to be associated with various databases
that incorporates NoSQL ,MySQL, and MONGO database among others. By so doing, will
empower engineers to contain the capacity to make the customer and server side supporting
frameworks.
4. The dialect will bolster subject and module development accordingly the vast majority of
the instruction framework highlights that for this particular consition incorporates the enlistment
module, the login module and the charge installment module , reviewing module and other
related modules will be promptly accessible in the dialect as this will help in making it simpler
for the engineers to make the framework.
5. Because the dialect will keep running on program and will be facilitated on the web, the
dialect therefore will contain the capacity that helps diverse exchange that are completed on
online entrances that incorporates, web based visiting frameworks and informing, online
installments, will be bolstered by all programs that are accessible and furthermore the dialect
will also contain the capacity that helps overhaul and the web association tasks.
6. AcLab dialect for software design would be in a condition that deals with online assets
for taking in, the dialect might contain the capacity to help video catch and video sharing and
play and furthermore can also support downloading. The same to sound since it is also the
essential level for training area.
Document Page
Compilation method
A compiler is a PC based program or software design that changes over the high state
program design dialect codes to a low level machine dialect that will be comprehended by a PC
for the purpose of execution. Interpretation of the code by the compiler makes the executable
projects.
The dialect will keep running on program as prior expressed. Much the same as the way
other software development dialect for creating on the web framework are altered in IDEs,
AcLab program design dialect will be altered in a similar IDEs that incorporates the
accompanying; Notepad++ and any other Editor that is used for the compilation of the web based
software design languages, Cox (2016).
AcLab Software design Language Memory Management
AcLab Memory management
Memory management is defined as the whole process that involves, the control and
coordination of the memory a computer , that includes assigning the memory sections to some
programs that are running in order to optimize the performance of the system.
Each and every PC program needs the allocation of the memory with the goal for it to run
easily. The distribution of memory is utilized for information stockpiling and furthermore
information structures. In order for the program to be consequently put away, a memory is
likewise needed for the same purpose, Hoare (2010). Truth be told , assuming that the dialect
created can apportion the memory and can't free the memory, at that point the program created
utilized such a software design dialect will keep running for quite a while , the execution and the
run time will be essentially long and in conclusion, the program will come up short on memory
and may even hand or evencrash down.
AcLab software design dialect will contain every one of the highlights to oversee
memory, this incorporates both memory distribution and arranging for the memory as well. In
order to make this more productive, the dialect will be created with a programmed memory
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
administration and rubbish accumulation includes so the procedure could be proficient and
sufficiently successful.
For these to be down to earth enough, the dialect will contain the accompanying
components that are exceptionally essential for memory administration.
Heap
The AcLab software design dialect will contain the store that will contain the articles.
The load is typically made instantly the projects executes. At that point when the information
stores is full in that specific load, the refuse will be gathered. This is the information that are not
being used at all or information whose capacity is finished, Halbwachs et al (2011).
Allocation of the object
The dialect will contain the element to allot memory for items, for example, variable and
the arrays . At the point when the program runs, a few information will be put away in a
transitory memory called the variable and others in an exhibit, This items are allotted memory to
impermanent capacity, Rumbaugh et al (2011).
Garbage Collection
This is the technique for getting the question and the stack arranged for. The dialect will
contain this exceptional component keeping in mind the end goal to make the program created
run speedier and easily.
AcLab Scoping Features
To the extent software design dialects are concerned, the extension is the variable and the
strategy or capacity perceivability in various area and parts of the program. The AcLab software
design dialect will contain the degree include that for this situation is ordered into the nearby and
the worldwide extension, McKeeman et al (2014). The dialect will be created with the worldwide
degree so this can be simple for the strategy for association with the database to be reused n
every last class of the program being produced utilizing the AcLab software design dialect.
Document Page
Determinations of AcLab Software design Language
Simplicity: In software design and software design improvement, the software design dialect
simplicity is the quality that is constantly wanted by the clients and the engineer of the dialect as
well. Despite the fact that this isn't anything but difficult to clients of the dialect. AcLab software
design dialect will be straightforward and simple to lean. Its effortlessness will be accomplished
in the accompanying ways.
i. The sentence structure of the dialect will be straightforward.
ii. The libraries will be transported in to the code naturally.
iii. The code will be effectively seen even by the non software engineer.
iv. The highlight to deal with mistakes utilizing the blunder taking care of attempt discover
taking care of will be fused, this will help in taking care of any blunder on runtime.
v. The aggregate time mistake and execution blunder dealing with will likewise be taken
care of.
Orthogonality :, Orthogonality in program design basic demonstrates that a little crude
constructors be consolidated together in little numbers with a specific end goal to control and
assemble the dialect information structures, Smith (2015). It is trusted that the more orthogonal
the plan is, at that point the more straightforward it is thus the special cases will be further less in
number.
For the AcLab software design dialect, will be more orthogonal than some other dialect ever
previously. The little articulations to execute immense outcomes. From its proposed sentence
structure, a portion of the straightforward orders that will in turn be executing immense
outcomes are as per the following;
@compute to calculate all mathematical computations
@list to arrange all strings in any order
Document Page
@begin-this will be the summon to demonstrate that the execution of the program will begin
from the point.
@stop – this will be the summon to demonstrate that the program execution will end now and
some other code underneath the @end order won't be executed.
@compute – this will be the summon to register any computations accessible.
Case: @ compute ( + 9 5 ) This example code in AcLab will register the addition of 9 and 5
For the understudy entry variant advancement. The code @regForm will be the code to
make a full enlistment shape . This will be exceptionally basic for the designers to make the
framework for the instructive purposes.
Case: @begin @reg FullName, Number , Password @@reg @stop
This is an exceptionally basic code that will make the enrollment shape with name, id and
secret key fields. The software design dialect accordingly will be more orthogonal since basic
and less codes will be utilized to produce more outcomes.
Data types
These are data that informs the program compiler the sort of information the engineer has
utilized or the sort of information that should be utilized. A portion of the cases of data types
incorporates String, Integer etc
The AcLab software design dialect will contain the capacities of utilizing every one of
the information composes including the above. In spite of the fact that the ese of this sort of
information write will be exceptionally basic since the sorts will be shortened in a more
reasonable way as takes after, Stefik & Bobrow (2017).
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
An example of the data types of the AcLab language will be as follows, Bul or Boolean,
Str for string and Int for integer.
This will make it simple for the software engineers to utilize such information writes
amid the coding and advancement process.
Syntax design
The sentence structure of software design dialects are set of principles that represents the
task of the dialect that for this situation incorporates, images mixes. The sentence structure of the
dialect thinks about the accompanying elements:
The AcLab software design dialect will contain the accompanying linguistic structure as
underneath:
The program will start with @begin that demonstrates this is where execution of the
program will begin from.The summon @end will stop the execution of the program. @checked
the start of comments. The hash summon will demonstrate the start of the remark. Remark are
not executed by any stretch of the imagination, they give more course and manual for non
developers on the elements of the code.
All announcements will end with semi colon ( ; ) as this will demonstrate that the
announcement has arrived at an end and some other articulation after the semi colon will be
executed as the following line of code.
The above are a portion of the sentence structure of the AcLab software design dialect
and this are sufficiently straightforward for the engineer or the student of the dialect to
effectively comprehend inside a brief span outline.
Support for abstraction
Information deliberation as in question situated software design dialects, is the way
toward concealing information from the usage mode from the client. Or maybe for this reason,
just the usefulness of the code will be accessible for the client. This just implies for the
Document Page
information deliberation , the client is just ready to see and know how the framework functions
yet can't know how the framework is created to work the way it is working.
Reflection is among the highlights that AcLab software design dialect will contain. This
will be made conceivable through the incorporation of the Interfaces into the dialect, the designer
can shroud the code by making the interface like the Graphical User Interface for the clients of
the framework to communicate and execute on as opposed to connecting with the code itself. In
the message affirmations likewise will be covered up.
Expressivity
This term is utilized to allude to the dialect that is anything but difficult to compose code
that is effectively comprehended by the human peruser and the compiler peruser as well. For the
dialect to be said to be expressive, at that point it must be effortlessly comprehensible and
comprehended.
The AcLab software design dialect will be more expressive since the code will be
effortlessly comprehended by the designer and the compiler as well. This will be finished by
including more crude develops in the dialect.
Type checking
In software design dialects, type checking alludes to how the sort blunders are checked ,
this should be possible at gather time or at run time or both. For the AcLab software design
dialect, the dialect will contain the sort checking abilities at the aggregate time an at run time too.
This is with a specific end goal to decrease the quantity of mistakes however much as could be
expected since this will make work more simpler of the designer to see the blunder as right on
time as feasible for rectification.
Exception handling
According to Pokkunuri (2016). This is a technique utilized as a part of software design
for reacting to odd conditions that may require the extraordinary preparing. This is actualized
likewise in AcLab software design dialect by the utilization of the attempt get special cases. This
will help in getting the mistake that are once in a while outer or blunder from the database code
association or connecting to the AcLab software design codes. For all outside and settled codes
Document Page
and charges, an attempt catch will be actualized to deal with outer blunder and strange
conditions.
Restricted aliasing
This terms alludes to the state of information area in the memory that is gotten in
different names in program. This aides in a such a path, to the point that one the information
adjustment influences every one of the qualities that is related with the name that is associated.
The utilization of the pointers in the AcLab software design dialect will really influence the
accomplishment of this specific component with a specific end goal to fit to the current
Educational division needs, Madsen et al (2013).
Discussion
As demonstrated over, the AcLab Program design Language advancement review
demonstrates that this will then address the issue to all designers of the product and frameworks
identified with training extremely, Ten & Kunz (2016). The dialect has every one of the
highlights and attributes of a protest arranged dialect with abilities of playing out the following:
The dialect will contain the capacity to conceal information utilizing the Interfaces as a technique
for information reflection. The dialect can be associated with the database thus accepting and
sending information is conceivable.
The enlistment and the login capacities is fused henceforth simple to execute the same.
For this dialect, it is simple for this to be produced and actualized into the framework. This must
be done through composing an exceptionally straightforward code @reg and the entire model of
the shape shows up. The installment mode has additionally been made simpler in AcLab
program design dialect as this has been actualized in the code as well. The libraries are required
the installment and the entire capacity of installment with different installment techniques joined
in the same, McIver & Conway (2010).
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Mistake dealing with strategy is great and best. The usage of the attempt get special cases
in the dialect makes it simple for the designer to identify outside issues with the code
consequently this can be amended effortlessly and early.
The sort checking is likewise executed in this program design dialect, all the more
adequate, this procedure has been done in both at gather time and at run time. This is has made it
simple for the mistake recognition and dealing with. The designer in this way can check the
correct line where the blunder is and conceivable to revise the mistake, Rentsch (2009).
The AcLab program design dialect in this way is especially solid program design dialect
for the training part program design advancement and outline. The written work of code is
simple since a large portion of the code are autocreated and along these lines little information
builds and technique can be utilized to execute huge results. The grammar of the dialect is
effortlessly comprehended as observed over, the learning time for the starter is short. In this way,
the code is effectively comprehensible.
Conclusion
AcLab program design dialect will thusly be the best dialect to be utilized as a part of the
advancement of the frameworks whose introduction is for the training. The majority of the center
highlights of the frameworks are fused in the dialect amid its development since its created with
a specific end goal to suit training sector, Berry & Gonthier (2012). It is in this way suggested
AcLab program design dialect is the most capable dialect for the utilization in program design
particularly for the framework improvement in instructive division.
References
Berry, G., & Gonthier, G. (2012). The Esterel synchronous programming language: Design,
semantics, implementation. Science of computer programming, 19(2), 87-152.
Brady, E. (2013). Idris, a general-purpose dependently typed programming language: Design and
implementation. Journal of Functional Programming, 23(5), 552-593.
Document Page
Bruce, K. B. (2008). A paradigmatic object-oriented programming language: Design, static
typing and semantics. Journal of Functional Programming, 4(2), 127-206.
Cox, B. J. (2016). Object-oriented programming: an evolutionary approach : Design, static
typing and semantics. Journal of Functional Programming, 4(2), 127-206.
Hoare, C. A. (2010). Hints on programming language design(No. STAN-CS-73-403).
STANFORD UNIV CA DEPT OF COMPUTER SCIENCE.
Halbwachs, N., Caspi, P., Raymond, P., & Pilaud, D. (2011). The synchronous data flow
programming language LUSTRE. Proceedings of the IEEE, 79(9), 1305-1320.
McKeeman, W. M. (2014). Programming language design. In Compiler Construction (pp. 514-
524). Springer, Berlin, Heidelberg.
McIver, L., & Conway, D. (2010, January). Seven deadly sins of introductory programming
language design. In Software Engineering: Education and Practice, 1996. Proceedings.
International Conference (pp. 309-316). IEEE.
Madsen, O. L., Møller-Pedersen, B., & Nygaard, K. (2013). Object-oriented programming in the
BETA programming language. Addison-Wesley.
Pokkunuri, B. P. (2016). Object oriented programming. ACM Sigplan Notices, 24(11), 96-101.
Rentsch, T. (2009). Object oriented programming. ACM Sigplan Notices, 17(9), 51-57.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., & Lorensen, W. E. (2011). Object-oriented
Smith, B. (2015). Object-oriented programming. In Advanced ActionScript 3 (pp. 1-23). Apress,
Berkeley, CA.
Stefik, M., & Bobrow, D. G. (2017). Object-oriented programming: Themes and variations. AI
magazine, 6(4), 40.
Ten Dyke, R. P., & Kunz, J. C. (2016). Object-oriented programming. IBM Systems
Journal, 28(3), 465-478.
chevron_up_icon
1 out of 12
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]