Posts Tagged ‘DSL’

Running DSL on VMware Player

December 20th, 2011 No comments

DSL is an overloaded acronym standing for many different things. I first knew it as Digital Subscriber Line for Internet connection, and then Domain Specific Language. Recently I learnt a new one: Damn Small Linux. As you see the word small, you may think it’s for embedded system. It’s not.

Categories: Virtualization Tags: , ,

Alternatives to Domain Specific Languages

April 27th, 2011 2 comments

I have been reading Martin Fowler’s book Domain-Specific Language during last two months. Now I am not fully done with the book but have a good idea because the rest of the book is about individual DSL patterns, which I think are better read when used.

I got two key points from the book. One is that the key to DSL is semantic model (“The semantics of a program is what it means – that is, what it does when it executes”). You can implement semantic model as APIs/frameworks in system languages like Java. If you are confused by the question, “what is the difference between DSL and normal code on top of high level APIs?

VQL – A Domain Specific Language for Virtualization

February 26th, 2010 No comments

Last summer, Reflex VP engineering Aaron Bawcom visited VMware campus. He is one of the authors of Virtualization For Security: Including Sandboxing, Disaster Recovery, High Availability, Forensic Analysis, And Honeypotting.

During our talk, Aaron told me a secret project called VQL. Because it’s a secret, I didn’t talk about it to anyone. Just before the PEX 2010, we exchanged emails about the VQL. Aaron told me it’s already shipped. So it’s time to broadcast it.

VQL is a DSL that looks like SQL, easy to understand and easy to use. Unlike SQL on data, it’s on virtual resources in vSphere environment. The following is a quick sample. It gets back the VMs installed with SQL servers with verions newer than 9.2 and they are running 10 minutes ago.

SQL Server and VersionMajor >= 9 and VersionMinor >= 2 project vm at 10 minutes ago

Categories: vSphere API Tags: , ,