Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2739011.2739013acmotherconferencesArticle/Chapter ViewAbstractPublication PageseuroplopConference Proceedingsconference-collections
research-article

OfficeFloor: using office patterns to improve software design

Published: 10 July 2013 Publication History

Abstract

OfficeFloor is a middleware framework that bases its design on the patterns occurring within an office. Re-using office patterns within software provides two improvements to software design. The first is improved performance tuning of applications operating within complex enterprise environments. Complex enterprise environments, such as Service-Oriented Architecture, require applications to interact with multiple downstream systems. Any one of these downstream systems may impact the application's performance. The improved performance tuning is a result of the office patterns enabling the use of multiple thread pools to isolate the performance impacts of each of these downstream systems. The second improvement is a middleware framework that enables early and continuous delivery of working code for Agile methodologies. The early and continuous delivery of working code is a result of the office patterns enabling inversion of control for methods. The inversion of control for methods enables building applications bottom-up. This bottom-up approach to building applications reduces the lead times involved with top-down software designs and also reduces the refactoring due to top-down software designs. The reduced lead times and reduced refactoring enables early and continuous delivery of working code for Agile methodologies.

References

[1]
Alexander, C., Ishikawa, S., and Silverstein, M. 1977. A Pattern Language: Towns, Buildings, Construction. Oxford University Press, New York.
[2]
Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B., Martin, R. C., Mellor, S., Schwaber, K., Sutherland, J., and Thomas, D. 2001. Manifesto for agile software development.
[3]
Chu, L., Shen, K., Tang, H., Yang, T., and Zhou, J. 2005. Dependency isolation for thread-based multi-tier internet services. In In Proc. of the IEEE INFOCOM, Miami FL. 796--806.
[4]
Davenport, T. H. 1998. Putting the enterprise into the enterprise system. Harvard Bus. Rev. 76, 4, 121--131.
[5]
De Albuquerque, J. and Christ, M. 2012. Revealing the sociotechnical complexity of business process modeling - an actor-network theory approach. In AMCIS. Association for Information Systems.
[6]
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[7]
Genevès, S. 2012. An Analysis of Web Servers Architectures Performances on Commodity Multicores. Rapport de recherche. Febuary.
[8]
Harji, A. 2010. Performance comparison of uniprocessor and multiprocessor web server architectures. Ph.D. thesis, University of Waterloo.
[9]
Hewitt, C. 2012. Actor model of computation: Scalable robust information systems. CoRR abs/1008.1459.
[10]
Hu, J. and Schmidt, D. C. 1999. Jaws: A framework for high-performance web servers. In In Domain-Specific Application Frameworks: Frameworks Experience by Industry. Wiley & Sons.
[11]
Iivari, J. 1995. Object-orientation as structural, functional and behavioural modelling: a comparison of six methods for object-oriented analysis. Information & Software Technology 37, 3, 155--163.
[12]
Joyent. 2013. Node.js v0.10.x. http://nodejs.org.
[13]
Larus, J. R. and Parkes, M. 2002. Using cohort scheduling to enhance server performance. 103--114.
[14]
Lauer, H. C. and Needham, R. M. 1979. On the duality of operating system structures. SIGOPS Operating Systems Review 13, 2, 3--19.
[15]
Lea, D. 1999. Concurrent Programming in Java. Second Edition: Design Principles and Patterns 2nd Ed. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[16]
Li, P. and Zdancewic, S. 2007. Combining events and threads for scalable network services implementation and evaluation of monadic, application-level concurrency primitives. In Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation. PLDI '07. ACM, New York, NY, USA, 189--199.
[17]
Lindsay, A., Downs, D., and Lunn, K. 2003. Business process - attempts to find a definition. Information and Software Technology 45, 15, 1015--1019.
[18]
Liu, D. and Deters, R. 2009. Service-oriented computing --- international conference on service oriented computing 2008 workshops. Springer-Verlag, Berlin, Heidelberg, Chapter The Reverse C10K Problem for Server-Side Mashups, 166--177.
[19]
McCormack, K., Willems, J., Bergh, J., Deschoolmeester, D., Willaert, P., Štemberger, M. I., Škrinjar, R., Trkman, P., Ladeira, M. B., Oliveira, M. P., Vuksic, V. B., and Vlahovic, N. 2009. A global investigation of key turning points in business process maturity. Business Process Management Journal 15, 5, 792--815.
[20]
Pandey, S. K., Singh, G. P., and Kansal, V. 2011. Study of object oriented analysis and design approach. Journal of Computer Science 7, 2, 143--147.
[21]
Pariag, D., Brecht, T., Harji, A., Buhr, P., Shukla, A., and Cheriton, D. R. 2007. Comparing the performance of web server architectures. In Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007. EuroSys '07. ACM, New York, NY, USA, 231--243.
[22]
Patig, S., Casanova-Brito, V., and Vögeli, B. 2010. It requirements of business process management in practice - an empirical study. In Proceedings of the 8th international conference on Business process management. BPM'10. Springer-Verlag, Berlin, Heidelberg, 13--28.
[23]
Petriu, D. and Somadder, G. 1997. A pattern language for improving the capacity of layered client/server systems with multi-threaded servers.
[24]
Pyarali, I., Harrison, T., Schmidt, D. C., and Jordan, T. D. 1997. Proactor - an object behavioral pattern for demultiplexing and dispatching handlers for asynchronous events. Tech. rep., Washington University.
[25]
Reynolds, J. C. 1993. The discoveries of continuations. Lisp Symb. Comput. 6, 3--4, 233--248.
[26]
Robbins, S. and Judge, T. 2012. Organizational behavior 15th Ed. Pearson.
[27]
Sagenschneider, D. 2013. Officefloor version 2.13.0. http://www.officefloor.net.
[28]
Schmidt, D., Stal, M., Rohnert, H., and Buschmann, F. 2000. Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects. Wiley.
[29]
Schmidt, D. C. 1995. Reactor -- an object behavioral pattern for demultiplexing and dispatching handlers for synchronous events.
[30]
Serrano, M. 2009. Hop, a fast server for the diffuse web. In Proceedings of the 11th International Conference on Coordination Models and Languages. COORDINATION '09. Springer-Verlag, Berlin, Heidelberg, 1--26.
[31]
Smaragdakis, Y. and McNamara, B. 2000. Bridging functional and object-oriented programming. Tech. Rep. 00-27, College of Computing, Georgia Institute of Technology.
[32]
Sobernig, S. and Zdun, U. 2010. Inversion-of-control layer. In 15th European Conference on Pattern Languages of Programs (EuroPLoP).
[33]
Von Behren, R., Condit, J., Zhou, F., Necula, G. C., and Brewer, E. 2003. Capriccio: scalable threads for internet services. In Proceedings of the nineteenth ACM symposium on Operating systems principles. SOSP '03. ACM, New York, NY, USA, 268--281.
[34]
Welsh, M., Culler, D., and Brewer, E. 2001. Seda: an architecture for well-conditioned, scalable internet services. In Proceedings of the eighteenth ACM symposium on Operating systems principles. SOSP '01. ACM, New York, NY, USA, 230--243.

Cited By

View all
  • (2019)Synergy of Organizational Patterns and Aspect-Oriented Programming2019 IEEE 15th International Scientific Conference on Informatics10.1109/Informatics47936.2019.9119335(000439-000444)Online publication date: Nov-2019

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
EuroPLoP '13: Proceedings of the 18th European Conference on Pattern Languages of Program
July 2013
384 pages
ISBN:9781450334655
DOI:10.1145/2739011
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 July 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. inversion of control
  2. responsible thread pool
  3. task orchestration

Qualifiers

  • Research-article

Conference

EuroPLoP 2013

Acceptance Rates

EuroPLoP '13 Paper Acceptance Rate 24 of 36 submissions, 67%;
Overall Acceptance Rate 216 of 354 submissions, 61%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Synergy of Organizational Patterns and Aspect-Oriented Programming2019 IEEE 15th International Scientific Conference on Informatics10.1109/Informatics47936.2019.9119335(000439-000444)Online publication date: Nov-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media