| Stephane Ducasse, Mireille Blay-Fornarino, and Anne-Marie Pinna-Dery. A reflective model for first class dependencies. In Frank Manola, editor, proceedings of 10 conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 265--280. ACM Press, October 1995. |
....on the one hand and Account and Cash Card on the other hand. A specific programming language supports both implicit and complex associations. However, the approach presented by the author does not treat neither of the composition relationship nor of the implementation issue. Ducasse et al. [16] propose a reflective model to express and to automatically manage dependencies among objects. Their language, FLO, is an extension to Smalltalk and also exists for C . In his thesis [15] Ducasse describes the use of his dependency mechanism to define the composition relationship. However, he ....
....produce results for the association and the composition relationship that satisfy the desired properties. The pieces of code we generate satisfy per se the desired properties, but it is the developer s duty to modify them while maintaining the desired properties. The interested reader may refer to [16, 24, 41] for discussions on mechanisms to preserve the desired properties. 36 7 Detection Algorithms 7.1 Principles The association, aggregation, and composition relationships decompose into four properties: Exclusivity, message send, lifetime, and multiplicity. The detection of the binary class ....
Stephane Ducasse, Mireille Blay-Fornarino, and Anne-Marie Pinna-Dery. A reflective model for first class dependencies. In Proceedings of OOPSLA, pages 265--280. ACM Press, 1995.
....the concepts of the system. Rules describe, as from an outsider s point of view, how these concepts are manipulated at the operational level. A MOP has the ability to be opened and customized to tailor the system itself rather than applications to the developer needs [BC87, HGPK94, Dje93, DBFP95, Duc95] MOP extensions enhance the original Simply called MOPs Figure 1.9: Escher s Hall and City operation mode to add specific behaviors or new structures to the reflective system. 1.3.3 A MOP for Generic Relationships The present research defines a MOP integrating ....
....moving. A method handlemth must ensure backtracking on the lower objects or metaobjects invoking no applicable method specialized for reflective methods when they can not be applied. Our MOP approach for relationships di#ers from classical reflection principles (see, e.g. Mae88, Fer89, CM93, DBFP95] It first applies the method call to the receiver before checking the metalevel. This approach better fits the nature of the relationship concept. As shown in Figure 5.10, our default behavioral reflection is also based on a depth first tree. However, it directly transfers control to the next ....
S. Ducasse, M. Blay-Fornarino, and A.M. Pinna. A reflective model for first class dependencies. In Wirfs-Brock [WB95], pages 265--280. ACM SIGPLAN Notices 30(10), 1990.
....Interaction Aspect In [BDF98] we have defined an aspect to manage interactions, i.e. inter object communications, in concurrent and distributed environments. This is the result of works about the expression of interactions in distributed applications organized around object or component concepts [DBD95] With the interaction aspect, a programmer explicitly defines interactions between components through interaction patterns using an aspect language called Interaction Specification Language (ISL) BDF98] The programmer has facili5 ties for the specification of interaction patterns at any time ....
S. Ducasse, M. Blay, and A.M. Dery. A Reflective Model for First Class Dependencies. In OOPSLA'95 : 10th Object Oriented Programming Systems Languages and Applications, pages 265--280, Austin, October 1995. ACM Press.
....their individual runtime environments must stil l be abl e to communicate.Connectors must achieve the mappings between these object model s. Reflection: gl ue is often real ized by intercepting messages between objects and performing some (reflective) transformations on these messages [Ber94, DBFPD95] Reflection is al so important for exercising run time control on configurations.Metaobjects are active objects that control the creation, instantiation, and composition of other objects [LSN96] and can be used to real ize various forms of reflective behaviour. High level sy tax: the ....
Stephane Ducasse, Mireil. Bl ay-Fornarino, and Anne-Marie Pinna-Dery.A Reflective Model for First Cl ass Dependencies.In Proceedings OOPSLA '95,vol ume30ofACM SIGPLAN Notices, pages 265--280, October 1995.
....can help an analyst construct design level behavioral models from the low level behavior of a system. This is useful during reverse engineering tasks, especially as support for reengineering legacy 1 To meet this need, several research efforts have investigated language support for associations[8]. systems. ffl Visualizations of the abstract behavior can be compared with design level information, such as execution scenarios or interaction diagrams, to help validate the design implementation and to identify areas which need reengineering. ffl Adding these capabilities to a CASE tool ....
S. Ducasse, M. Blay-Fornarino, and A. M. Pinna-Dery. A reflective model for first class dependencies. In Proceedings of ACM OOPSLA '95, pages 265--280, 1995.
....we have created, how message patterns are identified, and an example usage scenario. The third section describes related work, and the last section discusses the impact and future work. 1 To meet this need, several research efforts have investigated language support for associations[Kri94, DBFPD95] 2 Note that our use of the word pattern is different than that of design patterns or pattern languages [AIS 77, GHJV95, CS95] yet the two are related. See Section 3 on Related Work. Figure 1: Prototype visualization of simple C worker database program. Ovals represent instances, ....
S. Ducasse, M. Blay-Fornarino, and A. M. Pinna-Dery. A reflective model for first class dependencies. In Proceedings of ACM OOPSLA '95, pages 265--280, 1995.
....et de rutilisabilit. Cependant, alors que l existence de relations entre objets est parfaitement 4 reconnue et ncessaire, trs peu de langages objets intgrent la notion de relation l exception des relations d hritage ou de partie. En rponse ce manque, j ai dvelopp un langage rflexif nomm F L O [DBFP95, Duc96, Duc97b, DR97] dans lequel les connexions entre objets sont des objets au mme titre que les classes. F L O permet la spcification des connecteurs qui sont alors dfinis de manire orthogonale aux classes [DBFP96] F L O assure automatiquement le maintien de la cohrence des connecteurs par un contrle des ....
.... et rflexifs : dfinition de mta protocoles, utilisation de mta programmation : rflexion structurelle (langage mtaclasses) et rflexion de comportement (langages mtaobjets de comportements) L implantation de F L O est base sur la rification des connexions, le contrle de l envoi de messages [DBFP95, Duc97a, DG98] et l introduction de mta objets de comportement dans un modle classes. Ce travail s inscrit dans la ligne des travaux dit ouverts, c est dire que F L O offre l utilisateur la possibilit de particulariser certains des mcanismes de la gestion des relations (dfinition, instanciation, maintien de la ....
S. Ducasse, M. Blay-Fornarino, and A.-M. Pinna. A reflective model for first class dependencies. In Proceedings of OOPSLA'95 (International Conferenceon Object-Oriented Programming Systems, Languagesand Applications), pp. 265--280. ACM, Oct. 1995. 27 papiers accepts sur 167, 27 accepted papers on 167 = 16%.
....dependencies or connectors between objects by using the reflective apsects of languages like CLOS and Smalltalk. Contributions. During my Ph.D. I proposed an extended object oriented model that takes into account the notion of relationship or connectors between objects. First Class Connectors. [DBFP95], Duc96] DBFP96] Duc97b] DR97] I developed a reflective extension to object oriented programming languages named F L O in which connectors are first class objects. Once the connections declared, F L O maintains the coherence of the connected objects by controlling necessary message sent. ....
....[DR97] I developed a reflective extension to object oriented programming languages named F L O in which connectors are first class objects. Once the connections declared, F L O maintains the coherence of the connected objects by controlling necessary message sent. Reflective and Open Systems. [DBFP95], Duc97a] DG98] F L O is based on the reification of connectors, the control of message passing and the introduction of behavioral meta objects in a class based system. F L O is an open extension in the sense that it offers the possibility to the user to specialize certain aspects of the ....
S. Ducasse, M. Blay-Fornarino, and A.-M. Pinna. A reflective model for first class dependencies. In Proceedings of OOPSLA'95 (International Conferenceon Object-Oriented Programming Systems, Languagesand Applications), pp. 265--280. ACM, Oct. 1995. 27 papiers acceptes sur 167, 27 accepted papers on 167 = 16%.
....et de rutilisabilit. Cependant, alors que l existence de relations entre objets est parfaitement reconnue et ncessaire trs peu de langages objets intgrent la notion de relation l exception des relations d hritage ou de partie. En rponse ce manque, j ai dvelopp un langage rflexif nomm F L O [DBFP95, Duc96, Duc97b, DR97] dans lequel les connexions entre objets sont des objets au mme titre que les 4 classes. F L O permet la spcification des connecteurs qui sont alors dfinis de manire orthogonale aux classes [DBFP96] F L O assure automatiquement le maintien de la cohrence des connecteurs par un contrle des ....
.... et rflexifs : dfinition de mta protocoles, utilisation de mta programmation : rflexion structurelle (langage mtaclasses) et rflexion de comportement (langages mtaobjets de comportements) L implantation de F L O est base sur la rification des connexions, le contrle de l envoi de messages [DBFP95, Duc97a, DG98] et l introduction de mta objets de comportement dans un modle classes. Ce travail s inscrit dans la ligne des travaux dit ouverts, c est dire que F L O offre l utilisateur la possibilit de particulariser certains des mcanismes de la gestion des relations (dfinition, instanciation, maintien de ....
S. Ducasse, M. Blay-Fornarino, and A.-M. Pinna. A reflective model for first class dependencies. In Proceedings of OOPSLA'95 (International Conferenceon Object-Oriented Programming Systems, Languagesand Applications), pp. 265--280. ACM, Oct. 1995. 27 papiers accepts sur 167 soumis = 16%.
....is an open objectoriented programming language in the sense of clos s mop[25] It extends the object oriented paradigms by integrating dependency management. flo is based on reification of dependencies (links) control of message passing (thanks to behavioral metaobjects[32] and an open protocol [15, 13, 14]. Reifying inheritance by means of links gives flo a complete reflective definition which is only based on two concepts: objects and dependencies. Inheritance is no longer a built in language mechanism any more, but becomes described by the language itself: inheritance is managed as other ....
....A presentation of FLO and its standard message handling control Programming with flo is slightly different that with others OO languages. Indeed with flo, a programmer defines intrinsic object behaviors by means of classes, and the interactions between instances of these classes by means of links [14]. So after defining such links (by specifying which methods have to be controlled) she he declares the instances involved in the links, without subclassing instance classes (contrary to the MVC[26] model, no subclass definitions are necessary) Thus flo automatically maintains the consistency of ....
[Article contains additional citation context not shown here]
S. Ducasse, M. Blay-Fornarino, and A.-M. Pinna. A Reflective Model for First Class Dependencies. In Proceedings of OOPSLA'95, pages 265--280, Austin, Oct. 1995. ACM. RR--95--24.
....[GGM95] Distributed Smalltalk [Ben87] or [McC87] introduce object distribution in a transparent manner. Language features like multiple inheritance [BI82] backtracking facilities [LG88] instance based programming [Bec93b, Bec93a, Hop94] Java interfaces [Sch96] or inter objects connections [DBFP95] have been introduced. Futures [Pas86, Lal90] or atomic messages [FJ89, McA95] are also based on message passing control capabilities. The third category is the definition of new object models, introducing concurrent aspects such as active objects (Actalk [Bri89] and synchronization between ....
....control is not limited to the definition of auxiliary methods executed before and after the controlled method. Indeed, a full message control should be able to modify the original arguments, to change the semantics of the message as in remote calls or even to refuse the execution of a method [DBFP95] We identified 6 different techniques to implement message passing control. However, some of them are difficult to reproduce or lead to unportable code. That s why we briefly present and sort these techniques before describing the selected ones. 1. Source code modification. One way to control ....
[Article contains additional citation context not shown here]
S. Ducasse, M. Blay-Fornarino, and A. Pinna. A Reflective Model for First Class Dependencies. In OOPSLA'95, pp 265--280, 1995.
....or of information systems engineering (e.g. Merise [12] the importance of relations is also recognized. Knowledge representation formalisms should offer powerful enough capabilities to represent relations. A few object oriented representation formalisms tackle explicit relations[2] 7] 8] 9] [5]. Semantic networks [17] Sowa s conceptual graphs [15, 17, 18, 3] offer primitives to handle relations. But if conceptual relations are primitives of Sowa s conceptual graph formalism, their set is not structured and the ordering on relations is not exploited enough in Sowa s four basic ....
....concepts [18] 13] they extended the projection operation, so that it also exploits the ordering on relations. As researchers working on object oriented representations tackled similar problems, we can take inspiration of some solutions they proposed. The link model proposed in [7] 8] 9] [5] allows a modelling of relations through classes. It exploits the notion of object in order to express the semantics of a given relation and it offers a powerful mechanism for management of relation consistency. It enables the user to express the set of modifications violating the consistency of a ....
[Article contains additional citation context not shown here]
S. Ducasse, M. Blay-Fornarino and A.-M. Pinna-Dery. A Reflective Model for First Class Dependencies. Proc. of the 10th Annual Conf. on Object-Oriented Programming Systems, Languages and Applications (OOPSOLA'95), ACM SIGPLAN Notices, Vol. 30, n. 10, Octobre 1995.
....expressed, and dependencies are often hard wired into object functionalities. This goes against modularity. It is then difficult to modify, specify, or maintain objects and dependencies. Reuse capabilities also decrease. In response to this lack of expressiveness of object models, the flo 1 [DBFP95] language is an extension of the object oriented paradigms integrating dependency management. In flo, the user defines dependencies specifying which methods have to be controlled. Next, he she can declare the objects involved in the dependencies, without altering object classes. flo then ....
....the sake of understanding, we have just presented binary meta links, but other links such as the composition of links can be defined. 4.2 Language Extension and Use In the previous sections, we have presented the standard aspects of flo. However flo has been designed to be an extensible language [DBFP95] and we present an additional interesting feature of flo and its use for composing objects. A New Operator in flo for Propagating Messages. As shown in the above examples, the behavior of a linked object is guarded or modified by the links. However, according to some applications, we noticed that ....
[Article contains additional citation context not shown here]
S. Ducasse, M. Blay-Fornarino, and A.M. Pinna. A Reflective Model for First Class Dependencies. In OOPSLA'95, pages 265--280, 1995.
No context found.
Stephane Ducasse, Mireille Blay-Fornarino, and Anne-Marie Pinna-Dery. A reflective model for first class dependencies. In Frank Manola, editor, proceedings of 10 conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 265--280. ACM Press, October 1995.
No context found.
S. Ducasse, M. Blay-Fornarino, and A.-M. Pinna-Dery. A reflective model for first class dependencies. In proceedings of 10 conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 265--280. ACM Press, October 1995.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC