Thinking of Autonomous Driving Network Architecture Design from the Philosophical Source

Abstract: This article describes the method of autonomous driving network architecture design from a philosophical point of view.

The key to autonomous driving networks lies in architectural innovation. Innovation is not an infinite, illogical, and achievable imaginary. Imaginative thinking without constraints and methodology is the work of Minke. We must use a solid architectural design method to pave a path to the vision.

The methodology described below is both a knowledge and a skill. Through knowledge learning, you can better understand the architecture design skills. But as a skill, it needs constant training to master it. Just like learning to swim, you can't swim well without knowledge, but no matter how much knowledge you have, you won't be able to swim in the water.

01 Thinking from the source of philosophy

Before talking about architecture design, learn some logic knowledge first. Let me first use an example to help you understand the connotation of the concept and the knowledge of the context. Sometimes we often talk about issues, and we can't discuss them together. In many cases, it is because the concepts are different. To tell a short story, once I gave a lecture and said that managing foreigners is similar to managing Chinese people. Many people objected that I don’t understand foreigners. Then I talked about a lot of different aspects of foreigners. I asked, are they Chinese? Is the management method the same? When you look at foreigners from the general characteristics of people, in fact, everyone is the same, with seven emotions and six desires, all need vision, all need respect, all need guidance, all need spurs, is this different from the Chinese? When facing things, people need to find commonalities in order to handle things efficiently. If you want to find individuality, it will be troublesome. Are there exactly the same people in this world? Are you the same yesterday and today?

When I say that foreigners are the same, I am obviously talking about general principles, and when dealing with specific matters, not only foreigners, but in fact, each individual and each individual's different moments must be handled separately. When speaking, whether it refers to a "general principle" or a "special principle", this implicit background information is the context, which generally does not appear in the dialogue, but is automatically supplemented by the two parties based on their understanding. Humans have a very strong ability to deal with context, but sometimes there will be errors in context understanding in dialogue. This means that communication is not on the same channel as usual.

Software development requires very clear logic, especially the architecture design of large-scale software, which requires very good abstract thinking ability, so it is important to have a deep understanding of logic methods.

Before understanding the logical method, we must first understand that the objective world we are talking about is determined by three elements: entities, entity attributes, and relationships. When these three elements are clarified, things are uniquely determined. The software world is actually a reflection of the physical world, so it is also the three elements. I drew a sketch, I will look at it first, I will use it later.

There are several methods of thinking methods: comparison, classification, analysis, abstraction, generalization, and synthesis. In traditional philosophy, the "comparison" method is generally juxtaposed with other methods. In fact, this is not the case. Comparison is the most basic thinking process. Analyze the basis of other methods such as "abstraction". People can determine the boundaries of things through comparison, and then classify them according to the boundaries, that is, "classification". For example, a pile of grains can be found by analyzing that there are black beans, red beans, mung beans, barley, lotus seeds, millet, rice, etc. In this process, you constantly compare the image, find the edges of the image, and compare it with the image in the memory to determine the grains species. It's just that the comparative analysis of images is done in an instant using neural networks. People have no mental awareness, and the process of analyzing abstract things is perceptible. If you recall, the process of analyzing things is not the same, it is constant comparison. Various situations.

Therefore, analysis is to divide things according to the comparison results through constant comparison, and decompose various entities, entity attributes and relationships between entities.

The "abstract" method in philosophy is also simple to understand. Don't entities have many attributes, such as personality characteristics, social relations, biology and many other attributes. Under biological attributes, there are also attributes such as form and DNA. Abstraction is the process of selecting attributes according to needs. This understanding of "needs" is sometimes a tacit understanding between the two parties. If there is no tacit understanding during communication, it is necessary to clarify the degree of abstraction. For example, at the beginning I said that foreigners are all the same. I just chose the personality attributes of the foreigners and ignored the social relationship attributes. Someday I said that humans and dogs are the same, that is, the commonality of the two biological attributes has been selected. If one day I say that in fact, stones and people are the same, as long as they abstract to the level of protons and neutrons. I want to say that today’s mine is different from yesterday’s me, because my thinking and age have changed.

Let’s use a pile of miscellaneous grains as an example to separate black beans, red beans, mung beans, barley, lotus seeds, millet, and rice through this sieve. The abstract action is like if you think millet and rice are not coarse grains, only barley, lotus seeds, and various beans are left. But there is another abstraction method. I only choose coarse grains that can detoxify, then only mung beans are abstracted. The others are secondary. So what is abstract is not absolute, but done according to need.

Abstraction is often associated with the word essence. By the way, what is the essence of things. Abstraction generally removes useless attributes according to needs, leaving only the key attributes. For example, in order to distinguish between pears and apples, simple strokes are generally abstracted to shapes that can be separated. This kind of abstraction is enough, but someday If you want to draw apple pears (there are such fruits), the abstract shapes are not enough, so obviously the shapes are not the essential difference between apples and pears. What is the essential difference between the two? The taste is obviously not good. We can now improve the variety to make the taste similar. The most essential difference between pears and apples is their DNA. So the essential attributes of things are the least characteristic attributes that can be abstracted to classify things.

To sum up, abstraction is the thought process of choosing attributes and relationships according to needs. As for how to choose attributes and relationships, and to what extent it needs to be, it depends mainly on the actual scene. This is the difficult point. Just like painting, the paint, pen, and paper are the same. The value of what you paint in science and engineering is far from what Xu Beihong paints. It’s pretty good that you can be seen and appreciated by everyone. One painting by Xu Beihong is enough for ordinary people to struggle for a lifetime. This is the difference, right?

If the abstract object is a physical object like an apple, you can identify the apple that is painted. In the most abstract case, it is a stick figure. If the abstract result is connected with the language symbol, it becomes the term "apple". And if the abstract object is as abstract and complex as the article itself, then this process can be called a generalization method. In other words, "generalization" is a special kind of abstraction.

The methods just mentioned are all methods of decomposing things, so "synthesis" is the reverse process, which is a method of organizing various parts for thinking. Synthesis is not a simple addition of each part, but a reprocessing process that will produce new knowledge that cannot be generated from the perspective of each part. I don’t know if you’ve noticed when you look at the oil paintings. When you walk into the oil paintings and look closely, there are just some color blocks, you can’t see anything, but if you go a little further, when you see the whole picture, a lifelike painting appears. This is synthesis. Comprehensive thinking uses two thinking methods, "comparison" and "insight" at the bottom.

0 2 Business Modeling Method

2.1 How to do business abstract modeling

After understanding the thinking method that seems to have a high philosophy, we began to discuss business modeling methods. The essence of business modeling is to abstract and refactor the business. Let's take a look at the sketch of the modeling process first, and then I will talk about it.

2.1.1 Business Abstraction and Classification

The actual business modeling process can be divided into the following steps:

The first step is to pile up materials. Many people understand the business and don’t know how to start. In fact, it is very simple. Collect materials everywhere. There are several types:

1. The existing framework, the intellectual achievements of predecessors must be referenced.

2. General knowledge can help understand the background.

3. The 7P materials as shown in the figure below refer to a business research framework I wrote before.

After you get these materials, read them through to get a general impression, and then read them carefully when you need them.

The second step is to abstract the business functions and determine the thinking framework for the biggest thinking. For example, what major functions are needed for autonomous driving networks.

The third step is to classify under the framework. The classification dimensions can be broken down according to: time, space, interpersonal, business type, etc. This step does not need to be detailed at first, but roughly divided into points for further thinking. Existing business functions generally intersect each other. You have me in you and you in me. This situation is sometimes caused by not thinking clearly, and sometimes caused by environmental changes. For example, in the past, tomatoes can be said to be vegetables, but the new cherry tomatoes have become fruits. Strictly speaking, tomatoes can no longer be said to be vegetables. When there is such a crossover, the dimensions must be further subdivided. As long as the dimensions are sufficiently subdivided, things can always find MECE (independent and completely exhaustive) divisible dimensions. The classification of tomatoes is relatively simple. Later, when they are introduced to children, they will become traditional tomatoes as vegetables and cherry tomatoes as fruits. This process is the most important, and all crossovers must be removed.

The fourth step is to abstract again and remove some uncritical content.

The above process has to be iterated many times and refined repeatedly. After this process, it is generally clearer.

2.1.2 Component modeling

After the abstraction, the next step is to cluster the classifications according to the most concise principle. The clustering should consider unifying the categories to a level, and naming the clusters for easy management. Finally, identify the relationship between each cluster to form a relationship diagram.

Still use miscellaneous grains as an example. We start to pack the black beans, red beans, mung beans, barley, and lotus seeds separately. However, there are many classifications in this way, and it is not easy to introduce when selling. At this time, I feel that black beans, red beans, and mung beans have similar effects, so they are unified into a big bag of beans and placed alongside barley and lotus seeds. The process of merging black beans, red beans, and mung beans is a kind of clustering. This makes the introduction clearer.

2.1.3 System reconstruction

After the above classification is packaged, if you want to sell, obviously you have to see if it matches the market, and adjust the relationship if it is not suitable. For example, after the beans are packaged, it is found that the mung beans have the special function of disinfection. You can sell more money. At this time, the mung beans should be sold separately. This is the system reconstruction.

2.2 Skills of Business Abstraction-Role Playing Method

It is difficult to sort out a very complex business. The key is that there are too many things involved. If you really need to understand all the details, the workload is unbearable, and the final effect may not be good. At this time, you can use the role-playing method, which is also a general learning method, which can quickly master new knowledge in a field. The specific process is to not start from reality in a hurry before understanding things, but to design a framework based on experience, and then compare the actual things according to the hypothetical framework. If they are consistent, the understanding is correct. If they are inconsistent, find the reason, so that you can quickly Understand the business, you can discover the existing problems. This is a very quick way to understand things.

2.3 XMind, a business combing tool

There must be a suitable tool to sort out the business. I often use XMind. XMind can export all kinds of beautiful graphs, but the biggest function of this tool is to facilitate the adjustment of attributes and relationships. It may be difficult for people to think clearly about complex things at once, so you can list all ideas in the tool, and then slow Make logic adjustments slowly to ensure efficiency.

0 3 How to design the architecture

3.1 Architecture design process

Before designing an architecture, first know what an architecture is. Many people generally equate architecture design with software architecture design. However, I will expand the scope of the architecture a bit here, and include more complex systems such as IT, process, and organization into the scope of architecture design. , Because these three are often interrelated. Unfortunately, although many people talk about architecture, I haven't found a good architecture definition. To paraphrase a joke about big data, it also applies to the architecture:

Architecture is like **age sex,everybody talks about it,nobody really knows what is it

This article draws on the TOGAF architecture definition and redefines it:

Architecture: An abstract description of the organization of a complex system, including the internal components of the system, the relationship between internal modules, and the relationship between the system and the environment.

Architecture design: In order to meet the business needs of the system, under the constraints of business value space, historical accumulation, and architecture development, the architecture is constructed through business abstraction, component modeling, and system reconfiguration to make the system stable and flexible. Evolvability, cost realization process with optimal solution. The output includes three parts: design principles, architecture and evolution principles.

To understand the requirements of architecture design, business modeling methods have been discussed in the previous section. Let me talk about my understanding of design constraints and architect requirements.

The architecture is not out of thin air. The architecture has to consider whether it can be realized and the cost of realization. I just bought a smart speaker and found that the volume adjustment logic of the speaker is messy. I suggest that the speaker brothers bind the volume adjustment to the usage scenario. This is the easiest from the user interface. But should the architecture do this? The architect must consider the key points at this time, because the volume of the speakers can be adjusted in different places. How to keep the volume status of each software consistent requires the support of the bottom layer. He must understand the underlying implementation capabilities. If it is the previous version of Android, it may be difficult to implement this function, and the interface is easy to use, but it must be discarded. If the new service architecture may support it, it is worth trying. Make a breakthrough, so architecture design must be a trade-off based on a full understanding of system capabilities.

In addition, the architecture design must also consider the stability of the future architecture. For example, some of our large-scale software systems still adopt the traditional architecture when the service-oriented trend has become an obvious trend. After a few years of work, they have to re-design the service-oriented system. . Therefore, the software architecture design must comprehensively consider the benefits of different designs of the architecture, the historical accumulation, and the future development of the architecture.

Architecture design is still very complicated, and sometimes it is an art, which needs to be balanced. If you want to be an architect, then there are several characteristics that you must not miss. One is openness, and you can't stick to the rules. See what the ancestors said, you can't do without your own opinions. One is to have insight, know how to remove the rough and preserve the essence, and not grab the eyebrows and beards, and make the structure more complicated. You must also be proficient in business, be good at learning, and have more knowledge. The more knowledge, the more comprehensive you can consider. As an architect, you have to understand both business and software. Otherwise, you can't make a good design.

Architects are a very critical role. They often determine the life and death of software applications. If they assume such a heavy responsibility, everyone will have questions. Isn't it difficult to find such a good person? In fact, don't worry at all, the architecture design is still an engineering problem in the final analysis, unlike the theory of relativity that no one can handle except genius. The world is full of talented people who are engaged in engineering problems. It is impossible to find them. It is just a matter of how to find and how much money to give. Of course, there are other concerns about whether the cost will be high. In fact, there is no need to worry. The number of architects is also very small, and the relative system cost is not high, so Apple will do its best to find the best talent.

3.2 Architecture design methods in the industry

The most general architecture design framework is mentioned above. The following ADM (Architecture Development Method) is the enterprise architecture design method of TOGAF (The Open Group Architecture Framework), which is released by The Open Group on the basis of the US Department of Defense Information Management Technology Architecture. Yes, it is very complete and detailed, it is worth learning.

Modern knowledge search is very easy. If you know which knowledge you don’t know, you can find it as soon as you search. The key is that sometimes you don’t know what you don’t know at all. So everyone here only needs to know that there is this very good method. I won't talk about the specifics. If you are interested, there are many online materials.

0 4 Architecture design application example

4.1 Software architecture design

I will not talk about the specific software architecture design itself, but will focus on the concept of software architecture design. From the perspective of the popular domain-driven design method (DDD: Domain-Driven Design), in essence, business software design is the simulation of real business with software, and the process of designing software is the process of understanding business.

DDD is first of all a design idea. The so-called idea is to answer big questions such as "what is the essence of design and what is the main logic". DDD emphasizes how to design software architecture from a business perspective. The design must know what the business looks like, what the business needs and problems are, and what internal logic is there, rather than designing from the software technology itself. This is for design The big question of direction. Although this direction seems to be nothing, but in practice, many software people start designing more from the software itself. It is easy to detour when encountering business problems, so emphasizing that starting from business is the most valuable part of this method.

0 5 Architecture Reference Design

For the reference design of the autonomous driving network, the following architectures can be compared and understood.

5.1 TOGAF EA和Frameworx

Frameworx is the NOSS framework of TMF, which is equivalent to the telecommunications version of TOGAF EA.

5.2 TMF autonomous network architecture

The following is the reference architecture of TMF's autonomous network:

The following full text is quoted from: China Telecom "001-CTGMBOSS-OSS-2.5-Concept System Volume (Final Review)". This document is relatively old, but the problem remains the same.

"The industry has a clearer description of the concept of OSS. The description of the concept of TMF SID. In the system of SID, it includes three main concepts: product, service, and resource, among which services are subdivided CFS (Customer Facing Service) and Resource Facing Servcie (RFS) are formed into customer-oriented services. Products can include multiple customer-oriented services, and customer-oriented services consist of multiple resource-oriented services. Services are composed of resources. The specific relationships are shown in the figure. The original text of the definition of each concept in eTOM by TMF is as follows:

Product is what an entity (supplier) offers or provides to another entity (customer). Product may include service, processed material, software or hardware or any combination thereof. A product may be tangible (e.g. goods) or intangible (e.g. concepts) or a combination thereof. However, a product ALWAYS includes a service component.

Services are developed by a Service Provider for sale within Products. The same service may be included in multiple products, packaged differently, with different pricing, etc.

Resources represent physical and non-physical components used to construct Services. They are drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, and technology components.

This article explains the method of architecture design from a philosophical point of view. In the next article, I will introduce a new ISOAP (My Soap) model of network operation functions that I understand. Welcome everyone to discuss it together.

 

Click to follow and learn about Huawei Cloud's fresh technology for the first time~

Guess you like

Origin blog.csdn.net/devcloud/article/details/109024902