Research Overview
Software Engineering and Systems Integration
Many organizations develop their information technology (IT) systems without considering their peer organizations. In fact, many organizations are considered to be peers well after the organizations has derived their capabilities.
Our work uses automated approaches to connect organizations by their IT systems even if they are unaware of other organizations a priori. Although the work is generally software engineering, we use a wide-array of techniques including, but not limited to, internet computing, natural language processing, information retrieval, intelligent information systems, database management, and knowledge discovery. Recent projects are listed below.
Service-oriented Software Engineering
Since next generation IT development deals more with integrating existing software than creating new applications, we investigage new software engineering lifecycles for this domain. In current work, we have developed a new lifecycle for the integrating internet-based services into higher level capabilities or workflow.
Pertinent references:
-
Saleh, I., Kulczycki, G., and Blake, M.B., “Static Detection of Implementation Errors Using Formal Code Specification” (under review)
Blake, M.B., and Bartalos, P. " Service-Oriented Software Engineering Lifecycles: Methodologies and Operations for Adaptability in Enterprise Settings”, in Engineering Adaptive and Resilient Computing Systems , CRC Press (to appear), 2012 - Blake, M.B. “Semi-Automated Lifecycles for Eliciting Requirements for Service-Oriented Environments” in Service Life Cycle Tools and Technologies: Methods, Trends, and Advances, IGI Global (to appear), 2011
- Blake, M.B. and Singh, L. “Software Engineering for Web Services Workflow Systems”, Special Issue on Software Engineering for Service-oriented Architecture, International Journal on Software Engineering and Knowledge Engineering, Vol. 18, No. 2, pp 157-178, March 2008
- Blake, M.B and Huhns, M. “Web-Scale Workflow: Integrating Distributed Services”, IEEE Internet Computing, Vol. 12, no. 1, 2008, pp. 55-59Jan/Feb 2008
- Blake, M.B. “Decomposing Composition: Service-Oriented Software Engineers”, Special Issue on Realizing Service-Centric Software Systems, IEEE Software, Vol. 24, No. 6, pp 68-77, Nov/Dec 2007
- Blake, M.B. “A Lightweight Software Design Process for Web Services Workflows” 4th IEEE International Conference on Web Services (ICWS 2006)
Innovative Applications of Software-as-a-Service (e.g. Cloud Computing, Energy-Efficient Computing, and Internet of Things)
Modularity in distributed software is not a new concept. However, our work introduces new automated software engineering techniques where software can be modularized and applied to capabilities in emerging settings. In one project we are investigating the ability to model and control services across commodity clusters or clouds. We are developing new ways to discover capabilities while federating them across cloud providers. Another projectlooks to integrate services with robotics. Latest work attempts to model the power consumption of individual sets of web services to provide energy-aware control over cloud environments.
Pertinent references:
Bartalos, P., Blake, M.B, and Remy, S. “Green Web Services: Models for Energy-Aware Web Services and Applications”, IEEE International Conference on Web Service, June 2012
Wei, Y. and Blake, M.B. “An Agent-based Services Framework with Adaptive Monitoring in Cloud Environments”, Proceedings of the 21st IEEE International Conference on Collaboration Technologies and Infrastructures (WETICE 2012), IEEE Press, Toulousse, France, June 2012 Best Student Paper Award
Blake, M.B., Remy, S., Wei, Y., Howard, A. “Robots on the Web: Service-Oriented Computing and Web Interfaces”, Special Issue: Towards a WWW for Robots, IEEE Robotics and Automation, Vol. 18, No 2., pp 33-43, 2011
Remy, S. and Blake, M.B. “Distributed Service-Oriented Robotics”, IEEE Internet Computing, March/April 2011
Wei, Y. and Blake, M.B. “Service-Oriented Computing and Cloud Computing: Challenges and Opportunities” , IEEE Internet Computing, Vol. 14, No. 6, Nov/Dec 2010
Visualizing Inter-Organizational IT Systems and Services
Most organizational IT systems are large, distributed, and just plain ugly. Documents that describe the systems are outdated, applications reside on a multitude of distributed operating environments, and functionality is largely unknown when considering the overall enterprise. Our work attempts to "make sense" of these environments using automated software engineering approaches. Leveraging a knowledge of internet environments and software engineering protocols, we attempt to (in an automatic or semi-automatic fashion) search and find specific processes and functions (service discovery), connect systems by their applications (service composition), or recommend places where multiple organization can integrate their services (service mashup and recommendation).
Pertinent references:
- Blake, M.B. and Nowlan, M.F. “Knowledge Discovery in Services (KDS): Aggregating Software Services to Provide Complementary Data” IEEE Transactions on Knowledge and Data Engineering), 2011
- Goarany, K., Kulczycki, G., and Blake, M.B “Mining Social Tags to Predict Mashup Patterns”, SMUC workshop @ CIKM 2010
- Blake, M.B. and Nowlan, M.F. “Taming Web Services from the Wild”, IEEE Internet Computing Vol. 12, no. 5, 2008, pp. 62-69,Sept/Oct 2008
- Blake, M.B. and Nowlan, M.F. “Recommending Web Services via an Agent Federation”, Special Issue on New Tendencies for Web Services and Multi-agent Systems, International Transactions on Systems Science and Applications, Vol. 3, No. 2, August 2007, pp 133-144
- ** Blake, M.B., Kahan, D.R., and Nowlan, M.F. “Context-Aware Agents for User-Oriented Service Discovery and Execution” Special Issue on Context-Based Web Services, Distributed and Parallel Databases, Vol. 21, No. 7, pp 39-58, February 2007
- Blake, M.B. and Nowlan, M.F. “Predicting Service Mashup Candidates Using Enhanced Syntactical Message Management”, IEEE International Conference on Services Computing (SCC 2008), Honolulu, Hawaii, July 2008
Fig 1. A Process for Recommending Shared Services