Reducing the Complexity of Modeling Large Software Systems

Model-driven development is one approach to combating the complexity of designing software intensive systems. A model-driven approach allows designers to use domain notations to specify solutions and domain constraints to ensure that the proposed solutions meet the required objectives. Many domains, however, require models that are either so large or intricately constrained that it is extremely difficult to manually specify a correct solution. This chapter presents an approach to provide that leverages a constraint solver to provide modeling guidance to a domain expert. The chapter presents both a practical framework for transforming models into constraint satisfaction problems and shows how the Command Pattern can be used to integrate a constraint solver into a modeling tool.

[1]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[2]  Aniruddha S. Gokhale,et al.  Simplifying autonomic enterprise java bean applications via model-driven development: a case study , 2005, MoDELS'05.

[3]  Douglas C. Schmidt,et al.  Middleware for real-time and embedded systems , 2002, CACM.

[4]  David A. Basin,et al.  SecureUML: A UML-Based Modeling Language for Model-Driven Security , 2002, UML.

[5]  Martin Henkel,et al.  An Approach for E-Service Design using Enterprise Models , 2011, Int. J. Inf. Syst. Model. Des..

[6]  Pierre F. Tiako,et al.  Software Applications: Concepts, Methodologies, Tools, and Applications , 2009 .

[7]  Pascal Van Hentenryck,et al.  Strategic directions in constraint programming , 1996, CSUR.

[8]  Angélica de Antonio Jiménez,et al.  Software Engineering and HCI Techniques Joined to Develop Virtual Environments , 2003, ICSE Workshop on SE-HCI.

[9]  John A. Nelder,et al.  A Simplex Method for Function Minimization , 1965, Comput. J..

[10]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development (Reprint) , 2002, Software Pioneers.

[11]  Matthew L. Ginsberg A Circumscriptive Theorem Prover , 1989, Artif. Intell..

[12]  Gabor Karsai,et al.  Model-Integrated Computing , 1997, Computer.

[13]  Gabor Karsai,et al.  Smart Dust: communicating with a cubic-millimeter computer , 2001 .

[14]  Ljiljana Milic,et al.  Multirate Filtering for Digital Signal Processing: MATLAB Applications , 2008 .

[15]  Arthur H. M. ter Hofstede,et al.  What's in a service? Towards accurate description of non-functional service properties , 2002 .

[16]  John Zahorjan,et al.  The challenges of mobile computing , 1994, Computer.

[17]  Aniruddha S. Gokhale,et al.  Simplifying autonomic enterprise Java Bean applications via model-driven engineering and simulation , 2007, Software & Systems Modeling.

[18]  Ari Jaaksi,et al.  Developing Mobile Browsers in a Product Line , 2002, IEEE Softw..

[19]  Arthur H. M. ter Hofstede,et al.  What's in a Service? , 2002, Distributed and Parallel Databases.

[20]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..