SSCLI: The Microsoft Shared Source CLI Implementation Mark Lewin Microsoft Research

Slides:



Advertisements
Similar presentations
Introduction to .NET Framework
Advertisements

.NET Framework Overview
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
SSCLI (Shared Source Common Language Infrastructure) (code name: Rotor)
History of.Net Introduced by Microsoft Earlier technology was VC++ and VB VC++ comes with so many library and VB was so easy to use and not flexible to.
.NET Framework Overview Pingping Ma Nov 16 th, 2006.
Henrico Dolfing Business Segment Partners. Océ Document Technologies GmbH2 June, NET Framework Version 3.0.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
.NET Technology.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
An overview of the SSCLI Distribution Mark Lewin Microsoft Research
.Net Overview Giuseppe Attardi Università di Pisa.
Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented.
Programming Our First Java Program Yingcai Xiao. What to Do Set up for Java Programming Write our first Java Program with IDE Write our first Java Program.
ISYS 512 Business Application Design and Development with.Net David Chao.
ISYS 512 Business Application Design and Development with.Net David Chao.
Intro to C# Language Richard Della Tezra IS 373. What Is C#? C# is type-safe object-oriented language Enables developers to build a variety of secure.
Rajeswari Indupuri Introduction to.NET Framework.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
ISYS 350 Business Application Development
Effective C# 50 Specific Way to Improve Your C# Item 50 Scott68.Chang.
Introduction to .Net Framework
ISYS 512 Business Application Design and Development with.Net David Chao.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering.
High thoughts must have high language. Aristophanes
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Session 1 - Introduction and Data Access Layer
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
C# A 1 CSC 298 Introduction to C#. C# A 2 What to expect in this class  Background: knowledge of an object oriented language of the C++, Java, … family.
.NET Framework & C#.
What is.NET?.NET is a "revolutionary new platform, built on open Internet protocols and standards, with tools and services that meld computing and communications.
Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a library for.
 Internet providing backbone for applications  Use of several web sites and devices to provide one complete solution  Software as services  Quick software.
Understanding Code Compilation and Deployment Lesson 4.
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
C# Overview and Features. Content I.History of C# II.Architecture III.How to install IV.Features V.Code Sample VI.Microsoft.NET Platform VII.Why use C#
ISYS 573 Special Topic – VB.Net David Chao. The History of VB Early 1960s:BASIC-Beginner’s All-Purpose Symbolic Instruction Code –Teaching –Simple syntax,
CS795/895: Introduction. Topics Distributed Systems –Availability –Performance –Web Services Security –Authentication –Authorization –Confidentiality.
.NET Framework Danish Sami UG Lead.NetFoundry
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Mono Update. Miguel de Icaza
ISYS 812 Business Software Development David Chao.
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
ISYS 350 Business Application Development David Chao.
Windows CE 시스템 개발 개요. 모바일운영체제 - Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle  The.
Advanced Computer Science Teaching with the Shared Source Common Language Infrastructure.
Key Components of.NET Framework  Common Language Runtime  CLR at Design time  CLR at Runtime  Class Library  Assemblies  Namespaces  ASP.NET  Applications.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Microsoft .NET A platform that can be used for building and running windows and web applications such that the software is platform and device-independent.
Architecture of.Net Framework. Multiple Language Support  IL (MSIL or CIL) – Intermediate Language  It is low-level (machine) language, like Assembler,
C# and.NET. .NET Architecture  Compiling and running code that targets.NET  Advantages of Microsoft Intermediate Language (MSIL)  Value and Reference.
Common Language Runtime Introduction  The common language runtime is one of the most essential component of the.Net Framework.  It acts.
July 22, 2001Introduction to.NET1 Introduction to.NET Framework Gholamali Semsarzadeh July 2001.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Common Language Infrastructure
Intro to ASP.NET CS-422 Dick Steflik. What is.NET As applications in the Enterprise become more and more netcentric and less and less standalone.NET is.
Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.
.NET Omid Darroudi.
An Introduction to the Shared Source Common Language Infrastructure (SSCLI) Damien Watkins Copyright Watkins 2002.
.Net A brief introduction to
Introduction to .NET Framework Ch2 – Deitel’s Book
.NET and .NET Core 2. .NET Runtimes Pan Wuming 2017.
Introduction to C# AKEEL AHMED.
Programming in C# CHAPTER 1
Advanced Programming: C# Lecture 01: Introduction
Introduction to .NET By : Mr. V. D. Panchal Content :
Overview of System Development for Windows CE.NET
Presentation transcript:

SSCLI: The Microsoft Shared Source CLI Implementation Mark Lewin Microsoft Research

Announcing: Availability of Microsoft Shared Source CLI Example implementation of full ECMA standards –334: C# language –335: Common Language Infrastructure (CLI) –242: ECMAScript language (JScript implementation) Non-commercial, source code distribution –Modifiable (and documented for modification) –Easy to re-distribute and share changes –First shipment: beta-quality, experimental code Cross-platform implementation –Code builds and runs on FreeBSD and Windows XP –Code designed to easily port to other platforms

“Shared Source” License Offering Part of Microsoft “shared source” access program –One of many source code distributions at Microsoft –Full access to code, including ability to modify and distribute modifications –Non-commercial use only (books, courseware, and/or websites that teach the CLI are included in this) Long-term investment –To seed the future of a strong technology industry –To enable better understanding of commercial product –To grow Microsoft’s development community –To improve feedback process by enabling deep input

A Guide for Implementers CLI and C# standards were written to enable third-party implementations –Shared source CLI is an example implementation –License allows for “safe” examination of code For implementers of CLI alternatives: –Augments large, complex spec with code –Proves that multiple platform support is possible –Demonstrates interoperability For compiler writers who want to target CLI: –JScript compiler shows dynamic techniques –C# compiler shows nearly all runtime features –IL Assembler shows low-level API implementation and use

Implemented for Teaching/Learning Many areas of interest (1.9 million lines of code) Advanced virtual execution environment for components –Flexible, powerful, access to underlying platform –Typesafe, yet language-agnostic, services (think: C runtime) Contains useful component-based frameworks –Standard programming constructs –Web-service oriented networking and remoting Contains compilers, tools, and utilities –C#, JScript, and IL JIT compilers –Assembler, disassembler, linker, debuggers –Configuration utilities –Extensive tests and build harness

Overview of the CLI A common type system… …and a specification for language integration (CLS) –Execution engine with garbage collector and exception handling –Integral security system with verification A factored class library –A “modern” equivalent to the C runtime An intermediate language –CIL: Common Intermediate Language A file format –PE/COFF format, with extensions –An extensible metadata system Access to the underlying platform

Example Teaching Topics Component-based programming Comparative languages/infrastructure –Language integration –Type systems Compiler internals, runtime internals Language topics: verification, security Asynchronous web services Industrial software engineering –Internationalization –Code structure and maintenance –Build and test harness

Potential Research Areas Proof-carrying code, reflective environments JIT-supported pre/post conditions Runtime layout, compaction, or rewriting of code/data High-level support for mobile/distributed computing Garbage collection and other memory management techniques Distributed computing –XML-based –Asynchronous –Concurrency, memory models, locking Others? You tell us!

Relationship of Shared Source CLI and.NET Frameworks (CLR) Both CLI and CLR implement complete ECMA Shared Source CLI superset of ECMA, subset of commercial.NET Frameworks Shared source CLI implementation differs: –JIT and garbage collector replaced with more portable, more approachable, implementations –Many Windows-specific features not included: COM interop, WinForms, and other integration –Commercial features not included, such as ADO.NET, enterprise services, NGEN (JIT-ahead), and ASP.NET

Community and Future Plans Shared source CLI will evolve over time –Additional drops coming from Microsoft –Desire for shared access to changes, patches, etc. –Plans not final – please give feedback! Active help for self-sustaining communities –Announcing today: grant program to seed research –Working with authors on books about implementation –Microsoft team will have presence in community Mailing lists and newsgroups –news:microsoft.public.shared_source.cli – net-sscli for mailing list and archive –Mailing list dotnet-rotor at discuss.develop.com

Where to get SSCLI MSDN Send me for a copy of the SSCLI Toolkit which includes tutorial

Questions?