This is a good reference for future system maintenance and upgrade.
When developing a system, what documents should it contain? How are these documents generally completed and what should they contain? This is the standardization of system development.
The standardization of system development is not only beneficial to oneself, but also beneficial to companies and novices.
It is indisputable that standardized design makes engineers work more efficiently.
Now in the development of large-scale software engineering, this has been done quite well.
But in the development of MCU and embedded system, standardization needs to be discussed with us.
In China, the R&D personnel of some companies are also misleading-write the code quickly, let me see the function quickly, and don't ask you to do anything else, just finish writing the function.
All these make our design fall into a misunderstanding: we spend most of our time writing code and changing it.
With the increasing complexity of embedded real-time systems, design engineers must seriously consider the cooperative relationship between software and hardware when defining and analyzing the initial requirements of the system.
Usually, the design engineer must also weigh the relationship between the flexibility, speed, cost, plan and available tools of the system.
The purpose of this paper is to describe the key features of embedded system and real-time system, discuss the solution of developing efficient embedded system on the basis of selecting or developing hardware and software components, and explain in detail the unique key technologies of developing embedded system and real-time system.
I know the design software of realtime-uml: TNI embedding, Rational: Rosertilogix:: Artisan: tau.
TNI's embedded whole process solution covers the whole process of embedded control software design: from user requirements, specifications, design, code generation, simulation verification to acceptance.
In the initial stage of design, the executable (formal) and visual specifications are used to communicate with users to eliminate the ambiguity between designers and users.
Check and test the design through simulation, and check the design step by step in the whole design process. A large number of possible design errors and problems are found before the equipment installation, which greatly shortens the time of on-site debugging, supports functional design, graphically uses IEC 611-3 language, conforms to EN50 128 safety standard, and automatically generates design documents, which is simple and easy to use. Rapid modeling automatically generates C-generation ROSE for analysis and design of various software and hardware platforms. RoseRT was introduced by Rational after the acquisition of objecttime. This tool is mainly based on a model called ROOM, and it is all executable.
I have no distinction between good and bad.
(Mr. Tao of ilogix doesn't quite agree with ROOM) RoseRT's interface feels complicated, and the code generation is OK, but the efficiency can't be evaluated.
Only dynamic and static model documents of the system are provided.
Rhapsody At present, many large foreign companies use Rhapsody for embedded system modeling and software design.
Rhapsody is a model-driven development environment based on UML2.
0, so that projects of different scales can analyze, design, realize and test their own work through visual modeling, and build and configure real-time embedded applications.
Rhapsody is specially designed and optimized for the special needs of embedded market, including the behavioral semantics of real-time system, the support of real-time operating system, the support of real-time application without operating system, the reverse engineering of legacy code, design-level debugging, efficient automatic code generation (C, C, Ada, Java) and automatic document generation.
A very good tool, which can directly convert UML diagrams into C or C codes.
However, a program framework will also be introduced into the system to support the operation, debugging and simulation of sequence diagrams and state diagrams.
The benefits it brings are obvious, but at the same time, it also forms resistance to many embedded applications.
For example, if your new function is to patch the existing procedural software package, how does the new framework adapt to the original system? Then you have to really digest and absorb this extra framework, which should be as difficult as exploring MFC structure.
Rhapsody is very suitable for a brand-new project.
Think twice about the project of patching extended functions.
I wonder how RoseReal-Time is doing in this respect? Rhapsody has many drawings, and it is very interesting for designers to codegeneration high-quality code directly by drawing.
Rhapsody really distinguishes between developers and designers, and requires designers to implement it in full accordance with software engineering ideas, which is undoubtedly a good maintenance for the project. There are more than n adapters, which is easy to transplant.
Generally speaking, for projects that develop upper-level applications,