What is a DSL Modem?

The Chinese name of DSL (Digital Subscriber Line) is digital subscriber line, which is a combination of transmission technologies that uses telephone lines as the transmission medium. DSL includes ADSL (Asymmetric Digital Subscriber Line), RADSL, HDSL and VDSL, etc. [1] . DSL technology supports symmetric and asymmetric transmission modes on the user loop of the public telephone network, which solves the "last mile" transmission bottleneck that often occurs between network service providers and end users. Because the DSL access solution does not require telephone line transformation, it can make full use of telephone subscriber loops that can already be laid in large numbers, greatly reducing additional overhead. Therefore, the use of copper telephone lines to provide higher-speed Internet access is more welcomed by users and has been widely used in some countries and regions.

For example, any technology has the same technical foundation as it exists. The encoding technology is xDS.
Digital subscriber line technology is a technology developed by Bell Communication Research Institute in the United States for video on demand service in 1989 using twisted pair to transmit high-speed data [2]
DSL used as a mobile base station transmission technology can significantly reduce costs in mobile voice services and low speed
Cabletron xDSL Solution
Cabletron's xDSL solution, launched in March, can use standard twisted-pair telephone lines to achieve counts per second
-ITU's standard for information transmission over the network
People generally refer to all DSL technologies as xDSL technology, and "x" represents different types of digital subscriber line technologies. The differences between various digital subscriber line technologies are mainly manifested in the signal transmission rate and distance, and the difference between symmetric and asymmetric.
At the beginning of the design of the telephone system, it was mainly used to transmit voice calls. For economic considerations, the telephone system was designed to transmit signals in the frequency range of 300Hz to 3.4kHz. (Although human speech can reach 15kHz, it is still easy to distinguish within this range. The opponent's).
However, copper cables from the local telephone network to end users can actually provide higher
user
Many DSL technologies are implemented at the ATM layer of low-level bitstreams to ensure that different technologies can be implemented on the same link.
DSL devices can create bridges or route networks. In bridge mode, a group of users' computers can be easily connected to a subnet. Early devices used DHCP services to provide configuration details such as the IP address of the network card, MAC address-based authentication or assignment
The so-called domain specific language (DSL), the basic idea of which is "seeking expertise but not everything", does not cover all software problems like general-purpose languages, but is a computer language that specifically addresses a specific problem. DSL to programmers, just as Ganand to Israel, was the original and final dream. Almost since the invention of computers, people have talked about DSLs using DSLs. In the past few years, with the rapid popularity of Ruby on Rails known as the "language for the Web development industry," DSL has once again become a hot topic of discussion. Many people think that DSL will be the "next big thing" in the software industry. However, with the increasing popularity of DSL, many questions and misunderstandings have emerged around DSL, such as the following:
1. The target audience of DSL is non-programmer, salesman or end user
In the minds of many people, DSL is equivalent to "programming languages for non-programmers", so the ultimate audience for DSL should be non-programmers, and all DSLs that are not directly used by end users are not real DSLs. Just another boring trick that makes the code look less like it.
This is a very interesting point. In fact, in the history of the development of computing programming languages, "non-programmer programming languages" have indeed appeared, and they are also very famous. They are the first generation high-level languages such as FORTRAN and COBOL. At that time, the main purpose of computers was scientific computing, and programmers were specifically geeks who manipulated switches, relays, paper tapes, and assembly language. The main beneficiaries of computers are non-programmers--that is, scholars and researchers--have to entrust these people to help them complete the conversion from mathematical formulas to machine instructions. The main purpose of the first generation of high-level languages was to reduce the gap between calculation formulas and executable code (such as Fortran), or to simplify the daily tasks of information managers (such as COBOL). Interestingly, it is these "non-programmers" who developed software development into a legitimate and decent profession.
In fact, the "non-programmer programming language" at that time was quite similar to the DSL situation. The difference is that contemporary enterprise-level information systems are more complex, and the focus has gradually shifted from computing to data. Business areas and computers Physical processes no longer have simple and direct correspondence. And with the division of labor in the society, even through DSL, we are still unlikely to turn those well-dressed HR, sales, department managers into new programmers.
I still have to admit that DSL targeting end users is a very interesting and interesting idea, but it is not very realistic for quite some time. Maybe we need new methods (such as lean) to coordinate IT and business departments, or we need new software engineering theories, or some very original ways of working.
2. DSL = neat code
This view is exactly the opposite of the previous one. Think of DSL as a programmer's game, and all the skills that can write the code neatly and beautifully come down to DSL. Although both the DSL and the "clean code" are concise and clear in form, they cannot be simply equated with the equivalent. Conceptually, the process of writing a program is to express the problems in the business domain through code or a program model:
Because the computer's program model is relatively simple (both operations and storage in the final analysis), even if object-oriented technology has become mainstream, usually, computer programs are unlikely to be consistent with the concepts in the business field, or have some intuitive correspond. It is precisely because of this that software modification and maintainability are not as easy as imagined. We must continually translate concepts in the business domain into corresponding code models and then modify them. This indirectness directly causes the complexity of the software.
The main purpose of DSL is to eliminate such complexity (or replace the complexity with the complexity of constructing DSL), and DSL is to construct software in a manner close to the business domain. Therefore, the simplicity of DSL is often a kind of conciseness in thinking, so that we can understand the business meaning of the code without too much effort.
From here we can see that the DSL is fundamentally different from "tidy code". "Tidy code" simply requires that the code be concise and easy to understand, without paying much attention to whether it is close to the business field. For example, for a J2EE developer, DAO, DTO, FormBean, and Action are already clear enough, but this has nothing to do with DSL. DSL pays more attention to the use of business vocabulary, write code as close to the business model as possible, so that there is a simple correspondence between the business model and the program model. Therefore, we cannot equate DSL with "clean code". We can only say that DSL is a "clean code".
3 DSL must appear as a text code
Domain Specified Language, as the name implies, is a language, so the DSL must be in the form of a text code. What is not described by a text code is not a DSL.
The reason we prefer to use text codes is mainly because text codes are easy to modify and extremely efficient. Software engineering practice over the years has shown that text code is the most efficient form of editing. But for DSL, the problem is a little different.
As we said before, the primary purpose of DSL is to make programs as close as possible to problems in the business domain, thereby eliminating unnecessary indirection and complexity. For most business areas, once the form of the text code is good enough, we can easily describe the problem in the business area through the specific format of the text. Then there are some more special areas, in which text codes are not the best form of expression. In order to get closer to the concepts in the business field, we may choose to use some graphical DSL. For example, a very popular DSM (Domain Specific Modeling) tool GEMS (Generic Eclipse Modeling System) uses a large number of different graphical DSLs to describe different aspects of the system. So we cannot simply confine DSL to text form.
4 The DSL syntax should be as close as possible to English or other natural languages
Since most DSLs are descriptive, we should try to keep DSLs as close as possible to English or other natural languages used daily, as this can enhance the performance of DSLs.
Business Nature Language is an important branch of DSL. It is based on the fact that for most enterprise applications, it is a good choice to use some natural language-like syntax and structure to construct a DSL; through business natural language, it can promote and promote business personnel and programmers Communication; natural language-like DSLs are easier to reuse than other forms of DSLs. Because of these characteristics, BNL-type DSL is the most popular in the practice of DSL. I personally have implemented BNL-type DSLs for different fields in three different projects. I even modified and refined based on the Smalltalk syntax to obtain a scripting language with universal syntax expression. It can be used to easily construct DSL.
Although BNL is the DSL form that I have practiced the most and the most favorite, through the analysis above, we still cannot regard it as the only DSL form. We must always keep in mind that the primary purpose of DSL is to make programs as close as possible to problems in the business domain, thereby eliminating unnecessary indirection and complexity. Choosing a grammatical form reasonably and appropriately is always the top priority in constructing a DSL.

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?