| Herrmann, S. and Mezini, M. (2000) PIROL: a case study for multidimensional separation of concerns in software engineering environments. In Proc. 15th Ann. Conf. on Object-Oriented Programming Systems, Languages, and pp. 188--207, Minneapolis, MA, October. |
....The opposite is also true, making a decomposition consisting of a few large unique entities (and maximizing reuse) is not easy, but the composition process is significant reduced in complexity. 2.2. 2 Multiple dimensional separation of concerns Multiple dimensional separation of concerns [35][11] is a multiple separation of concerns (see 2.2.1) from different view points. Each of these viewpoints can be seen as an independent dimensions describing the software system in question. All these different dimensions (viewpoints) define the system in a n dimensional space (with n the number of ....
....one face to the developer can be really confusing. Often the notion of a shared decomposed entity simply doesn t exist. The developer sees only two entities, the dimensional representatives, the fact that they represent together one entity isn t always clear and easy to see. Tool support as in [11] can help to overcome such problems. 2.2.4 A word of warning from theory Why do we need to compose and why is it so difficult At the end of the day an application is nothing more than a stream of bytes put into a CPU. The theoretical model for this CPU and all other possible computers is the ....
Stephan Herrmann and Mira Mezini. Pirol: a case study for multidimensional separation of concerns in software engineering environments. In Proceedings of the conference on Objectoriented programming, systems, languages, and applications, pages 188--207. ACM Press, 2000. 65
No context found.
S. Herrmann and M. Mezini. PIROL: A case study for multidimensional separation of concerns in software engineering environments. In Proc. of OOPSLA 2000.
No context found.
S. Herrmann and M. Mezini. PIROL: A case study for multidimensional separation of concerns in software engineering environments. In Proc. of OOPSLA 2000. ACM, 2000. 137
....strong concepts for encapsulation, which help for modular reasoning about aspect oriented programs developed in this model. 1 Object Teams in a nutshell The Object Teams programming model [7, 14] has its roots in the concept of Aspectual Components [11] It has gone through several iterations [12, 5, 6, 17] before its current incarnation as ObjectTeams Java, an implementation based on a combination of a modified Java compiler and a runtime system performing load time byte code adaptation using JMangler [10] Object Teams combine the expressive power for aspect oriented software composition in the ....
....role objects as part of the lifting translation. Transparent insertion of lifting lowering translations at all relevant program locations. Complete encapsulation of the base role link by the runtime system. 2.3. 1 On demand role creation The lifting translation has first been described in [12, 5]. It creates or retrieves a role object from three pieces of information: 1) the base object to be translated, 2) the enclosing Team instance and (3) the required static role type. For the same triplet of inputs, lifting is guaranteed to yield the same role instance. Thus the internal state of a ....
S. Herrmann and M. Mezini. PIROL: A case study for multidimensional separation of concerns in software engineering environments. In Proc. of OOPSLA 2000.
....strong concepts for encapsulation, which help for modular reasoning about aspect oriented programs developed in this model. 1 Object Teams in a nutshell The Object Teams programming model [7, 14] has its roots in the concept of Aspectual Components [11] It has gone through several iterations [12, 5, 6, 17] before its current incarnation as ObjectTeams Java, an implementation based on a combination of a modi ed Java compiler and a runtime system performing load time byte code adaptation using JMangler [10] Object Teams combine the expressive power for aspect oriented software composition in the ....
....of role objects as part of the lifting translation. Transparent insertion of lifting lowering translations at all relevant program locations. Complete encapsulation of the base role link by the runtime system. 2.3. 1 On demand role creation The lifting translation has rst been described in [12, 5]. It creates or retrieves a role object from three pieces of information: 1) the base object to be translated, 2) the enclosing Team instance and (3) the required static role type. For the same triplet of inputs, lifting is guaranteed to yield the same role instance. Thus the internal state of a ....
S. Herrmann and M. Mezini. PIROL: A case study for multidimensional separation of concerns in software engineering environments. In Proc. of OOPSLA 2000.
....can now be (partially) implemented using its own ontology. Only by refining the Team the missing details are filled in using the names of base classes that provide the required functionality. Mismatches that can be bridged using these techniques cover different inheritance structures (see [7] for a discussion in a similar setting) 2 class BonusItem f 4 . other methods, which may 5 use getRawCredit . 10 getRawCredit getMiles; 11 . other details omitted . Fig 4. A callout binding. class names, method names, and even parameter ....
....Object Teams share the capability of Team instances with PCAs, where the equivalent notion is called composite adapter. In fact, the concept of substitutability via lifting and lowering is not an invention of Object Teams, but is rather borrowed from PCAs and has been first implemented for DVCs [7] and in JADE [6] However, Object Teams add an important feature to PCAs: The ability of Teams to override the functionality defined in a base or in another Team via binding. Allowing Teams to override base functionality is a feature which Object Teams share with the other two approaches discussed ....
S. Herrmann and M. Mezini. PIROL: A case study for multidimensional separation of concerns in software engineering environments. In Proc. of OOPSLA 2000.
....class BonusItem f 4 . other methods, which may 5 use getRawCredit . 10 getRawCredit getMiles; 11 . other details omitted . Fig. 6. A role binding Mismatches, which can be bridged using these techniques, cover different inheritance structures (see [6] for a discussion in a similar setting) class names, method names, and even parameter lists. Note that in this model each method acquired by object based inheritance must be declared in a binding clause. This prevents accidental name clashes which would otherwise be likely to occur because two ....
....is quite a dubious concept in such a setting. For Object Teams, this is a non issue because comparing a role and a base object is meaningless: both exist in disjoint worlds. mixin layers dynamic view connectors pluggable composite adapters family polymorphism delegation reference [17] [6] [13] 3] 15] collaboration refinement declarative method binding confined objects object based inheritance dynamic composition multiple instance binding lifting lowering In contrast to some notable ....
[Article contains additional citation context not shown here]
S. Herrmann and M. Mezini. PIROL: A case study for multidimensional separation of concerns in software engineering environments. In Proc. of OOPSLA 2000. ACM, 2000.
....of those disparate parts. Pointcuts in AspectJ [6] just like composition rules in Hyper J [11] de ne the gluing of pieces of code from different modules. Many di erent criteria have been proposed for a taxonomy of binding capabilities, including cardinality, granularity and time of binding [8, 3, 4]. Binding can furthermore be explicit or implicit, operationally or declaratively de ned etc.pp. From this follows, that choosing the binding mechanisms signi cantly determines what designs can be expressed and whether these designs will be comprehensible and reusable. Design should be regarded ....
....to the common super type. The reverse situation to the introduction of super types would be to map di erent subsets of one core class to di erent roles. On the object level, the rst situation de nes set union, while the second situation introduces subsets. The latter has been discussed in [4] but falls beyond the scope of this paper. The relevance of such mappings between mismatching inheritance structures lies in the quest for unanticipated composition of independently developed packages. Aside from class mappings, gure 3 also shows one package level method, run. This method is the ....
S. Herrmann and M. Mezini. PIROL: A case study for multidimensional separation of concerns in software engineering environments. In Proc. of OOPSLA 2000.
....rely on a dedicated mapping sublanguage that is less powerful than our notion of object oriented wrappers with wrapper recycling. Among these approaches, the APPC model of remodularization is a class based one, and only PCAs share the objectbased on demand remodularization with our approach. In [7], a variant of the PCA construct, called dynamic view connectors (DVCs) is used in the architecture of an integrated software engineering environment to support the late integration of independently developed software engineering tools. This work demonstrates the power of on demand ....
S. Herrmann and M. Mezini. PIROL: A case study for multidimensional separation of concerns in software engineering environments. In Proceedings of OOPSLA 2000.
....of those disparate parts. Pointcuts in AspectJ [6] just like composition rules in Hyper J [11] define the gluing of pieces of code from different modules. Many di#erent criteria have been proposed for a taxonomy of binding capabilities, including cardinality, granularity and time of binding [8, 3, 4]. Binding can furthermore be explicit or implicit, operationally or declaratively defined etc.pp. From this follows, that choosing the binding mechanisms significantly determines what designs can be expressed and whether these designs will be comprehensible and reusable. Design should be regarded ....
....to the common super type. The reverse situation to the introduction of super types would be to map di#erent subsets of one core class to di#erent roles. On the object level, the first situation defines set union, while the second situation introduces subsets. The latter has been discussed in [4] but falls beyond the scope of this paper. The relevance of such mappings between mismatching inheritance structures lies in the quest for unanticipated composition of independently developed packages. Aside from class mappings, figure 3 also shows one package level method, run. This method is the ....
S. Herrmann and M. Mezini. PIROL: A case study for multidimensional separation of concerns in software engineering environments. In Proc. of OOPSLA 2000.
....4 brie y shows, how the simplicity of Lua facilitated rapid development of LAC, which can easily be extended to other styles of de ning and composing modules. This work builds upon the experience, we gained when developing Pluggable Composite Adapters (PCA [7] and Dynamic View Connectors (DVC [3]) Aside from similarities in the language model, DVCs also used some of the same technique, basically because it is implemented in the same language: Lua. There are two major di erences between both developments: DVCs are embedded into a framework for software engineering environments, which puts ....
S. Herrmann and M. Mezini. Pirol: A case study for multidimensional separation of concerns in software engineering environments. In Proc. of OOPSLA 2000. ACM.
No context found.
Herrmann, S. and Mezini, M. (2000) PIROL: a case study for multidimensional separation of concerns in software engineering environments. In Proc. 15th Ann. Conf. on Object-Oriented Programming Systems, Languages, and pp. 188--207, Minneapolis, MA, October.
No context found.
Stephan Herrmann and Mira Mezini. PIROL: a case study for multidimensional separation of concerns in software engineering environments. In OOPSLA'00 [48], pages 188-- 207.
No context found.
Stephan Herrmann and Mira Mezini. PIROL: a case study for multidimensional separation of concerns in software engineering environments. In OOPSLA'00 [48], pages 188-- 207.
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