Distributed Application Specification Language (DASL) is a strongly typed programming language developed by Sun Microsystems Laboratories between 1999 and 2003. The language was a part of the Ace Project, with their main goal of enabling the rapid development of websites and web-based applications.
Being a domain-specific language, DASL defines an application as a domain model with one or more logical presentation models, which can generate a graphical user interface meaning that the user interface can interact with electronic devices from icons and audio indicators as the input-type.
DASL is mostly used to create business applications since it is aimed to express the semantics of a broad domain of executable applications precisely without any architecture-dependent details.
About Sun Microsystems, Inc.
Sun Microsystems, Inc. An American computer-related company founded by Andreas Bechtolsheim, William Joy, Vinod Khosla, and Scott McNealy in 1982. The purpose of selling low-cost but high-performance desktop computers that use the Unix operating system.
They became popular very quickly with engineers, software developers, and scientists since they could have dedicated machines rather than sharing the more expensive mainframe computer systems.
In 2010, the company was purchased for an estimated price of $7.4 billion by Oracle Corporation, a global corporation that develops and markets computer software applications for businesses/companies.
About Oracle Corporation
Oracle Corporation is also an American computer technology corporation headquartered in Austin, Texas. The company mostly sells database software and technology, cloud-engineered systems, and enterprise software products.
In 2019, Oracle was the second-largest software company by revenue and market capitalization. Another way that the company creates revenue is to develop and build tools for middle-tier software, enterprise resource planning (ERP) software, human capital management (HCM) software, customer relationship management (CRM) software, and supply chain management (SCM) software.
Language Components of DASL
DASL/BOS: BOS meaning business object specification. It is for the specification of the persistent business objects, relationships, and methods changed by the application. If the programmer already knows the Java language, it would be easy to learn with its higher-level abstraction.
DASL/AUS: AUS meaning application usage specification. Uses sets of states and transitions that choreograph how the application uses the business objects. The AUS uses Java-like syntaxes to invoke business object methods during transitions. AUS also supports Java-like syntax, as does BOS for defining method bodies.
DASL/OQL: Implements a clean subset of the OQL query language for querying and changing the persistent store, where OQL is a standard defined by the subgroup of the Object Management Group (ODMG). By design, OQL is compatible with a subset of SQL and is required only for defining application tasks that specifically need it, such as retrieving a set of objects based on their attributes. Queries that are required for simple applications are deployed automatically by the DASL compiler.
What platforms utilize DASL?
Platforms that utilize DASL are the main ones, such as HTML, Java, and even MySQL since it has the ability to be recompiled with the latest code generators since the main purpose is aimed to improve the speed of creating web-based applications, not create a new way to create web-based applications entirely.
Sun Microsystems was able to acquire the open-source database MySQL for $1 billion in 2008, which was very advantageous with MySQL being very popular, which is now also helping with the success of Oracle.
Oracle Corporation had actually filed a multibillion-dollar lawsuit against Google, Inc. since they had illegally used elements of Java when developing their Android operating systems for smartphones. But in 2016, a jury found that Google did not violate Oracle’s copyrights.
Benefits and Downsides of DASL
The biggest benefit that DASL gives over 3rd generation programming languages (3GL) such as Java, XML, SQL, COBOL, Fortran, Algol, C, and Lisp, is the fact that if done correctly, the application can be coded in a very precise/efficient way.
A small enterprise application in DASL can typically be completed with 8,000 to 10,000 lines of code, but in a 3rd generation language, it would have to be completed in around 200,000 lines of code. Another benefit of DASL is that it is independent of implantation technologies such as middleware and network topology.
Trends regarding DASL
DASL may be popular among software developers and engineers since it is very efficient, but it does not seem to be widely known among the public. When researching the language, the only things found were from Wikipedia or the DASL Reference Manual.
Although it is quite strange that if there is an article that talks about DASL, it usually refers back to the Wikipedia page, meaning that the only true web page that talks about DASL are the Wikipedia page.
Sun Microsystems wanted to have a new approach to system architecture with DASL. They made it, so DASL does not make system architects obsolete. System Architectures can use DASL as leverage to encode their expertise of improved design patterns by writing new DASL deployment engines.
Today, DASL generators are being used to produce Rich Internet Applications, which are just web applications with many desktop applications. Examples are Adobe Flash and Microsoft Silverlight.
Example of DASL in code
<foreachStatement> ::= <scriptStatement>
::= remove <forIterationVariable> ;
::= $remove <forIterationVariable> ;
Simple for each statement that can be used to create an if statement for a certain object.
CHECK happyBoss ( Employee.salary <= Employee.manager.salary );
Condition used to ensure that an employee’s salary cannot be greater than a manager’s salary, which could help a business run smoothly.
DASL is a handy language used among many software developers and software engineers since it is very efficient and requires a lot less coding. Whether it is for rich internet applications or a business application, DASL would be a good language to use since it is a high-level/strongly typed language.