5,423 research outputs found

    Automating embedded analysis capabilities and managing software complexity in multiphysics simulation part I: template-based generic programming

    Full text link
    An approach for incorporating embedded simulation and analysis capabilities in complex simulation codes through template-based generic programming is presented. This approach relies on templating and operator overloading within the C++ language to transform a given calculation into one that can compute a variety of additional quantities that are necessary for many state-of-the-art simulation and analysis algorithms. An approach for incorporating these ideas into complex simulation codes through general graph-based assembly is also presented. These ideas have been implemented within a set of packages in the Trilinos framework and are demonstrated on a simple problem from chemical engineering

    Working Notes from the 1992 AAAI Workshop on Automating Software Design. Theme: Domain Specific Software Design

    Get PDF
    The goal of this workshop is to identify different architectural approaches to building domain-specific software design systems and to explore issues unique to domain-specific (vs. general-purpose) software design. Some general issues that cut across the particular software design domain include: (1) knowledge representation, acquisition, and maintenance; (2) specialized software design techniques; and (3) user interaction and user interface

    Addressing the evolution of automated user behaviour patterns by runtime model interpretation

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/s10270-013-0371-3The use of high-level abstraction models can facilitate and improve not only system development but also runtime system evolution. This is the idea of this work, in which behavioural models created at design time are also used at runtime to evolve system behaviour. These behavioural models describe the routine tasks that users want to be automated by the system. However, usersÂż needs may change after system deployment, and the routine tasks automated by the system must evolve to adapt to these changes. To facilitate this evolution, the automation of the specified routine tasks is achieved by directly interpreting the models at runtime. This turns models into the primary means to understand and interact with the system behaviour associated with the routine tasks as well as to execute and modify it. Thus, we provide tools to allow the adaptation of this behaviour by modifying the models at runtime. This means that the system behaviour evolution is performed by using high-level abstractions and avoiding the costs and risks associated with shutting down and restarting the system.This work has been developed with the support of MICINN, under the project EVERYWARE TIN2010-18011, and the support of the Christian Doppler Forschungsgesellschaft and the BMWFJ, Austria.Serral Asensio, E.; Valderas Aranda, PJ.; Pelechano Ferragud, V. (2013). Addressing the evolution of automated user behaviour patterns by runtime model interpretation. Software and Systems Modeling. https://doi.org/10.1007/s10270-013-0371-3SWeiser, M.: The computer of the 21st century. Sci. Am. 265, 66–75 (1991)Serral, E., Valderas, P., Pelechano, V.: Context-adaptive coordination of pervasive services by interpreting models during runtime. Comput. J. 56(1), 87–114 (2013)Ajila, S.A., Alam, S.: Using a formal language constructs for software model evolution. In: Third IEEE International Conference on Semantic Computing (IEEE-ICSC 2009). Berkeley, CA, USA, pp. 390–395 (2009)Bennett, K., Rajlich, V.: Software Maintenance and Evolution: A Roadmap. In: 22nd International Conference on Software Engineering (ICSE 2000). Limerick, Ireland, pp. 75–87 (2000)Mens, T.: The ERCIM working group on software evolution: the past and the future. In: Proceedings of the Joint International and Annual ERCIM Workshops on Principles of Software Evolution (IWPSE) and Software Evolution (Evol) Workshops. ACM (2009)Mens, T., Wermelinger, M., Ducasse, S., Demeyer, S., Hirschfeld, R.: Challenges in software evolution. In: Report of the ChaSE 2005 Workshop Organised by the ERCIM Working Group on Software Evolution. IWPSE-05. Lisbon, Portugal, pp. 13–22 (2005)Hirschfeld, R., Kawamura, K., Berndt, H.: Dynamic service adaptation for runtime system extensions. In: Wireless On-Demand Network Systems, pp. 227–240. Springer, Berlin, Heidelberg, Madonna di Campiglio, Italy (2004)Lientz, B.P., Swanson, E.B.: Software maintenance management: a study of the maintenance of computer applications software in 487 data processing organizations. Addison-Wesley, Reading, MA (1980)Buckley, J., Mens, T., Zenger, M., Rashid, A., Kniesel, G.: Towards a taxonomy of software change. J. Softw. Maint. Evolut. Res. Pract. 17(5), 309–332 (2003)Hardian, B., Indulska, J., Henricksen, K.: Balancing autonomy and user control in context-aware systems—a survey. In: CoMoRea, IEEE PerCom Workshops 2006. (2006)Biegel, G., Cahill, V.: A framework for developing mobile, context-aware applications. In: The 2nd IEEE Conference on Pervasive Computing and Communication (PerCom), pp. 361–365 (2004)Hofer, T., Schwinger, W., Pichler, M., Leonhartsberger, G., Altmann, J.: Context-awareness on mobile devices—the hydrogen approach. In: The 36th Annual Hawaii International Conference on System Sciences, pp. 292–302 (2002)Dey, A.K.: Understanding and using context. Pers. Ubiquitous Comput. 5(1), 4–7 (2001)Sheng, Q.Z., Benatallah, B.: ContextUML: a UML-based modelling language for model-driven development of context-aware web services. In: Proceedings of the International Conference on Mobile, Business (ICMB’05). pp. 206–212 (2005)Henricksen, K., Indulska, J.: A software engineering framework for context-aware pervasive computing. In: Proceedings of the Second IEEE Annual Conference on Pervasive Computing and Communications (PerCom 2004), pp. 77–86. IEEE, Orlando, FL, USA (2004)Baldauf, M., Dustdar, S., Rosenberg, F.: A survey on context-aware systems. Int. J. Ad Hoc Ubiquitous Comput. 2(4), 263–277 (2007)Ye, J., Coyle, L., Dobson, S., Nixon, P.: Ontology-based models in pervasive computing systems. Knowl. Eng. Rev. 22(4), 315–347 (2007)Chen, H., Finin, T., Joshi, A.: An ontology for context-aware pervasive computing environments. Special Issue on Ontologies for Distributed Systems. Knowl. Eng. Rev. 18(3), 197–207 (2004)Welty, C., McGuinness, D.L.: OWL Web Ontology Language Guide. vol. W3C Recomm. W3C Recommendation 10 Feb 2004 (2004)Shepherd, A.: HTA as a framework for task analysis. Ergonomics 41, 1537–1552 (1998)Serral, E., Valderas, P., Pelechano, V.: Towards the model driven development of context-aware pervasive systems. Special Issue on Context Modelling, Reasoning and Management. PMC 6(2), 254–280 (2010)Serral, E.: Automating Routine Tasks in Smart Environments. A Context-aware Model-driven Approach, Technical University of Valencia (2011)Mellor, S.J., Balcer, M.J.: Executable UML: A Foundation for Model Driven Architecture. Addison-Wesley, Indianapolis (2002)Muñoz, J., Ferragud, D.V.P.: Model Driven Development of Pervasive Systems. Building a Software Factory. Universidad PolitĂ©cnica de Valencia, Valencia (2008)Juric, M.B., Sarang, P.: Business Process Execution Language for Web Services: BPEL and BPEL4WS (2006)Loke, S.W., Smanchat, S., Ling, S., Indrawan, M.: Formal mirror models: an approach to just-in-time reasoning for device ecologies. Int. J. Smart Home 2(1), 15–32 (2008)Code Generation conference. http://www.codegeneration.net/cg2010/ (2010)Guy, M.: Report 2: API Good Practice Good practice for provision of and consuming APIs. UKOLN (2009)Bloch, J.: How to design a good API and why it matters. pp. 506–507 (2005)Sirin, E., Parsia, B., Grau, B.C., Kalyanpur, A., Katz, Y.: Pellet: A practical OWL-DL reasoner. J. Web Semant. 5(2), 51–53 (2007)Bernstein, P.: Multiversion concurrency control—theory and algorithms. ACM Trans. Database Syst. 8(4), 465–484 (1983)Cooper, S., Dann, W., Pausch, R.: Alice: a 3-D tool for introductory programming concepts. J. Comput. Sci. Coll. 15, 107–116 (2000)PĂ©rez, F., Valderas, P.: Allowing end-users to actively participate within the elicitation of pervasive system requirements through immediate visualization. In: Fourth International Workshop on Requirements Engineering Visualization (REV), pp. 31–40. IEEE, Atlanta, Georgia, USA (2009)Lieberman, H., PaternĂł, F., Wulf, V.: End User Development. Springer, Dordrecht (2006)Nielsen, J.: Usability Engineering. Morgan Kaufmann Publishers Inc, San Francisco (1993)Van Welie, M., TrĂŠtteberg, H.: Interaction Patterns in User, Interfaces. pp. 13–16 (2000)Galitz, W.O.: The Essential Guide to User Interface Design: An Introduction to GUI Design Principles and Techniques. Wiley, New York (2002)Kitchenham, B., Pickard, L., Pfleeger, S.L.: Case studies for method and tool evaluation. Softw. IEEE 12(4), 52–62 (1995)Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., WesslĂ©n, A.: Experimentation in Software Engineering. Springer, Berlin (2012)Jones, J.V.: Applied software measurement: assuring productivity & quality (2nd ed’97). McGraw-Hill, New York (1997)Strang, T., Linnhoff-Popien, C.: A context modeling survey. In: First International Workshop on Advanced Context Modelling, Reasoning And Management at UbiComp (2004)Lewis, J.R.: Psychometric Evaluation of an After-Scenario Questionnaire for Computer Usability Studies? The ASQ. SIGCHI Bulletin (1991)Cook, D.J., Youngblood, M., Heierman, I.I.I.E.O., Gopalratnam, K., Rao, S., Litvin, A., Khawaja, F.: MavHome: An Agent-based Smart Home. In: First IEEE International Conference on Pervasive Computing and, Communications (PerCom’03), pp. 521–524 (2003)Hagras, H., Callaghan, V., Colley, M., Clarke, G., Pounds-Cornish, A., Duman, H.: Creating an ambient-intelligence environment using embedded agents. IEEE Intell. Syst. 19(6), 12–20 (2004)Rashidi, P., Cook, D.J.: Keeping the resident in the loop: adapting the smart home to the user. IEEE Trans. Syst. Man Cybern. 39(5), 949–959 (2009)Webb, G.I., Pazzani, M.J., Billsus, D.: Machine learning for user modeling. User model. User-Adapt Interact. 11(1–2), 19–29 (2001)Valiant, L.G.: A theory of the learnable. Commun. ACM 27(11), 1134–1142 (1984)Serral, E., Valderas, P., Pelechano, V.: (2011) Improving the cold-start problem in user task automation by using models at runtime. In: Information Systems Development, pp. 671–683. (2011)GarcĂ­a-Herranz, M., Haya, P.A., Esquivel, A., Montoro, G., AlamĂĄn, X.: Easing the smart home: semi-automatic adaptation in perceptive environments. J. Univers. Comput. Sci. 14(9), 1529–1544 (2008)Henricksen, K., Indulska, J., Rakotonirainy, A.: Using context and preferences to implement self-adapting pervasive computing applications. Sofw. Pract. Exp. 36(11–12), 1307–1330 (2006)Johnson, P.: Tasks and situations: considerations for models and design principles in human computer interaction, pp. 1199–1204. HCI International. Munich, Germany (1999)Cook, D.J., Das, S.K.: Smart environments: technologies, protocols, and applications, vol. 43. Wiley-Interscience, New York (2005)PaternĂČ, F.: ConcurTaskTrees: an Engineered approach to model-based design of interactive systems. In: The Handbook of Analysis for Human-Computer Interaction, pp. 483–500 (2002)Pribeanu, C., Limbourg, Q., Vanderdonckt1, J.: Task modelling for context-sensitive user interfaces. In: Interactive Systems: Design, Specification, and Verification (DSV-IS), pp. 49–68. Springer, Berlin, Heidelberg 2001, Glasgow, Scotland, UK (2001)Souchon, N., Limbourg, Q., Vanderdonckt., J.: Task modelling in multiple contexts of use. In: Interactive Systems: Design, Specification, and Verification (DSV-IS), pp. 59–73 (2002)Huang, R., Cao, Q., Zhou, J., Sun, D., Su, Q.: Context-aware active task discovery for pervasive computing. In: International Conference on Computer Science and Software Engineering, pp. 463–466. IEEE, Wuhan, China (2008)Sousa, J.P., Poladian, V., Garlan, D., Schmerl, B.: Task-based adaptation for ubiquitous computing. IEEE Trans. Syst. Man Cybern. 36(3), 328–340 (2006)Masuoka, R., Parsia, B., Labrou, Y.: Task Computing—The Semantic Web Meets Pervasive Computing. In: 2nd International Semantic Web Conference on the Semantic Web (ISWC 2003), pp. 866–881. vol. LNCS 2870. Sanibel Island, FL, USA (2003)Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., Wolf, A.L.: An architecture-based approach to self-adaptive software. IEEE Intell. Syst. Their Appl. 14(3), 54–62 (1999)Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., GjĂžrven, E.: Using Architecture Models for Runtime Adaptability. IEEE Software. 23(2), 62–70 (2006)Morin, B., JĂ©zĂ©quel, J.-M., Fleurey, F., Solberg, A.: Models at runtime to support dynamic adaptation. IEEE Comput. Soc. pp. 46–53 (2009)Cetina, C., Giner, P., Fons, J., Pelechano, V.: Using feature models for developing self-configuring smart homes. In: Fifth International Conference on Autonomic and Autonomous Systems, pp. 179–188. IEEE, Valencia, Spain (2009)Garlan, D., Schmerl, B.: Using architectural models at runtime: research challenges. In: Proceedings of the European Workshop on Software Architectures, pp. 200–205. Springer, Berlin, Heidelberg, St Andrews, UK (2004)Blumendorf, M., Lehmann, G., Feuerstack, S., Albayrak, S.: Executable models for human-computer interaction. In: Interactive Systems, Design, Specification, and Verification Workshop (DSV-IS 2008), pp. 238–251. Springer Berlin Heidelberg, Kingston, Canada (2008)Ballagny, C., Hameurlain, N., Barbier, F.: MOCAS: a state-based component model for self-adaptation. In: Third IEEE International Conference on Self-Adaptive and Self-Organizing Systems, pp. 206–215. IEEE, San Francisco, California (2009)Amoui, M., Derakhshanmanesh, M., Ebert, J., Tahvildari, L.: Achieving dynamic adaptation via management and interpretation of runtime models. J. Syst. Softw. 85(12), 2720–2737 (2012)Blair, G., Bencomo, N., France, R.B.: [email protected]. IEEE Comput. 42, 22–27 (2009)Zhang, J., Cheng, B.H.C.: Model based development of dynamically adaptive software. In: International Conference on Software Engineering (ICSE’06), pp. 371–380. ACM, Shanghai, China (2006

    Application Acceleration on FPGAs with OmpSs@FPGA

    Get PDF
    © 2019 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.OmpSs@FPGA is the flavor of OmpSs that allows offloading application functionality to FPGAs. Similarly to OpenMP, it is based on compiler directives. While the OpenMP specification also includes support for heterogeneous execution, we use OmpSs and OmpSs@FPGA as prototype implementation to develop new ideas for OpenMP. OmpSs@FPGA implements the tasking model with runtime support to automatically exploit all SMP and FPGA resources available in the execution platform. In this paper, we present the OmpSs@FPGA ecosystem, based on the Mercurium compiler and the Nanos++ runtime system. We show how the applications are transformed to run on the SMP cores and the FPGA. The application kernels defined as tasks to be accelerated, using the OmpSs directives are: 1) transformed by the compiler into kernels connected with the proper synchronization and communication ports, 2) extracted to intermediate files, 3) compiled through the FPGA vendor HLS tool, and 4) used to configure the FPGA. Our Nanos++ runtime system schedules the application tasks on the platform, being able to use the SMP cores and the FPGA accelerators at the same time. We present the evaluation of the OmpSs@FPGA environment with the Matrix Multiplication, Cholesky and N-Body benchmarks, showing the internal details of the execution, and the performance obtained on a Zynq Ultrascale+ MPSoC (up to 128x). The source code uses OmpSs@FPGA annotations and different Vivado HLS optimization directives are applied for acceleration.This work is partially supported by the European Union H2020 program through the EuroEXA project (grant 754337), and HiPEAC (GA 687698), by the Spanish Government through Programa Severo Ochoa (SEV-2015- 0493), by the Spanish Ministry of Science and Technology (TIN2015-65316-P) and the Departament d’InnovaciĂł Universitats i Empresa de la Generalitat de Catalunya, under project MPEXPAR: Models de ProgramaciĂł i Entorns d’ExecuciĂł Paral·lels (2014-SGR-1051).Peer ReviewedPostprint (author's final draft
    • 

    corecore