{"title":"Aggregation from multiple perspectives by roles","authors":"Lars Kirkegaard Bækdal, B. B. Kristensen","doi":"10.1109/TOOLS.1999.809421","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809421","url":null,"abstract":"A whole is aggregated from parts, where a part can be aggregated itself or be atomic. The structure forms an aggregation (or part-whole) hierarchy. The whole can be modeled from multiple perspectives, where a perspective introduces its own aggregation hierarchy as well as dedicated properties for the whole and parts. Different perspectives share the same atomic parts. Role classes and objects support multiple perspectives on the aggregation of a whole with same atomic parts.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128857348","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Architecture=abstractions over software","authors":"E. E. Jacobsen, B. B. Kristensen, P. Nowack","doi":"10.1109/TOOLS.1999.809417","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809417","url":null,"abstract":"Design of software architecture is seen as abstraction over the software domain, and describing architecture is considered to be a modeling process. A general view of a modeling process is presented and illustrated in the context of application domain modeling and of software domain modeling. The implications of this perspective are investigated in order to capture objectives and concrete forms of architectural descriptions. The consequences of this perspective on architecture are characterized.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122396915","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Classifying component interaction in product-line architectures","authors":"B. Jørgensen, W. Joosen","doi":"10.1109/TOOLS.1999.809415","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809415","url":null,"abstract":"This paper describes a set of interaction patterns that were used to facilitate the composition of components in the product-line architecture of a robot control system. The primary purpose of supporting a common set of component interaction patterns in a product-line architecture is to reduce the learning curve of the inner working of the architecture. Interaction patterns provide the means for informal reasoning about the functionality and temporal behavior of components and their interconnections. In addition, it supports increased readability of the architecture diagrams.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"39 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120864007","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Constructing interoperable components in distributed systems","authors":"Sea Ling, H. Schmidt, R. Fletcher","doi":"10.1109/TOOLS.1999.809432","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809432","url":null,"abstract":"The separation of architecture definition language (ADL) and interface definition language (IDL) is widely accepted in the distributed system community. It separates issues of hierarchical composition and configuration from those of services, communication and synchronisation and thus eases reconfiguration without changing the interfaces and implementation and allows the change of services within well-defined configuration constraints. Our approach towards distributed system definition draws on the Darwin project's notion of distributed system architecture definition and on Eiffel's notion of design-by-contract. We extend contracts to deal with synchronisation and coordination at a higher level, explicitly targeting both large-scale loosely-coupled distributed components and tightly coupled parallel or multithreaded objects. In this paper we present a Java binding of the resulting contract extensions. We incorporate annotations into Java programs adding Eiffel-style assertions and other contractual constraints. Java component code and constraints are then associated to architectural diagrams in a visual programming environment. The paper illustrates the language features in a case study of a lift control system. Based on the case study, the component-based design approach is illustrated and the internal synchronisation of method execution is explained.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"76 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121091344","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Towards perfect objects","authors":"Hongxue Wang, V. Varadharajan, J. Slaney","doi":"10.1109/TOOLS.1999.809419","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809419","url":null,"abstract":"We present in this paper an extended object model for software system modelling and design. The extended object model was developed from ontological research into the nature and the generality of intelligent systems. The extension was made by attaching domains, states and categories to variables, and adding three types of constraints into the ordinary object model: identity constraints are for maintaining the identity and integrity of objects; trigger constraints are for enabling agents to act in objects autonomously; and goal constraints are for guiding agents to act in desired direction. We first introduce the theoretical background of the object model in brief. We then present the models in detail. We also discuss the advantages of our extended object model in software system modelling and design. In conclusion we summarise the main results we have achieved, and discuss some ongoing works that are relevant.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128381372","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"On creation, equality and the object model","authors":"Michael Kölling, J. Rosenberg","doi":"10.1109/TOOLS.1999.809427","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809427","url":null,"abstract":"In designing languages, we strive for consistency and elegance. In object-oriented languages, simple data types have always been a problem in that they do not quite fit in with the object model. In some respects they seem to be objects, in others they are not. This typically creates the need to introduce special cases into the language definition. This paper discusses the problems involved and proposes an approach to the definition of an object model that allows the elegant inclusion of simple data types.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126222443","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Integrating UML and algebraic specification techniques","authors":"L. Favre, S. Clerici","doi":"10.1109/TOOLS.1999.809422","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809422","url":null,"abstract":"Informal and formal methods can play complementary roles in object oriented software development. We present our work on integrating UML static models with the algebraic specification style. In previous work, a model for the definition of reusable components and a rigorous method for object oriented software reusability have been introduced. Our current goal is to map design artifacts to object oriented code. Since an integrated method requires common structuring mechanisms for object oriented models and algebraic specifications, the GSBL/sup OO/ language has been defined. This language enriches GSBL with constructs that allow us to express different kinds of UML relations (dependencies, associations, generalizations and realizations).","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117230147","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Michael Christensen, C. H. Damm, K. M. Hansen, Elmer Sandvad, Michael Thomsen
{"title":"Design and evolution of software architecture in practice","authors":"Michael Christensen, C. H. Damm, K. M. Hansen, Elmer Sandvad, Michael Thomsen","doi":"10.1109/TOOLS.1999.809410","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809410","url":null,"abstract":"With special focus on software architectural issues, we report from the first two major phases of a software development project. Our experience suggests that explicit focus on software architecture in these phases was an important key to success. More specifically: Demands for stability, flexibility and proper work organisation in an initial prototyping phase of a project are facilitated by having an explicit architecture. However, the architecture should also allow for certain degrees of freedom for experimentation. Furthermore, in a following evolutionary development phase, architectural redesign is necessary and should be firmly based on experience gained from working within the prototype architecture. Finally, to get it right, the architecture needs to be prototyped, or iterated upon, throughout evolutionary development cycles. In this architectural prototyping process, we address the difficult issue of identifying and evolving functional components in the architecture and point to an architectural strategy a set of architectures, their context and evolution-that was helpful in this respect.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"162 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124537808","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Dynamic geospatial image mosaics using JAVA, JAI, RMI and CORBA","authors":"J. Hildebrandt, R. Hollamby","doi":"10.1109/TOOLS.1999.809430","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809430","url":null,"abstract":"Command Control, Computers, Communications, Intelligence, and Surveillance (C4ISR) systems make extensive use of geospatial and image based information. Map displays and aerial photography are often used as the backdrop for the display of other information in systems to assist in providing situation awareness. Given the desire to have high-resolution information, the volume and variety of geospatial information is increasing. Both commercial and experimental systems are being developed to manage, serve and process these large volumes of image and geospatial information. This paper describes the development of a dynamic server that communicates with an experimental CORBA based backend image repository, and to a JAVA map display client to deliver a virtual mosaic of the imagery within the displayed region. Since imagery is not always stored in georeferenced form we have had to provide a processing chain that maps the image coordinates to the map coordinates for display. This is implemented using the JAVA Advanced imaging library. To reduce the footprint of the client the dynamic server that processes the imagery from the backend repository can be distributed off of the client system via an RMI connection. To maximise the interactive performance of this application various types of caching of queries and image data have been implemented.","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"56 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114050725","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Extending a method of devising software contracts","authors":"R. Mitchell, J. McKim","doi":"10.1109/TOOLS.1999.809429","DOIUrl":"https://doi.org/10.1109/TOOLS.1999.809429","url":null,"abstract":"Classes in object-oriented programs can be specified using assertions, specifically, preconditions and postconditions on individual methods and invariants on whole classes. Such assertions can be seen as forming a contract between a class and its client classes and, by extension, between the developers of class and the developers of client classes. In some programming environments, the contracts can be checked at runtime. A published method of devising contracts is applied to a small framework based on the observer pattern, raising a number of problems of writing contracts for a set of collaborating classes, rather than for individual classes such as those formed in data structure libraries. As well as providing an example of tackling such problems, the paper identifies desirable extensions to the method of devising contracts, to address aspects of performance (keeping the run-time cost of evaluating preconditions low); privacy (ensuring that one client of a class cannot discover the identities of other clients); extensibility (allowing subclasses to weaken preconditions without invalidating existing postconditions, and allowing subclasses to adopt different frame rules); and kinds of constraints (distinguishing physical and logical constraints).","PeriodicalId":272695,"journal":{"name":"Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127642990","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}