4.4.1 Object Reuse
Object reuse is the most basic multiplexing method, due to the sealing of the object, makes the object easy to become a reuse unit, of course, not all objects can be automatically used as a reused unit in the concurrent environment. To this end, some scholars are like PAPATHOMAS [19], etc., start studying the easy object multiplexing, object-oriented program design guidelines. Generally speaking, susceptibility derived from the independence of the object, that is, the design of the object to the external concurrent environment should be as little assumptions and dependencies.
4.4.2 Method and Synchronous Constraint
Inheritance and synchronization is the main feature of object-oriented programming and concurrent programming design. Typically, in an object-oriented framework, the definition of synchronization constraints and methods is interrelated, so the discussion of its reuse is often made together, and of course the multiplexing of synchronous constraints is still the focus of discussion. The main issues include whether to reuse synchronous constraint codes and how to provide corresponding support in concurrent object-oriented programming languages.
(1) Inheriting abnormalities
In a concurrent environment, since multiple messages can access an object, and the messaging between the objects has uncertainty, in order to ensure the integrity of the object, the synchronization constraint must be introduced into the object. section. When there is a new method in the subclass, the synchronization constraint conditions of the method inherited from the parent class may be changed, and thus the synchronous constraint code is redefined, and when the synchronization constraint condition is fused, it may The method of the original can inherit in the parent class is redefined, thereby generating a series of issues, i.e., a so-called inheritance [20].
(2) Solution
In the object-oriented system, each object is usually checked by the received message, performing the condition check, performs the corresponding method and the corresponding state transition 3 steps, where the top two is two compliant with the synchronization constraint Part, if the two parts are defined in the methodology of the class, then the new method is added to the subclass or modify the parent class method to destroy these synchronization constraints, this synchronization can be re-included in the subclass. The method of constraints is defined to generate inheritance abnormalities.
Fundamentally resolve the inheritance exception, so that the multiple-round support for the multiplexing of the synchronous code, the following three issues must be solved:
1 Separation of synchronous code: It is the most basic condition to solve the inheritance exception, method multiplexing.
2 Decomposition of synchronous code: Decomposition problem is how to properly modularize the synchronous code, so that the subclass can multiplex in the parent class, which attempts to reach the synchronization code on the basis of separation.
3 Synchronous code independent issues: Synchronous code is independent of synchronous constraints, making it independent of specific methods, reaching multiplexing of synchronous constraints, such as read-write synchronization constraints.
The above three problems are for the method, partial synchronous code, and 3 different degrees of synchronization code. Alternatively, the first two problems are to consider the code multiplex from the perspective of inheritance, and the third problem is to reuse the synchronous code. So far, there is no way to meet the requirements of these three aspects.
In addition, it is worth mentioning that the formal concurrent object-oriented language such as VDM , Z is also hot, especially in Europe, and now the formal method is not limited to the development of key and security software, started for industrial And commercial software [21, 22]. With the improvement and firm improvement of support tools, the formal concurrent object-oriented programming method will play an increasingly important role in large software system development.
5. Object-oriented programming is currently facing
Object-oriented programming technology does provide a real world more natural model, providing a seductive prospect for improving software development and productivity, but OOP technology is not universal, as a emerging technology is still in achieving some deficit, induction There are a short link problem:
(1) Running efficiency problem
OOP technology is based on the current software development crisis. Its role in improving programming efficiency is not doubtful, but the program developed with OOP usually has a low efficiency of the program developed by the SP method. While the CPU speed increases, the memory capacity increases, the user's operating speed user is acceptable, but when the system is large, this problem is not ignored. (2) Slimming problem
OOP languages usually provide a library with rich features, users can have selection to develop, thus shortening software development life cycles. To be a highly efficient OOP programmer must be able to use the class library, master the functions provided in the class library, but because the library is too large, the programmer has a time process for their mastery, from the popularity, At the perspective of promotion, class library should be made accordingly on the basis of ensuring its functionality.
(3) Reliability issues of class libraries
Although the classes provided in the library have been carefully designed, they have been tested, but such a huge system can not guarantee that each class in the class library is 100% correct in various environments, if the app is used in the application A class in which there is a problem, when the error is demonstrated after several layers, then the programmer will be helpless, it is possible to overthrow the original work, although the probability of this situation is very low, There have been reports in this area [11].
These problems mentioned above should not be an obstacle to hindering OOP technology development. With soft, hardware technology development and the improvement of OOP technology, it will give social development technologies, concepts, to make software production Enter a new era.
6. Conclude
The computer hard and software technology has a new day, which has emerged in a short period of time, and has emerged in a short period of time, and the programmer has brought great convenience. . In the near future, it is believed that object-oriented programming technology must be applied to more programming methods.
references
[1] Hong Zhi Creation Group. Visual C 5.0 Programming Guide [M]. Beijing: Science Press, 1998
[2] Li Changjiang et al. C usage manual [M]. Beijing: Electronic Industry Press, 1995
[3] He Liqi. Borland C for Windows program design [M]. Beijing: People's Posts and Telecommunications Press, 1994
[4] Wang Song et al. BORLAND C uses technology Getting Started [M]. Chengdu: Electronic Science and Technology Press, 1995
[5] [United States] James Jaworshi, Qiu Zhongpan and other translations. Java Script and JScript from getting started to Jing [M]. Beijing Electronic Workers
Industry Press, 1999
[6] Shen Yapi, etc. Visual C programming [M]. Beijing: Science Press, 1996.1
[7] [United States] Davis Chapman, Luo Changle translation. Study Visual C 6. 0 [M]. Beijing: Tsinghua University Press,
1999
[8] [United States] Gao Yongqiang. All C Programming. Beijing: Tsinghua University Press, 2002.6 450-515
[9] Zhou Zhi Ying. Modern Software Engineering (2nd Volume). Beijing: Science Press, 2003.1 268-364
[10] Threshold Creation Room Visual J 6. 0 Example Tutorial [M] Beijing: Electronic Industry Press, 1999
[11] Namir Clement Shammas, Teach Yourself Visual C 1.5 in 21 Days. USA: SAMS
Publishing, 1994 230, 420
[12] Yang Dajun, Zhang Ming, etc.. Research and development of computed-oriented programming. Computer research and development. VOL.35, No.9, Sep. 1998 [13] Beijing Huazhongxing Technology Development Co., Ltd. Windows98 Chinese version Use Daquan [M]. Beijing: People's Posts and Telecommunications
Publishing House, 1998
[14] Zhou Yuebin editor. Learn to use Windows98 Chinese version [M]. Beijing: Science Press, 1998
[15] Lu J. Introducing Data DecomPosition Into VDM Fox Tractable Developments Of Programs. ACM Sig Plan Notices, 1995, 30 (2): 41-50
[16] Lu J. Developing parallel object-oriented programs in the framework of VDM In:.. M cG regor JD ed Annals of Software Engineering eleven Special Volume on Object-Oriented Software Engineering: Foundations and Techniques, Vo12 Netherlands:. Science Publishers, 1996. 199-211
[17] LAFFRA C. Procol: a concurrent Object Language with protocols, delegation, persistence and constraints [ph d dispatation] .rasmus University, Rotterdam, 1992
[18] AGHA G, Callsen C J. Actorspace: An Open Distributed Programming Paradigm. ACM Sigplan Notices, 1993, 28 (7): 23-32
[19] Papathomas M.Concurrency in object-oriented programming languages In:. Nierstrasz O, Tsichritzis Deds Object-Oriented Software Composition Upper Saddle River, New Jersey:.. Prentice Hall, 1995. 31- 68
... [20] Matsuoka S, Yonezawa A. Analysis of inheritance anomaly in object-oriented concurrent languages In: Agha G, Wegner P, Yonezawa A eds Research Directions in Concurrent Object-Oriented Programming Cambridge, Mass: MIT press, 1993.107 - 150
[21] Ram DJ, Vivekananda N, Rao CS et al Constraint meta-object:. A new object model fox distributed collaborative designing IEEE Transactions on Systems, Man, and Cybernetics eleven Part A:. Systems and Humans, 1997, 27 ( 2): 208-221
[22] H INCHEY M G, BOWEN J P. Applications of Formal Methods. Upper saddle River. New Jersey: Prentice-Hall, 1995
[23] [加] Timothy C.Lethbridge, Robert Laganiere, Zhang Hongguang, Wen Xianghua and other translations. Object-oriented Software Engineering. Beijing: Machinery Industry Press, 2003.4 19-40 [24] Shao Weizhong, Yang Fuqing, Object-Oriented System Design Beijing: Tsinghua University Press, 2003.2 26-36
[25] MEYER B. System Atic Concurrent Object-Oriented Programming. Communications of The ACM, 1993, 36 (9): 56-80