With significant advances in software development technologies in recent years, it is now possible to have complex software applications, which include a large number of heterogeneous software components distributed over a large network of computers with different computational capabilities. To run such applications, their components must be instantiated on proper hardware resources in their target environments so that some requirements and constraints are met. This process is called software deployment. For large, distributed, component-based applications with many constraints and requirements, it is difficult to do the deployment process manually, and some automated tools and techniques are required. This paper presents a graph-based approach for this purpose that is not dependent on any specific component technology and does the deployment planning with respect to the communication resources required by application components and communication resources available on the hosts in the target environment. In our approach, component-based applications and distributed environments are modeled with the help of graphs. Deployment of an application is then defined as the mapping of the application graph to the target environment graph
{"title":"Deploying loosely coupled, component-based applications into distributed environments","authors":"A. Heydarnoori, F. Mavaddat, F. Arbab","doi":"10.1109/ECBS.2006.34","DOIUrl":"https://doi.org/10.1109/ECBS.2006.34","url":null,"abstract":"With significant advances in software development technologies in recent years, it is now possible to have complex software applications, which include a large number of heterogeneous software components distributed over a large network of computers with different computational capabilities. To run such applications, their components must be instantiated on proper hardware resources in their target environments so that some requirements and constraints are met. This process is called software deployment. For large, distributed, component-based applications with many constraints and requirements, it is difficult to do the deployment process manually, and some automated tools and techniques are required. This paper presents a graph-based approach for this purpose that is not dependent on any specific component technology and does the deployment planning with respect to the communication resources required by application components and communication resources available on the hosts in the target environment. In our approach, component-based applications and distributed environments are modeled with the help of graphs. Deployment of an application is then defined as the mapping of the application graph to the target environment graph","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"117 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128175297","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}
In this paper, we present a real-time analysis for complex distributed systems. The event stream model describes the occurrences of events within arbitrary time intervals. We propose a method to explore the modification of these occurrences as the events are processed within a complex task system. By observing the effects of several tasks competing for the same resource, additional insight can be won on the density of the events generated by the individual tasks
{"title":"Modifications on event streams for the real-time analysis of distributed fixed-priority systems","authors":"S. Kollmann, K. Albers, F. Bodmann, F. Slomka","doi":"10.1109/ECBS.2006.51","DOIUrl":"https://doi.org/10.1109/ECBS.2006.51","url":null,"abstract":"In this paper, we present a real-time analysis for complex distributed systems. The event stream model describes the occurrences of events within arbitrary time intervals. We propose a method to explore the modification of these occurrences as the events are processed within a complex task system. By observing the effects of several tasks competing for the same resource, additional insight can be won on the density of the events generated by the individual tasks","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126945022","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}
Steffen Kern, Torsten Dettborn, R. Eckhaus, Yang Ji, C. Erfurth, W. Rossak, Peter Braun
This paper describes our approach for changing the way supply chain management is performed today. We aim to support human interactors with software assistants which will perform most of the tedious tasks like negotiating on new contracts, handling and altering production workflows or managing the stock. Additionally, our assistants will have the ability to move from one machine to another allowing a more flexible transfer of information and new ways for handling specific tasks. The owner of those assistants can be informed at any time by allowing its representative to move back to his notebook, PDA or mobile phone and presenting some results. Or the assistant may ask for advice in case of an error
{"title":"Assistant-based mobile supply chain management","authors":"Steffen Kern, Torsten Dettborn, R. Eckhaus, Yang Ji, C. Erfurth, W. Rossak, Peter Braun","doi":"10.1109/ECBS.2006.25","DOIUrl":"https://doi.org/10.1109/ECBS.2006.25","url":null,"abstract":"This paper describes our approach for changing the way supply chain management is performed today. We aim to support human interactors with software assistants which will perform most of the tedious tasks like negotiating on new contracts, handling and altering production workflows or managing the stock. Additionally, our assistants will have the ability to move from one machine to another allowing a more flexible transfer of information and new ways for handling specific tasks. The owner of those assistants can be informed at any time by allowing its representative to move back to his notebook, PDA or mobile phone and presenting some results. Or the assistant may ask for advice in case of an error","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"88 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130314687","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}
Chengwan He, Zhijie Nie, Bifeng Li, Lianlian Cao, K. He
Dynamic object roles are widely considered to be helpful to conceptual modeling of application. This paper presents an approach to role implementation based on mediator pattern, which is used to object behavior extension in class-based language. We present a prototypical implementation of the approach by extending the Java language, called Rava. In the approach, role management (generation of role object, dynamic binding of core object and role etc.) is implemented by mediator object, which reduces complexity of client program. At the same time, the binding relationship between core object and role is also saved in mediator object, which reduces the coupling between core object and role and is helpful to improving their reusability. We have developed a Rava to Java translator which makes Rava sources executable on every Java virtual machine. Our Approach can also be used to extend other class-based language
{"title":"Rava: designing a Java extension with dynamic object roles","authors":"Chengwan He, Zhijie Nie, Bifeng Li, Lianlian Cao, K. He","doi":"10.1109/ECBS.2006.57","DOIUrl":"https://doi.org/10.1109/ECBS.2006.57","url":null,"abstract":"Dynamic object roles are widely considered to be helpful to conceptual modeling of application. This paper presents an approach to role implementation based on mediator pattern, which is used to object behavior extension in class-based language. We present a prototypical implementation of the approach by extending the Java language, called Rava. In the approach, role management (generation of role object, dynamic binding of core object and role etc.) is implemented by mediator object, which reduces complexity of client program. At the same time, the binding relationship between core object and role is also saved in mediator object, which reduces the coupling between core object and role and is helpful to improving their reusability. We have developed a Rava to Java translator which makes Rava sources executable on every Java virtual machine. Our Approach can also be used to extend other class-based language","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"17 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114017331","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}
This paper presents a new strategy for design space exploration (DSE) of system-on-chip (SOC) platforms. The solution adopted uses a multi-objective optimization technique based on the concept of Pareto-optimality. The approach is purely heuristic and is a variation of the "simulated annealing" algorithm. To illustrate and validate our methodology the algorithm was used to design a highly parameterized SOC architecture based on a MIPS processor. The performance metrics used to assess the quality of the numerous design alternatives explored are power consumption and execution time. The results obtained demonstrate the robustness of the proposed method both in terms of design time and accuracy
{"title":"Multi-objective design space exploration methodologies for platform based SOCs","authors":"C. Talarico, E. Rodriguez-Marek, Min-Sung Koh","doi":"10.1109/ECBS.2006.53","DOIUrl":"https://doi.org/10.1109/ECBS.2006.53","url":null,"abstract":"This paper presents a new strategy for design space exploration (DSE) of system-on-chip (SOC) platforms. The solution adopted uses a multi-objective optimization technique based on the concept of Pareto-optimality. The approach is purely heuristic and is a variation of the \"simulated annealing\" algorithm. To illustrate and validate our methodology the algorithm was used to design a highly parameterized SOC architecture based on a MIPS processor. The performance metrics used to assess the quality of the numerous design alternatives explored are power consumption and execution time. The results obtained demonstrate the robustness of the proposed method both in terms of design time and accuracy","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129617987","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}
A critical issue for complex component-based systems design is the modeling and analysis of architecture. Architectural specifications of software systems show them as a collection of interrelated components, and constitute what has been called the software architecture level of software design. However, since most of software architecture modeling tools, such as rational software architecture (RSA), run as stand-alone programs, there are still some inconveniency and incapability in fields of team designing and data management. The JArchiDesigner System was designed as efficient, secure, and manageable networking JArchiDesigner system to support collaborative design process. With the JArchiDesigner System, multiple users are able to concurrently access and manipulate the same software architecture information stored in a server machine. This paper discusses the software architecture design and implementation of JArchiDesigner System
{"title":"A collaboration-oriented software architecture modeling system $JArchiDesigner","authors":"Jiang Guo, Yuehong Liao, Behzad Parviz","doi":"10.1109/ECBS.2006.5","DOIUrl":"https://doi.org/10.1109/ECBS.2006.5","url":null,"abstract":"A critical issue for complex component-based systems design is the modeling and analysis of architecture. Architectural specifications of software systems show them as a collection of interrelated components, and constitute what has been called the software architecture level of software design. However, since most of software architecture modeling tools, such as rational software architecture (RSA), run as stand-alone programs, there are still some inconveniency and incapability in fields of team designing and data management. The JArchiDesigner System was designed as efficient, secure, and manageable networking JArchiDesigner system to support collaborative design process. With the JArchiDesigner System, multiple users are able to concurrently access and manipulate the same software architecture information stored in a server machine. This paper discusses the software architecture design and implementation of JArchiDesigner System","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114804684","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}
Software product lines (PLs) are large, complex systems, demanding high maintainability and enhanced flexibility. Nonetheless, in the state of the art PL methods, features are scattered and tangled throughout the system components, leading to poor maintainability. Additionally, the majority of PL methods support manual product composition, while the implementation of feature-level variability in PL products influences the system's conceptual integrity. Generative programming techniques do enhance flexibility, but on the cost of maintainability. The feature-architecture mapping (FArM) method provides a stronger mapping between features and the architecture. It is based on a series of transformations on the initial PL feature model. During these transformations, architectural components are derived, encapsulating the business logic of each transformed feature and having interfaces reflecting the feature interactions. The flexibility of FArM architectures is supported through the explicit integration of plug-in mechanisms. The methodology is evaluated in the context of a wireless handheld device PL
{"title":"The feature-architecture mapping (FArM) method for feature-oriented development of software product lines","authors":"P. Sochos, Matthias Riebisch, I. Philippow","doi":"10.1109/ECBS.2006.69","DOIUrl":"https://doi.org/10.1109/ECBS.2006.69","url":null,"abstract":"Software product lines (PLs) are large, complex systems, demanding high maintainability and enhanced flexibility. Nonetheless, in the state of the art PL methods, features are scattered and tangled throughout the system components, leading to poor maintainability. Additionally, the majority of PL methods support manual product composition, while the implementation of feature-level variability in PL products influences the system's conceptual integrity. Generative programming techniques do enhance flexibility, but on the cost of maintainability. The feature-architecture mapping (FArM) method provides a stronger mapping between features and the architecture. It is based on a series of transformations on the initial PL feature model. During these transformations, architectural components are derived, encapsulating the business logic of each transformed feature and having interfaces reflecting the feature interactions. The flexibility of FArM architectures is supported through the explicit integration of plug-in mechanisms. The methodology is evaluated in the context of a wireless handheld device PL","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"235 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115841202","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}
For several years, researchers have required the development of complex systems to be based on architectural models. Nevertheless, popular programming environments offer architecture related concepts, e.g. components and connectors, only as mere additions to object oriented programming. As a consequence, software is often cluttered with add-ons that are not application related. An important reason for sticking with object oriented languages seem to be indispensable features like encapsulation, inheritance and polymorphism. Therefore, it seems desirable to integrate these features into a programming model which, at the same time, offers built-in concepts for architecture oriented development. This paper presents a prototypical development platform which follows this idea. It is not based on objects but on the fundamental modeling concepts (FMC). As a special feature, it transparently integrates and enforces data consistency rules for distributed, concurrent systems
{"title":"A prototypical platform for architecture oriented development","authors":"P. Tabeling, Rasmus Hofmann","doi":"10.1109/ECBS.2006.14","DOIUrl":"https://doi.org/10.1109/ECBS.2006.14","url":null,"abstract":"For several years, researchers have required the development of complex systems to be based on architectural models. Nevertheless, popular programming environments offer architecture related concepts, e.g. components and connectors, only as mere additions to object oriented programming. As a consequence, software is often cluttered with add-ons that are not application related. An important reason for sticking with object oriented languages seem to be indispensable features like encapsulation, inheritance and polymorphism. Therefore, it seems desirable to integrate these features into a programming model which, at the same time, offers built-in concepts for architecture oriented development. This paper presents a prototypical development platform which follows this idea. It is not based on objects but on the fundamental modeling concepts (FMC). As a special feature, it transparently integrates and enforces data consistency rules for distributed, concurrent systems","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125701114","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}
Change types of dynamic system reconfiguration are presented in this paper. A system under evolution implements one or more of these general types within the context of the conditions that motivated the change and the concrete representations of that system. As a set, the types of change represent a comprehensive capability of how a component-based system may evolve. They are governed by system integrity characteristics that help to ensure overall system consistency in the face of change. A system model is employed to describe each change type using examples of global and local properties in the context of a financial analysis system. Based upon these descriptions, a metamodel of change types of dynamic system reconfiguration is presented as a series of UML class models
{"title":"Change types of dynamic system reconfiguration","authors":"James D'Arcy Walsh, F. Bordeleau, B. Selić","doi":"10.1109/ECBS.2006.28","DOIUrl":"https://doi.org/10.1109/ECBS.2006.28","url":null,"abstract":"Change types of dynamic system reconfiguration are presented in this paper. A system under evolution implements one or more of these general types within the context of the conditions that motivated the change and the concrete representations of that system. As a set, the types of change represent a comprehensive capability of how a component-based system may evolve. They are governed by system integrity characteristics that help to ensure overall system consistency in the face of change. A system model is employed to describe each change type using examples of global and local properties in the context of a financial analysis system. Based upon these descriptions, a metamodel of change types of dynamic system reconfiguration is presented as a series of UML class models","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"307 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123628927","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}
Product-line architectures (PLA)s are a paradigm for developing software families by customizing and composing reusable artifacts, rather than handcrafting software from scratch. Extensive testing is required to develop reliable PLAs. Each PLA may have hundreds of valid variants that can be constructed from the architecture's components. It is crucial that each of these variants be thoroughly tested to ensure the quality of these applications on multiple OS platforms and hardware configurations. Setting up test environments and running tests can become extremely complex and expensive as the number of variants and the complexity of their deployment and configuration increases. Once a variant is deemed ready for deployment and configuration in a production environment, it is crucial that these activities be done identically to the tested configurations and upholds the assumptions of the component developers. Rapidly setting up numerous distributed test environments and ensuring that they are deployed and configured correctly is hard. This poster paper presents FireAnt, which is a tool for the model-driven development (MDD) of PLA deployment plans
{"title":"FireAnt: a tool for reducing enterprise product line architecture deployment, configuration, and testing costs","authors":"Jules White, D. Schmidt","doi":"10.1109/ECBS.2006.43","DOIUrl":"https://doi.org/10.1109/ECBS.2006.43","url":null,"abstract":"Product-line architectures (PLA)s are a paradigm for developing software families by customizing and composing reusable artifacts, rather than handcrafting software from scratch. Extensive testing is required to develop reliable PLAs. Each PLA may have hundreds of valid variants that can be constructed from the architecture's components. It is crucial that each of these variants be thoroughly tested to ensure the quality of these applications on multiple OS platforms and hardware configurations. Setting up test environments and running tests can become extremely complex and expensive as the number of variants and the complexity of their deployment and configuration increases. Once a variant is deemed ready for deployment and configuration in a production environment, it is crucial that these activities be done identically to the tested configurations and upholds the assumptions of the component developers. Rapidly setting up numerous distributed test environments and ensuring that they are deployed and configured correctly is hard. This poster paper presents FireAnt, which is a tool for the model-driven development (MDD) of PLA deployment plans","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115794127","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}