Assignment: MINDTAP Assignment Cengage
Assignment: MINDTAP Assignment Cengage
Assignment: MINDTAP Assignment Cengage
Permalink:
Have to do only Chapter 1: The Science of Psychology of 4 activities and Part 1: Foundations in Biological Psychology of 2 activities. BUT YOU HAVE TO READ FIRST!! before doing those activities.
There are basically three kind of tool features namely Respect of Abstraction, Assistance
and Quality Factor/reftool. The purpose of abstraction is to reduce software description.
Abstraction can be intrusive pr seamless. Assistance aims at guiding the DSL tool user dur-
ing definition and transformation of domain data. Assistance is adaptive when assistance
changes in function of the context of usage and its Static when it does not changes. Process
guidance guide the user at a process step or at the process workflow level and Checking is
mandatory in the feature model because a DSL tool must ensure consistency and complete-
ness of domain data. DSL checking can be realized on the fly or on user action. Quality
Factor covers non-functional aspects of DSL Tool.
6
Figure 4: Specification Features
Figure 5: Target Asset Features
7
Figure 6: Operational Transformation Features
Figure 7: DSL Tool Features
8
Figure 8: DSL Process Features
4.4 DSL Process Features
A DSL process defines how development projects with DSL must be executed. This part of
the feature model addresses the Domain-Specific Software Development (DSSD). It can be
of three types: Work Definition, Role and Guidance/refProcess.
5 Languages Surveyed
5.1 OptiML
Highly expressive language textual programming language built on top of Scala
OptiML provides the link between ML applications and heterogeneous parallel hard- ware
OptiML code outperformed explicitly parallelized MATLAB code on heterogeneous system
Require no knowledge of the underlying embedding implementation
No explicit parallelization
No explicit code for the lower level programming models
Statically typed language
9
Declarative language
Transative language
Support Vector, matrix, Graph operations
Does not supports Distributed and Cloud computing feature
5.2 ScalOps
It enables algorithms to run on cloud
Textual programming language
A declarative language
Statically typed
Supports vector, matrix,and graph operations in both parallel and cloud computing environment
Transative language
5.3 Scala
It is concise
Has broad applicability
Texual programming language
5.4 PIG LATIN
Textual programming language
Imperative language
Dynamically typed
Translational language
Support Vector, matrix operations
Does not support graph operations
Supports Distributed and Cloud computing feature
Supports parallel operation
10
5.5 Breukervl
Modeling Graphical language
Descriptive language
Does not Support Vector, matrix and graph operations
Does not supports Distributed and Cloud computing and parallel computing feature
5.6 Possibility of survey of other language
As time permits, I would take to take my analysis further and survey other Domain Specific
Languages.
5.7 Conclusions
Because of size and complexity of datasets machine learning algorithms are facing a lot of
software and hardware challenges. We need to move towards parallel and heterogeneous
hardware systems. A lot of DSL are developed to resolve these issues. These languages pro-
vide parallel execution of code, distributed computation and cloud computation. Following
points applies to most of the DSL languages:
Most of the DSL language are programming languages
Most of the languages are complied
Modeling languages are all graphical and have a descriptive model